Jump to content

Plugin - Chapter Editor (ChapterApi)


Recommended Posts

Posted

Hi as of today,  is there any issue on chapter API wont install / load, I Tried to reinstall it, delete the .dll on plugin fodlder and reinstall it, still it is not loading or not showing, before it is working fine.

 

Emby 4.8.10.0

Screenshot 2024-11-25 101608.jpg

embyserver.txt

  • 1 month later...
Posted

Hi there. I'm currently having this same issue. Any updates?

Posted (edited)

@Mac18
I did not see your post until just now, your log was showing an error loading the IntroInfo file:
/share/CACHEDEV1_DATA/Public/EMBY BACKUP/INTROS/theme_service_data.zip

There is a problem with that zip. I have added a fix to stop the crash, but data from that file will not be loaded and silently dropped.

@Mrioux
I dont know what your issue is, I dont have a log.

Edited by TeamB
fallenwitch3r
Posted

Is there an online database where you can download the start and end times of the intros into the chapter editor?

Posted
4 hours ago, fallenwitch3r said:

Is there an online database where you can download the start and end times of the intros into the chapter editor?

that is not how the plugin works, read the first post for an explanation. it detects the intro using audio fingerprint algorithms.

Posted

New Version : 1.3.0.11

new version to fix some IntroData loading errors from stopping the plugin from being loaded ay startup by Emby

  • Like 1
fallenwitch3r
Posted (edited)
5 hours ago, TeamB said:

that is not how the plugin works, read the first post for an explanation. it detects the intro using audio fingerprint algorithms.

I know But I thought it would be possible to import the data of already recognized series from other users 

Edited by fallenwitch3r
Posted
12 minutes ago, fallenwitch3r said:

I know But I thought it would be possible to import the data of already recognized series from other users 

How would that work? 

If it was ripped from an identifiably media (dvd/bd...)/region/version? maybe, but how to identify this?

But what a OTA/IPTV feed?

All of these may have a slightly different start/stop time so that would make the data inaccurate and more importantly very frustrating when it's wrong.

🙂

  • Agree 1
Posted (edited)
16 hours ago, fallenwitch3r said:

I know But I thought it would be possible to import the data of already recognized series from other users 

Wouldn't this explain how to share intros?

Quote

Sharing intro theme cp data

The sharded intro theme cp data is now hosted on GitHub

https://github.com/faush01/ThemeCpData

To use the hosted data in auto detection in the ChapterApi plugin, you can use the following URL in the "Intro Data External Url" on the options tab of the plugin:

https://github.com/faush01/ThemeCpData/archive/refs/heads/main.zip

Add the URL, hit download intro data, hit reload intro data and the intro cp data will be loaded for all the series you have that there is cp data for in the shared repository.

If you want to add more the to the shared repo, clone it, add your new into cp json items and do a pull request to have your new items merged in and available to others.

Just only one person added to it.

16 hours ago, TMCsw said:

How would that work? 

If it was ripped from an identifiably media (dvd/bd...)/region/version? maybe, but how to identify this?

But what a OTA/IPTV feed?

All of these may have a slightly different start/stop time so that would make the data inaccurate and more importantly very frustrating when it's wrong.

🙂

From my understanding of adding intros to my library, start and stop times don't matter once you have the chromaprint file. When you create a chromaprint file, it contains the audio data you clipped. I usually manually detect the start time to be about a second into the intro theme start, and try to be more accurate with the intro ending. This gives me a json file I drop into a folder on my NAS and it detects the rest of the intros automatically. Some shows I have multiple json files to detect slight variations. I then just point the local folder path (in settings) to it

I feel like that was the idea for the github theme cp data area, but maybe I'm completely misunderstanding how this is done.

Edited by torell
Posted (edited)
3 hours ago, torell said:

I feel like that was the idea for the github theme cp data area, but maybe I'm completely misunderstanding how this is done.

Yes that was the idea, as a community we would come together and create Intro data for all the popular shows, we could all pool them and make them available i.e. on the github site.

In reality, no one cares, we don't have an actual community here, it's just a bunch of paying customers that want to be fully serviced, most are not interested in being involved in something like this.

Edited by TeamB
Posted
2 hours ago, TeamB said:

Yes that was the idea, as a community we would come together and create Intro data for all the popular shows, we could all pool them and make them available i.e. on the github site.

In reality, no one cares, we don't have an actual community here, it's just a bunch of paying customers that want to be fully serviced, most are not interested in being involved in something like this.

I would appreciate it but, honestly, I don't have the knowledge and skills to do it/help with. 

Posted
2 hours ago, TeamB said:

Yes that was the idea, as a community we would come together and create Intro data for all the popular shows, we could all pool them and make them available i.e. on the github site.

In reality, no one cares, we don't have an actual community here, it's just a bunch of paying customers that want to be fully serviced, most are not interested in being involved in something like this.

Plex has this built in.. you can then just use the work other other people and then lowend systems or db rebuilds just pull it.

Posted
3 hours ago, TeamB said:

Yes that was the idea, as a community we would come together and create Intro data for all the popular shows, we could all pool them and make them available i.e. on the github site.

But Why? 

7 hours ago, torell said:

When you create a chromaprint file, it contains the audio data you clipped.

In order to use that print emby still has to scan each file and compare/decide if it's "close enough?" to match (so the time it takes to download this tinny file and compare it would take more or less the same amount of time...)

I use a RPi4 to do my OTA recordings, I have Scripter-x Parallel transcoding the .ts to .mkv (removing unnecessary (for me) tracks and add a AAC 2ch track) and also running comskip on the .mkv and once that is done it kicks off a lib-update and in less than 1min later emby detects the intro and creates the (10sec) .bif file(1/2 hour show).

So I don't really see how a fingerprint database would be of any use?

Although 4K fingerprints would take longer but I would not expect to do this on an aging RPi (also is a 4k fingerprint compatible with a 1080i/720p fingerprint?)

Again I don't see this saving time or of any real advantage to what emby already does.🍻

Posted

I think the point would be you can just download the times and import them and you dont need to do any scanning, also most people I bet would be downloading them not using your ota recording method. If you have low end machines, multiple instances it makes sense.

Posted (edited)
4 hours ago, TMCsw said:

But Why? 

but why what?

4 hours ago, TMCsw said:

So I don't really see how a fingerprint database would be of any use?

You might be getting confused with the build in approach, this plugin uses pre-configured audio fingerprints, the built-in intro detections uses a different approach that tries to find similar areas of audio to detect the intro.

There is a bunch of info on bother approaches, pros and cons of each in various posts on the forum.

Edited by TeamB
Posted
17 hours ago, TeamB said:

You might be getting confused with the build in approach, this plugin uses pre-configured audio fingerprints

Not confused at all, no matter how you try to do this emby can take any ripped/recorded media and even on a low powered system can find the intro in seconds. And since I record a lot of OTA stuff for the varying tastes of my family/friends emby does this just quick and fine! (yes it occasionally gets it wrong)

  • Facepalm 1
Posted
57 minutes ago, TMCsw said:

Not confused at all, no matter how you try to do this emby can take any ripped/recorded media and even on a low powered system can find the intro in seconds. And since I record a lot of OTA stuff for the varying tastes of my family/friends emby does this just quick and fine! (yes it occasionally gets it wrong)

Ok well then it's me that is confused, I have no idea what you are talking about, I am confused about what point you are trying to make, and I am confused why you are even posting on this thread.

  • Facepalm 1
Posted
On 1/25/2025 at 4:49 PM, TeamB said:

Yes that was the idea, as a community we would come together and create Intro data for all the popular shows, we could all pool them and make them available i.e. on the github site.

In reality, no one cares, we don't have an actual community here, it's just a bunch of paying customers that want to be fully serviced, most are not interested in being involved in something like this.

Thank you for keeping this plugin working and up to date. I decided to use this because it has finer transparent control over intros vs emby core. I wish I was still able to install and use the introskip plugin, but I only decided to add skip intros to my library after the plugin was removed from the catalog :(

I guess contributing might just be a personal thing, I'm sure a lot of people have a bunch of json files they could share (including me), but to be honest I'm lazy

On 1/25/2025 at 7:34 PM, bakes82 said:

Plex has this built in.. you can then just use the work other other people and then lowend systems or db rebuilds just pull it.

Sounds like it could become an expensive file hosting expense, I'm not that experienced in these kinds of things though. Would be a nice to have, the github is halfway to that solution.

4 hours ago, TMCsw said:

Not confused at all, no matter how you try to do this emby can take any ripped/recorded media and even on a low powered system can find the intro in seconds. And since I record a lot of OTA stuff for the varying tastes of my family/friends emby does this just quick and fine! (yes it occasionally gets it wrong)

Not sure if this is still up to date but here are the differences
https://github.com/chefbennyj1/Emby.IntroSkip.Release/wiki/Feature-List-Plugin-vs-Core

Different strokes, if you like Emby's introskip for your setup, that's great. I don't use OTA ripping/recording. As stated above I like the manual control versus letting emby core detect intros

Three ways I use/can use this plugin

Example one - I add the entire series of Boardwalk Empire to my library. I use this chapter api plugin to manually set the start and end time of the intro for one episode using my eyes and ears (a minute of my time). It then shows me the icon that allows me to download the json file to my desktop. I then go back, select the entire show (all 5 seasons), and tell it to insert/detect the intros using my single json file. After a few minutes all the correct intro tags are set and I'm done.
(I'd say it's 99% success rate, some shows need addition json files but you find that out on the first pass - Friends needed 4, Sopranos needed 2, Yellowstone needed 3)

Example two - A new show is airing every week. I do the same step as above, and create a json file for the intro manually. This time I save it to a folder Chapter API can read from, and tell it to use my json for the new show to autodetect intros. Now, each week when the show airs and the moment it's added to my library, the intro is detected and added as well.

Example three - I share my json files with my friend who has their own Emby library collection, he adds my json files to a folder, and can now add all the intros to all the same shows.

Posted

I was just testing the community download feature, and I'd like to clean it up. Is there a way to remove the community data or start from scratch?

Posted
3 hours ago, torell said:

I was just testing the community download feature, and I'd like to clean it up. Is there a way to remove the community data or start from scratch?

The community data from GitHub? If so it downloads the zip and loads it from there, just delete the zip in your Intro Data directory that is set in the Plugin settings.

  • Thanks 1
Posted
5 hours ago, TeamB said:

The community data from GitHub? If so it downloads the zip and loads it from there, just delete the zip in your Intro Data directory that is set in the Plugin settings.

Awesome thanks, it was late I didn't even think to check there, just thought it downloaded it and saved it into a DB. Thanks!

Posted

@TeamBI did a quick look at this and there did not appear to be a way to do an export, Id think if you wanted people to contribute there should be a easy to to mass export the things, I would also think for backup purposes being able to export/import the specific intro start/end times would also be useful especially if you refresh your meta and it gets purged. On the summary page having an option to ignore the 0% matched series would be great, I was scrolling thru my list and I saw a bunch of seasons that were like 96% only missing 1 episodes times, so if I could just see the non 100 and non 0 I could do some fast cleanup.
in the json export it might be useful to include the items duration, then on the manual import screen it could shift the times sooner/later based on the current items duration and can be used as starting points and not use the chromaprint

Posted (edited)

@bakes82 all good feedback and suggestions.

I am not sure what the future is on the detection side of the plugin is, it's been available for years now and had very little engagement from the user community. From a percentage of the user base point of view, I don't think there are that many that care about intro's and auto skipping them. Oh, there are absolutely some users that want it and can not live without it, but overall I don't think it is that valued by the wider user community.

Even the chapter editing side of the plugin was only meant to be temporary, I was assured there was no point in pursuing the plugin because it was all going to be available in the core Emby server Soon. This never really materialised, and this plugin is still the only way you can edit chapters in Emby. But the plugin has many limitations and is not feature complete, as I stopped dev once it had the features I needed at the time.

I actually don't even use the plugin anymore, as I realised I am one of the users that don't really care about auto skipping intros.

Edited by TeamB
Posted
On 1/26/2025 at 1:40 AM, TeamB said:

You might be getting confused with the build in approach, this plugin uses pre-configured audio fingerprints, the built-in intro detections uses a different approach that tries to find similar areas of aud🙂io to detect the intro.

@TeamB Okay maybe I'm wrong, convince me ! (someone or more think an idiot...)

How does this plugin pre-configured audio fingerprint work?

How does it know if I ripped it from a USA disk or a Polish disk? 480p? 1080i? 720p? 4k UHD (or more to the point aac/ac3/eac3/ac4/dts-x/atmos/true-HD...)

Or if I Recorded it from OTA/IPTV where there may be a commercial first or station ID?

How does this fingerprint work with out at least scanning the first part of each file? (as emby does?)

Sorry for (possibly) wrong criticism 🙂

Posted (edited)
1 hour ago, TMCsw said:

@TeamB Okay maybe I'm wrong, convince me ! (someone or more think an idiot...)

How does this plugin pre-configured audio fingerprint work?

How does it know if I ripped it from a USA disk or a Polish disk? 480p? 1080i? 720p? 4k UHD (or more to the point aac/ac3/eac3/ac4/dts-x/atmos/true-HD...)

Or if I Recorded it from OTA/IPTV where there may be a commercial first or station ID?

How does this fingerprint work with out at least scanning the first part of each file? (as emby does?)

Sorry for (possibly) wrong criticism 🙂

No convincing needed, you are correct. The plugin needs to extract the audio stream fingerprint data from at least the first 10min or so of the video to scan for the intro.

In this, the internal core version and this plugin are the same.

The difference is that the core intro detection uses an algorithm that tries to "find" the intro music that is similar between multiple episodes, it has to do this first, identifying using this approach the intro segment automatically. If it gets it wrong, or it does not have at least 2 episodes to work with, then it won't work.

This plugin uses human created/extracted into segment fingerprints, a human identifies at least one intro segment, marks and extracts that and then the system can use that to detect other intro segment in other episodes.

The idea was users could share the one extracted intro for a series with other users, so they could use that to automatically mark their intros.

Intro detection is all blah anyway, not worth it.

Edited by TeamB

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...