Jump to content

IntroSkip Instructions & Beta Releases


Cheesegeezer

Recommended Posts

Cheesegeezer

INTRO SKIP PLUGIN

thumb.jpg.107c19d09f93385272ca2d29acdc7755.jpg

WARNING: THESE INSTRUCTIONS REQUIRE UPDATING HOWEVER THE FUNCTIONALITY REMAINS THE SAME

Current Status - Development Testing (Not released to plugin catalogue - Local install only)

ADVISORY: It is advisable to test these DEV/Beta releases on a small test library with a few TV shows that have a good amount of content. About 300-500 episodes.

DISCLAIMER: The following has been analysed &  tested this now: If your audio varies(pitch & loudness) between episodes in a season, the plugin will have difficulty in detection. There is nothing we can do about it, we tried changing the sensitivity of the detection and it yields weird results.

THANKS: @chef @samuelqwe @rbjtech @Cheesegeezer for all their hardwork to get this where it is today, especially chef and Sam who did all the hard work with the Fingerprinting and Detection methods.  Also to the all the testers for putting up with us.  

VERSION 2.1.0.0 - Now released has huge performance improvements of upto 40% during the detection process, The UI in the config is polished and very user friendly with plenty of feedback from the plugin. We strongly suggest uninstalling any previous versions of the plugin and starting from here.

FFMPEG VERSION - Current Release version of Emby Server 4.6.4.0 does NOT contain the correct ffmpeg version that facilitates Chromaprint. You will either have to upgrade to the latest beta version 4.7.0.11 minimum.

PLUGIN OVERVIEW

IntroSkip will scan your TV Show library, analyze each episodes for audio fingerprints then detect the Title Sequence(Intro) based on the audio fingerprinting match.  This is all stored in an independent database and creates API Endpoints that can be accessed by any other plugin or core code.

The goal is for the Core code to use these endpoint to show a 'focused' INTROSKIP button on the VideoOSD when the intro starts and is displayed until the intro ends giving the user the option to skip the Title Sequence (Intro), similar to the Netflix experience.

In order to create a visual feedback for the user, Chapter Insertion points can be created and Thumbnail extraction run to display the Title sequence in episode chapter section.

NOTES: The plugin relies heavily on the encoding of the audio in the TV episode, if different shows are encoded differently it is possible that the Title sequence can show inaccuracies.  This is not a failure of the plugin detection, but more likely down to audio differences of the source it's using.  To battle this, the user can edit start and end points in a configuration UI of each episode.

 

SETTINGS PAGE OVERVIEW

image.thumb.png.f5647319da169bc716d4d86416974359.png

 

INSTRUCTIONS

  1. Install the plugin by sideloading
    • Grab the latest dll from the 3rd post down
    • extract the dll from the zip folder
    • copy the dll and paste it to C:\Users\user\AppData\Roaming\Emby-Server\programdata\plugins
  2. Once installed you will need to restart Emby Server
  3. After installation you will notice a new section in Schedule Tasks for IntroSkip
  4. If you have a low powered machine(NAS) you can reduce the demand put on the system by lowering the number of shows processed at the same time.
  5. Open the settings for the plugin and click on the advanced settings tab at the top and chose how many parallel shows to process. 
    • image.png.a231bbf1838c44f7489ac42148927151.png
    • image.png.a570e6b2f19d3aeb51f8f596376ce81d.png
  6. Before you can use any of the other configuration settings available in the IntroSkip plugin you must first run the FingerPrint and Detection Tasks.
    • NOTE: Depending on your library size this could take hours or even days (this is only for the initial detection)
  7. Follow the instructions below
    •  
  8. This step allows for the Fingerprint Database to be saved to reduce the need for running the fingerprint process in big libraries (during our testing phase)
    • Run the Fingerprint Task and Let the FP task finish
    • Shutdown Emby Server
    • Navigate to C:\Users\***username***\AppData\Roaming\Emby-Server\programdata\data
    • COPY titlesequence.db to any_name_you_like.db (this will be the base fingerprint file)
    • Restart Emby Server
    • Start the Detect task
  9. RUN THE FINGERPRINT (CHROMAPRINT) Task and follow step 8 if desired once completed
    • image.png.3e5cb83a292d34dccb9539676b3446e3.png
  10. It's a good idea to delete the task triggers in the settings for each of these tasks as they default if for them to run every 24hrs
    • image.png.c6e6e95289d1b7ccc430822d1d29f293.png
  11. Once the 2 tasks have been run above, there is no need to run the FP and detection tasks unless new episodes are added. The database knows which episodes have already be done so will only process newly added episodes.
  12. Now you should go into the Plugin Configuration from the Plugins page
    • image.png.a231bbf1838c44f7489ac42148927151.png
  13. Here, you can select the TV Show and Season and go thru the list to ensure the Title Sequence Start and End times are accurate. If they need editing then you can edit the start and end times.
    • image.thumb.png.f3a2e13f4b8f7df5538c7da0e133001b.png
  14. By Clicking the Episode image this will take you to that episode in your library to you can confirm the start and end times of the Episode.
  15. After editing the start and end times, these are saved in the database and conducting a Library Metadata refresh will NOT lose the times. 👍
  16. RESCAN Option: This only works at Season level - However, if you wish delete the Detection Points in the database for that specific TV Show's Season - Then click the Remove Data button at the bottom of the List and then confirm in the pop up box.
    • image.thumb.png.d41d9df41c0f7ac98cf6adc7c4861d1c.png

OMITTING TV SHOWS FROM DETECTION SCANS

Another cool feature of the IntroSkip plugin is the ability to exclude TV Shows in your library from any scans.  This is particularly useful for Sports Shows and other shows you know have a less than 10 second intro (Arrow, TheBoys for example).

image.thumb.png.f52a7995a210219bbee3b2bbb1ea242c.png

 

CREATING CHAPTER POINTS

  1. This is a completely optional step for the user, by doing this it will create a Title sequence Chapter that can be viewed in the Episode's chapter list
  2. To enable this you must Click the Chapters Sub menu at the top
    • image.png.d549dd313ee6d63b809ac1f4439ad9cf.png
  3. Switch the "Show Title Sequence in Chapters" slider to on, this will create the new chapter points without messing with your existing chapters
  4. In order for them to be displayed visually the Thumbnail Image extraction task must be run.  
    • This task is very quick to process compare to the FP and Detection Tasks.
    • image.png.4129da6edb6308b33f301f6bd786eec0.png
  5.  Once both the sliders are set to on, go to the Schedule Tasks in Emby and run the Chapter Insertion Task (this will take a minute or two at max, generally it takes a few seconds), when this completes it will run the Image Extraction Task afterwards.
    • image.png.28babf01958ba273454aefaa4feff445.png
  6. Once the Chapter Insertion task completes, watch the Thumbnail Extraction progress (this will take quite a few minutes depending on number of episodes)
    • image.png.cd063da2d3cc43450e0b27deff4aaddb.png

After extraction you should now see the Title Sequence in the chapters section of your Episode Details Page.

BAD CHAPTER LIST

If you have any episodes that are problematic, i.e. no chapters created (Often caused by specials that are less than 5min long but have a Title Sequence) or the chapters are contained incorrectly within the video Container (mkv, etc) these episodes will be populated after you run the chapter task on your library, and can be viewed under the Chapters Tab in the IntroSkip Plugin configuration page.

This is useful for trouble shooting episodes that need attention with something like MKVToolNix where the chapters can be edited and saved back to the video container with very little effort and not requirement for reencoding the container.

The list is repopulated every time the user runs the chapter list, and is blank on a Emby Restart.  So the Chapter Task will need to be run to populate the list after Emby Server is started.

image.thumb.png.ada6ecb3ffac38aa1b2b82ee7df15569.png

EXAMPLES

An Example of before and after the Title Sequence is entered into the chapters

Thanks to RBJTECH for the below

BEFORE -  no Chapter Insert Task Run - Chapter 2 is the 'end of the Intro' and this could have used this before to skip the Intro - BUT of course there is no way of knowing when the Intro starts - but nor do I need to if doing it manually.

 

prod.thumb.PNG.ea5c1f2b15bb557ecd240865cdfbbe33.PNG

 

AFTER - Chapter Insert Task Run and Thumbnail Image Extraction Task Run

 

Chapter 2 has remained - but now a 'Title Sequence' has been inserted at the Start of the Title Sequence.

 

beta.thumb.PNG.79d646fddc44b7b1b0dd8d22651904cc.PNG

 

You could debate that it is not needed (as you are never likely to intentionally skip to and watch the Intro..) - but it is being consistent with all the other possible chapter scenerio's where it is important to show the Title Sequence (ie Auto chapters, or chapters that are not at end of the Intro).

 

Remember -  chapters are not the method that is being used for the UI 'Introskip' button - therefore, if 'Title Sequence' is wrong - so will the UI 'Introskip' button - as they use the same reference dB.

Other examples

image.png

image.png

 

 

 

Edited by Cheesegeezer
  • Like 8
Link to comment
Share on other sites

Cheesegeezer

@rbjtech's DEVELOPMENT ROADMAP

 

# Item Priority Description Stage Latest Update Version Required Needs Core Updates ? ETA
1 FingerPrint(Chroma) High Creates a template based on a percentage of the Audio runtime. Ready More efficient use of dB but good enough for release when used with scheduler 2.0.2.8 No Complete
2 Detection High Detects the 'repeating Audio' vs other episodes and calculates the IntroStart and IntroEnd Ready Possibly more accuracy but certainly good enough at the moment with 90-95% 2.0.2.8 No Complete
3 Schedule High Due to the Detection needing the FP database, a schedule needs to be run to ensure the data is available. Ready  Working now but needs manual config 2.0.2.8 No Complete
4 Scaling High Depending on library size, these tasks can take days, even weeks - so it's important it's broken into manageable chunks. In progress Needs more testing on low powered NAS devices and memory issue resolved 2.0.3 No ?
5 Manual Skip Medium The IntroStart/IntroEnd can be added into the existing chapter points without needing Core development work Ready   2.0.3 No Complete
6 IntroSkip - Manual High Detection of an 'IntroStart/IntroEnd (in emby Chapters?) should bring a 'Skip Intro?' button to the front of the playback UI screen. Design     Yes ?
7 IntroSkip - Auto Medium Assuming accuracy is good enough, then #6 could also be automatic if given the option. Concept     Yes ?
8 Community dB Low A community dB of existing IntroStart/End points Rejected     No ?
9 Specials Medium Handling of Special Episodes - both In Season and Out of Season Concept     No ?
10 Meta-Data Refresh High What happens when Metadata is refreshed - do we keep chapter points ? Ready As long as ID stays the same, then a metadata refresh is not an issue and chapters can be re-added in seconds.   No Complete
11 External chapter file Low Write all chapters (incl new Intro) to an external XML or Text File Rejected     No ?
12 Fix Chapter Insertion Logging Class Low Class should be IntroSkip, not App ? Ready     No Complete
13 API for Sequence/Intro Data High Function = TitleSequenceService Ready   All No Complete
14 Exception / Ignore Shows Medium How do we handle shows we want ignored as we know they don’t have Intro's and/or 'troublesome' shows ? Concept     No ?
15 Detection Accuracy Low Look at improvements in the Detection accuracy by using different sample rates.  Use other metadata if possible such as 'Sports' Genre to ignore detection ? Concept     No ?
16 Lock Details Medium We want to ensure manually edited Intro's times are not wiped Concept     No ?
17 Wipe FP/Detect data at Show Level Low Currently it's per Season - so not urgent but this could be useful if a Show has a lot of seasons Concept     No ?
Edited by Cheesegeezer
  • Like 2
Link to comment
Share on other sites

Cheesegeezer

Latest dll version

NOTE: YOU WILL NEED TO

  1. CLOSE EMBY SERVER
  2. DELETE INTROSKIP.DLL from programdata/plugins
  3. CLEAR WEB BROWSER CACHE, CLOSE BROWSER
  4. COPY & PASTE NEW DLL
  5. RESTART EMBY SERVER 
  6. If you are upgrading from any version before 0.0.1.21 you will need to delete the titlesequence.db in programdata/data folder
  7. Start fingerprint task, and then detection.  please follow the process above

0.0.1.22 - we think 0.0.1.21 had a compile error. please update to 22 and run fingerprint and detection tasks again.

This should fix the issues some users experienced with the tasks stopping every so often.

UI improvements - Statistics added. Thumbnails.

  • Added End Credits detection
  • More placeholders in the database for futureproofing (no need to rescan on future releases.
  • Visual feedback in the UI
  • Better logging
  • lots of bug fixes.
  •  

 

IntroSkip_v0.0.1.22.zip

NOTE: The first post still needs updating, to line up with the new UI and options.  

Edited by Cheesegeezer
  • Like 6
Link to comment
Share on other sites

Cheesegeezer

REMOVING BAD/INCORRECT CHAPTERS

This only works with mkv video containers.

THE WHY

There are 2 scenerios in Emby for creating the chapters...

  1. There are no chapters inside the container - Emby will create default chapters at 5 minute intervals
  2. The ARE chapters written(embedded) into the mkv video container at the time of creation - Emby will automatically use the embedded chapters - regardless of how many there are in there.

So why would we need to remove the bad chapters.  Well.... if the video container only has 1 or 2 chapters embedded and we run the chapter Task for IntroSkip, sometimes, if the intro start time falls beyond where the last chapter ends, we can't insert the Title Sequence chapter Marker.  

It's entirely upto the user if they want to remove the chapters embedded in the mkv container as this is a permanent fixture, however by removing them you will allow emby to use scenario 1 above and have the title sequence chapter marker inserted.

THE HOW

After the Chapter Task has been run, Go to the "Chapters" Section of the UI and you may have a list of problematic chapters. The # of Chapters Column will be useful as you can see how many chapters are being used. If the count is Zero then it is likely that the Runtime is less than 5 mins, however a title sequence is still present. You can also click on the Logo image to take you directly to the episode in question to do some self analysis.

image.thumb.png.735c13bf7c0de3b03857c7e1979d7731.png

 

To remove the non-useful embedded chapters You will need to install MkvToolNix

After installation, Run MKVToolNix and Select the chapter Editor.  Then drag and drop your episode.mkv in the window.

image.png.ff641d6c28a45b95fb72a55175528a47.png

 

Your chapters are now loaded into the Chapter editor.

image.png.7184677b8de3810c67abf561781730ac.png

 

Select the Edition Entry and then Right Click and Choose the Remove option shown below.

image.png.b2b4ff152c62ad32e2bb73a1eb1d38d9.png

 

Then Go to ChapterEditor top menu and save (this will overwrite the container immediately) - as easy as that, the refresh metadata for the show/season/episode and run the chapter task ..... Boom you're done

image.png.283a443044e1a8278dfc997005c3e17d.png

Edited by Cheesegeezer
  • Thanks 1
Link to comment
Share on other sites

  • 3 weeks later...
Banquero
On 9/14/2021 at 9:20 PM, Cheesegeezer said:

Latest dll version

NOTE: YOU WILL NEED TO

  1. CLOSE EMBY SERVER
  2. DELETE INTROSKIP.DLL from programdata/plugins
  3. DELETE TITLESEQUENCE.DB from programdata/data
  4. CLEAR WEB BROWSER CACHE, CLOSE BROWSER
  5. COPY & PASTE NEW DLL
  6. RESTART EMBY SERVER 
  7. Start fingerprint task

0.0.1.11 - Revision Rewind - to keep us in line for official release 1.0.0.0

  • All new UI
  • Superior Detection Accuracy
  • Faster Fingerprinting and detection.
  • More control and options
  • Visual feedback in the UI

IntroSkip 0.0.1.11.zip 217.77 kB · 19 downloads

 

The first post needs updating, to line up with the new UI and options.  

Buenas tardes, he conseguido copiar a través de SSH el plugin IntroSkip a la carpeta de plugins..Nunca antes lo había tenido instalado..He apagado EmbyServer, lo he reiniciado y no me aparece en mis plugins instalados..Podéis ayudarme? Muchas gracias...

image.png.84545b44b1250141431c67ad49cd77da.png

Link to comment
Share on other sites

Cheesegeezer
2 minutes ago, Banquero said:

Buenas tardes, he conseguido copiar a través de SSH el plugin IntroSkip a la carpeta de plugins..Nunca antes lo había tenido instalado..He apagado EmbyServer, lo he reiniciado y no me aparece en mis plugins instalados..Podéis ayudarme? Muchas gracias...

image.png.84545b44b1250141431c67ad49cd77da.png

please post in the other topic.  This is just for information.  

Locking thread now.

Link to comment
Share on other sites

  • 1 month later...
Cheesegeezer

Latest dll version 0.0.1.22

NOTE: YOU WILL NEED TO

  1. CLOSE EMBY SERVER
  2. DELETE INTROSKIP.DLL from programdata/plugins
  3. CLEAR WEB BROWSER CACHE, CLOSE BROWSER
  4. COPY & PASTE NEW DLL
  5. RESTART EMBY SERVER 
  6. If you are upgrading from any version before 0.0.1.21 you will need to delete the titlesequence.db in programdata/data folder
  7. Start fingerprint task, and then detection.  please follow the process above

we think 0.0.1.21 had a compile error. please update to 22 and run fingerprint and detection tasks again.

This should fix the issues some users experienced with the tasks stopping every so often.

UI improvements - Statistics added. Thumbnails.

  • Added End Credits detection
  • More placeholders in the database for futureproofing (no need to rescan on future releases.
  • Visual feedback in the UI
  • Better logging
  • lots of bug fixes.

IntroSkip_v0.0.1.22.zip

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...