Jump to content

Theme Service (intro info DB)


TeamB

Recommended Posts

TeamB

https://themeservice.azurewebsites.net/

What is it?

It is a site to host tv show intro theme (audio) chromaprint (https://acoustid.org/chromaprint) data to be used in auto detecting intros.
It hosts just the chromaprint data which is a small (in comparison to the source audio) fingerprint of the audio that you want to detect, in this case the intro theme audio.
The ChapterApi plugin and the above site are a progression of the work from the audio fingerprint thread: 
https://emby.media/community/index.php?/topic/107878-audio-fringerprinting-chromaprint-segment-detection/

How do you use it?

The main way is to allow the ChapterApi plugin to download all the available data from the site and use that data to search for intros in your tv shows.
You can manually search using the Intro Detect in the ChapterApi plugin. You can also let ChapterApi auto process new episodes as they are added.
For this to work the tv show you want to detect intros for needs to be in the Theme Service db, you can check this by searching for the tv show in search on  the site.
All matching is done using the IMDB id of the series/tv show.

What if the site does not have what I need?

You can manually mark one episode with IntroStart and IntroEnd chapters, extract the intro info and then use that in the detect tab to detect intros in all the episodes. This intro info file can then be added to the Theme Service site for you to use in the future or for others to use.

How do I add new items to the site?

You need to be logged in to submit new items to the site. It is currently using GitHub OAuth to log in, if you dont have a GitHub account just create one.
Added items are only editable by the person that submitted them, at the moment this is how it works, this is open for discussion.

 

  • Like 2
Link to comment
Share on other sites

TeamB

I revamped the editing and ownership a little. The original idea was if you add something you then owned it but that is just going to have a bunch of orphaned entries that no one is ever going to be able to edit/fix.

So I moved to a fully open model, anyone that is logged in can edit anything. To help with tracking and auditing of what was edited and by who each item now has a full history of all edits. Also you can not delete anything, just hide it, a hidden item will not show up in the standard search but you can search for hidden items and see who hid it and why.

I think for now I will let this sit for a while to see if anyone uses it and if there is any feedback.

Link to comment
Share on other sites

From my perspective this is a pretty nice solution and due to the collaboration character of it, it probably could speed up detection quite a bit for all of us.

I just gave it a shoot on 2 Broke Girls (S1E2) by downloading the JSON from S1E1 and the detection worked flawlessly.

If I got it right, currently the upload of the JSON files to the website needs to be done manually on the website itself, right?
Would it be possible to add a sort of upload button (individual for episode or season or even whole show) to the plugin to make it easier?

Can the upload of the chromaprints be a copyright issue?

Edit:
How do we get the JSON file for a new show or season if it is not within the DB yet?
This is not clear to me yet.

Edited by neik
Link to comment
Share on other sites

TeamB
6 minutes ago, neik said:

If I got it right, currently the upload of the JSON files to the website needs to be done manually on the website itself, right?

yes correct.

6 minutes ago, neik said:

Would it be possible to add a sort of upload button (individual for episode or season or even whole show) to the plugin to make it easier?

No, I will not be adding that level of integration. There are a few reasons but the main one is submitting data to a central systems like this from the plugin would need to be covered by any privacy clauses the emby has in place.

Also just to be clear you dont need to upload a intro info file for each episode, in fact you should only need one or at the most one per season if the theme music changes per season. These chromaprints should be able to detect all similar intros based on the same audio theme.

11 minutes ago, neik said:

Can the upload of the chromaprints be a copyright issue?

No, think if the chromaprint as a description of the audio, it is not the audio nor could the audio be reconstructed from the data. This is the same tech that music brains uses to identify songs.

Link to comment
Share on other sites

25 minutes ago, TeamB said:

Also just to be clear you dont need to upload a intro info file for each episode, in fact you should only need one or at the most one per season if the theme music changes per season. These chromaprints should be able to detect all similar intros based on the same audio theme.

Good point, one fingerprint per season should be doable even manually.

One question regarding the detection:
Do the chapters get inserted in the Emby DB so that they are usable for skipping the intros?
For me that doesn't seem to work as I can't see it in the Emby UI, only in the Chapter API table.

Here a couple of screenshots to illustrate:

Detection Job:

image.thumb.png.d889a1fabc2360aba077bddc82adeb15.png

Chapter API table:

image.thumb.png.8c2e1c7e95ad8fb56075c9bdb81a3133.png

Why aren't the download buttons available for E2?

Emby UI:

image.thumb.png.9ab87327730c26ee4f59d0c4faa0c76c.png


Sorry, for the many questions just trying to fully understand it. 🙂

Edit: Maybe you could also answer the question I added above:

42 minutes ago, neik said:

How do we get the JSON file for a new show or season if it is not within the DB yet?
This is not clear to me yet.

 

Edited by neik
Link to comment
Share on other sites

TeamB
15 minutes ago, neik said:

Do the chapters get inserted in the Emby DB so that they are usable for skipping the intros?

yes they should, they should be added with the correct marker type of IntroStart and IntroEnd

17 minutes ago, neik said:

For me that doesn't seem to work as I can't see it in the Emby UI, only in the Chapter API table.

IntroStart and IntroEnd chapter marker types are special and do not show up in the Web Client at all. However you should be given the option to skip when playing back.

This is part of the reason I wrote the ChapterAPI plugin so you could see and interact with all the chapters including these new hidden ones.

19 minutes ago, neik said:

Why aren't the download buttons available for E2?

This is because the chapters are too short, anything under 10 seconds is considered too short, this could be changed, it looks like there might be a few shows with short 10 sec intros. My thinking was at 10 seconds it would not be worth adding a skip as it is only 10 seconds. If people think 10 seconds is ok though then I can fix this and show the download/extract buttons.

22 minutes ago, neik said:

How do we get the JSON file for a new show or season if it is not within the DB yet?
This is not clear to me yet.

If you have at least the first episode, you can manually add some chapters to it using the ChapterApi editing, add IntroStart and IntroEnd for your one episode and then you can extract it and upload it to the site or just use it in a detect job.

 

  • Like 1
Link to comment
Share on other sites

2 hours ago, TeamB said:

IntroStart and IntroEnd chapter marker types are special and do not show up in the Web Client at all. However you should be given the option to skip when playing back.

Oh yes, you're right.
Just tested it and the button shows up as expected.
 

2 hours ago, TeamB said:

If people think 10 seconds is ok though then I can fix this and show the download/extract buttons.

That explains it, I think you should leave it up to the user if he wants to detect those short intros or not.
If there is an intro then the buttons should always be available imo.

 

2 hours ago, TeamB said:

If you have at least the first episode, you can manually add some chapters to it using the ChapterApi editing, add IntroStart and IntroEnd for your one episode and then you can extract it and upload it to the site or just use it in a detect job.

Thank you!


Regarding credits:
Is it possible to detect credits as well or is the current status limited to intros only?

Link to comment
Share on other sites

TeamB
59 minutes ago, neik said:

Is it possible to detect credits as well or is the current status limited to intros only?

this project is just for intros. There is another plugin for credits.

Link to comment
Share on other sites

I think I found a bug:

When using "Auto Chapter Create" the first chapter is created at minute 5.
To be consistent with Emby it should create a chapter a minute 0:00 (Chapter 1) and a second chapter at minute 5 (Chapter 2) and so on.
Now, it create Chapter 1 at minute 5.


 

13 minutes ago, TeamB said:

this project is just for intros. There is another plugin for credits.

After a quick search I couldn't find it.
Would you mind pointing me there, please?

Edited by neik
Link to comment
Share on other sites

TeamB
7 hours ago, neik said:

When using "Auto Chapter Create" the first chapter is created at minute 5.
To be consistent with Emby it should create a chapter a minute 0:00 (Chapter 1) and a second chapter at minute 5 (Chapter 2) and so on.
Now, it create Chapter 1 at minute 5.

This is just how it works, but i see your point, i will change this to start at the beginning.

7 hours ago, neik said:

After a quick search I couldn't find it.
Would you mind pointing me there, please?

The original IntroSkip plugin also did credit detection. I thought i saw that they were going to drop Intro detection and re release the plugin to be a credit detector. If you want that plugin you should create a thread over on the plugin forum and see what the current plan is.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...