rbjtech 4316 Posted September 9, 2021 Share Posted September 9, 2021 14 minutes ago, Micael456 said: Yeah, we discussed specials a while back. @chef, I thought the plan was to compare specials / one-offs with an existing season until there was a match? Is this still in the pipeline? There are two kinds of specials - ones which have season/episode info in them (in the 'Special Episode' Metadata) and those that are 'stand alone'. I think for ones that have season data (ie if you select the option, they appear in the relevant 'season' - Holiday Episodes for example) then those can just use the already derived Intro sequence for that Season ? For the 'stand alone' type specials - then I'm not sure as technically we have nothing to compare them against - they may have the Intro, they may not. My personal view is we ignore these (for the time being) - you can always manually add it for those exceptions. I'll add to the 'to do' list.. Link to comment Share on other sites More sharing options...
rbjtech 4316 Posted September 9, 2021 Share Posted September 9, 2021 Latest 'ToDo' and updates below - Please let me know if I've missed anything. # Item Description Stage Latest Update Needs Core Updates ? ETA 1 FingerPrint(Chroma) 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 No Complete 2 Detection 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% No Complete 3 Schedule Due to the Detection needing the FP database, a schedule needs to be run to ensure the data is available. In Progress Working now but needs manual config No ~ 1 Week 4 Scaling 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 No ~ 1 Week 5 Manual Skip The IntroStart/IntroEnd can be added into the existing chapter points without needing Core development work In Progress No ~ 2 Weeks 6 IntroSkip - Manual Detection of an 'IntroStart/IntroEnd (in emby Chapters?) should bring a 'Skip Intro?' button to the front of the playback screen. Design Yes ? 7 IntroSkip - Auto Assuming accuracy is good enough, then #6 could also be automatic if given the option. Concept Yes ? 8 Community dB A community dB of existing IntroStart/End points Concept No ? 9 Specials Handling of Special Episodes - both In Season and Out of Season Concept No ? 1 Link to comment Share on other sites More sharing options...
rbjtech 4316 Posted September 9, 2021 Share Posted September 9, 2021 (edited) 11 hours ago, chef said: That is why I originally thought we had to push chapters ahead by the duration of the title sequence. We might lose a chapter at the end of the stream, but we gained an intro chapter. I wasn't sure. My thoughts are we just gain an 'Intro' chapter - either at the start or after chapter 1 (most liklely). The chapters after retain their settings, but chapter 2 get's modified for the start of it to be directly after the Intro chapter. This is what has been discussed here - chapters/times should not be moved. Lets take an example - this one already has the IntroEnd effectively marked (as many do). Chapter 1 : :00:00:00.000 Chapter 2 : :00:05:13.800 Chapter 3 : :00:17:27.880 Chapter 4 : :00:25:27.800 Chapter 5 : :00:34:35.920 Chapter 6 : :00:43:28.240 Chapter 7 : :00:57:20.440 IntroSkip has picked this Intro to be from 03:49 to 05:13 Chapter 1 : :00:00:00.000 Intro : : 00:03:49.000 Chapter 2 : :00:05:13.800 Chapter 3 : :00:17:27.880 Chapter 4 : :00:25:27.800 Chapter 5 : :00:34:35.920 Chapter 6 : :00:43:28.240 Chapter 7 : :00:57:20.440 So this is a case of just inserting the Intro - No other modifications are necessary. If you skip to next chapter when the Intro starts, you get to Chapter 2 - nothing is missed. Do you need the Intro chapter if doing manually - no you don't, but emby will if it needs to bring up the 'Intro Skip' button. Now lets assume this episode did not have defined chapters - and used the standard emby chapter points. Chapter 1 : :00:00:00 Chapter 2 : :00:05:00 Chapter 3 : :00:10:00 Chapter 4 : :00:15:00 Chapter 5 : :00:20:00 Chapter 6 : :00:25:00 Chapter 7 : :00:30:00 If we now insert the same Intro chapter point - we have an issue because we already have Chapter 2 @ 05:00 Chapter 1 : :00:00:00 Intro : : 00:03:49.000 (to 05:13) Chapter 2 : :00:05:00 Chapter 3 : :00:10:00 Chapter 4 : :00:15:00 Chapter 5 : :00:20:00 Chapter 6 : :00:25:00 Chapter 7 : :00:30:00 My view is you simply change Chapter 2 - to start @ 05:13. No other changes need to happen ? Chapter 1 : :00:00:00 Intro : : 00:03:49.000 Chapter 2 : :00:05:13 Chapter 3 : :00:10:00 Chapter 4 : :00:15:00 Chapter 5 : :00:20:00 Chapter 6 : :00:25:00 Chapter 7 : :00:30:00 It doesn't matter where Intro is 'inserted' - you just change the next chapter start time (effectively shortening the chapter as required). Edited September 9, 2021 by rbjtech 2 Link to comment Share on other sites More sharing options...
Cheesegeezer 3089 Posted September 9, 2021 Share Posted September 9, 2021 13 minutes ago, rbjtech said: If we now insert the same Intro chapter point - we have an issue because we already have Chapter 2 @ 05:00 Chapter 1 : :00:00:00 Intro : : 00:03:49.000 (to 05:13) Chapter 2 : :00:05:00 Chapter 3 : :00:10:00 Chapter 4 : :00:15:00 Chapter 5 : :00:20:00 Chapter 6 : :00:25:00 Chapter 7 : :00:30:00 My view is you simply change Chapter 2 - to start @ 05:13. No other changes need to happen ? It doesn't matter where Intro is 'inserted' - you just change (shorten) the next chapter start time (effectively by the Intro duration). This is where the real issue lies but I think it's fairly easy to append the next chapter start time. 2 Link to comment Share on other sites More sharing options...
Cheesegeezer 3089 Posted September 9, 2021 Share Posted September 9, 2021 @chef I'm currently working on implementing the chapters side of it now. However i'm a bit lost in your code, where does the item id or name pass to the Chapter Edit. The execute code in the ChapterEditSheduleTask Class simply states "40" as the long id. I will organise it so it works as intended but the task is consistently failing at the moment. 1 Link to comment Share on other sites More sharing options...
Cheesegeezer 3089 Posted September 9, 2021 Share Posted September 9, 2021 Link to comment Share on other sites More sharing options...
chef 3749 Posted September 9, 2021 Share Posted September 9, 2021 (edited) 37 minutes ago, Cheesegeezer said: @chef I'm currently working on implementing the chapters side of it now. However i'm a bit lost in your code, where does the item id or name pass to the Chapter Edit. The execute code in the ChapterEditSheduleTask Class simply states "40" as the long id. I will organise it so it works as intended but the task is consistently failing at the moment. Yeah, that was a quick and dirty test. I hardcoded the internalId for testing. 40 is an episode in my library. It can be replaced by some kind of query and loop over baseItems. You can use the Repository with GetResult(InternalId) But it expects string, not long. So there is always a ToString() coercion. Edited September 9, 2021 by chef 1 Link to comment Share on other sites More sharing options...
Cheesegeezer 3089 Posted September 9, 2021 Share Posted September 9, 2021 16 minutes ago, chef said: Yeah, that was a quick and dirty test. I hardcoded the internalId for testing. 40 is an episode in my library. It can be replaced by some kind of query and loop over baseItems. You can use the Repository with a TitleSequenceQuery to grab by internalId (GetResult) But it expects string, not long. So there is always a ToString() coercion. Gotcha, I'm just adding in some code to get the episode id's now. There is a lot of code to get thru to know a good entry point lol. But i'll try out the quick and dirty method first lol :S 1 Link to comment Share on other sites More sharing options...
chef 3749 Posted September 9, 2021 Share Posted September 9, 2021 Actually, I think it would be better, if we switched the ToString inside the GetResult method. I bet it would follow solid principals more. I wrote a query limit last night for the two tasks. That will make it easier for people to join in the fun. Ive been working as an institutional chef recently, and pureeing all that food keeps me working late. I'll update the git this morning. 1 Link to comment Share on other sites More sharing options...
Cheesegeezer 3089 Posted September 9, 2021 Share Posted September 9, 2021 2 minutes ago, chef said: Actually, I think it would be better, if we switched the ToString inside the GetResult method. I bet it would follow solid principals more. I wrote a query limit last night for the two tasks. That will make it easier for people to join in the fun. Ive been working as an institutional chef recently, and pureeing all that food keeps me working late. I'll update the git this morning. Sounds good fella 1 Link to comment Share on other sites More sharing options...
rbjtech 4316 Posted September 9, 2021 Share Posted September 9, 2021 58 minutes ago, chef said: I wrote a query limit last night for the two tasks. Sounds great @chef I currently use another instance of emby and then use a library made up of a limited number (5) symlinks to my main media storage. If we can query based on number of 'shows' - then this would be fantastic to get the numbers up for testing 1 Link to comment Share on other sites More sharing options...
Cheesegeezer 3089 Posted September 9, 2021 Share Posted September 9, 2021 I have an issue with westworld season 1 on my test laptop. This is the only season i have on it and always comes up the same after several rescans. 2 episodes are always incorrect. What do you need from me. The log doesn't say much. Link to comment Share on other sites More sharing options...
crusher11 858 Posted September 9, 2021 Share Posted September 9, 2021 So fingerprinting took a few hours. Not sure exactly how long. But it completed overnight. Intro detection got to 25% after a few hours, I manually stopped it briefly, dropped the parallel thing to two, then resumed it, and several more hours later the second run is at 29%. So it's looking like it's going to take multiple days? 1 Link to comment Share on other sites More sharing options...
Cheesegeezer 3089 Posted September 9, 2021 Share Posted September 9, 2021 @chef @rbjtech Basic chapter Intros is done, i need to add a lot of logic to the code but, the concept is proved and works 1 Link to comment Share on other sites More sharing options...
rbjtech 4316 Posted September 9, 2021 Share Posted September 9, 2021 19 minutes ago, Cheesegeezer said: I have an issue with westworld season 1 on my test laptop. This is the only season i have on it and always comes up the same after several rescans. 2 episodes are always incorrect. What do you need from me. The log doesn't say much. Let me try and reproduce this. Link to comment Share on other sites More sharing options...
rbjtech 4316 Posted September 9, 2021 Share Posted September 9, 2021 (edited) 18 minutes ago, rbjtech said: Let me try and reproduce this. Hmm - I can't reproduce this - all my S1 have the intro @ 01:41 .. Did you check the actual episodes - 2 & 6 I believe ? Edited September 9, 2021 by rbjtech Link to comment Share on other sites More sharing options...
rbjtech 4316 Posted September 9, 2021 Share Posted September 9, 2021 btw @chef - low on the priority list - but can you change the Detect log message to be consistent with the FP ones - then it's much easier to filter in my log app with resorting to complex RegEx ! .. Thanks 1 Link to comment Share on other sites More sharing options...
chef 3749 Posted September 9, 2021 Share Posted September 9, 2021 v2.0.2.9 Added Limit Testing Series Query now sorts the data by 'SortName' to ensure we grab the same series for both tasks while the limit is enabled. Default MaxDegreeOfParalellism is changed to: 2 (this can be maxed out at 20 for really badass systems, most PC's with a decent CPU can handle at least 4 to 5) How to enable Limit Testing for series: Find' IntroSkip.xml' - Found: "Emby-Server/programdata/plugins/configurations/IntroSkip.xml" If it exists from testing prior releases, delete it, and restart the server. Open the xml file find the following xml node: <Limit xsi:nil="true" /> Replace with: <Limit>4</Limit> Where 4 is the amount of series you would like to test the plugin on. This number can be what ever you want it to be. Save the xml Restart the server How to remove the Limit: Find' IntroSkip.xml' - Found: "Emby-Server/programdata/plugins/configurations/IntroSkip.xml" Open the xml file find the Limit node you created during limit testing. Remove the node add this in its place: <Limit xsi:nil="true" /> Save the xml Restart the server IntroSkip_v2.0.2.9.zip 1 Link to comment Share on other sites More sharing options...
Cheesegeezer 3089 Posted September 9, 2021 Share Posted September 9, 2021 7 minutes ago, rbjtech said: Hmm - I can't reproduce this - all my S1 have the intro @ 01:41 .. Did you check the actual episodes - 2 & 6 I believe ? Yeah I physically checked it, I'll show you some screenshots in a sec after running the chapter tool, and you can see that the screen at the end is very different. Link to comment Share on other sites More sharing options...
rbjtech 4316 Posted September 9, 2021 Share Posted September 9, 2021 While checking S2 & S3 - I did notice some Intro were after the 10mins we discussed earlier. Looks to have picked them up ok though ? Link to comment Share on other sites More sharing options...
chef 3749 Posted September 9, 2021 Share Posted September 9, 2021 1 hour ago, crusher11 said: So fingerprinting took a few hours. Not sure exactly how long. But it completed overnight. Intro detection got to 25% after a few hours, I manually stopped it briefly, dropped the parallel thing to two, then resumed it, and several more hours later the second run is at 29%. So it's looking like it's going to take multiple days? This is possible. Each block of percentage in the slider will be a series completed. If you are doing 2 at once, it may sit at 29% for a while, then jump to 35-40%. Link to comment Share on other sites More sharing options...
Cheesegeezer 3089 Posted September 9, 2021 Share Posted September 9, 2021 1 minute ago, rbjtech said: While checking S2 & S3 - I did notice some Intro were after the 10mins we discussed earlier. Looks to have picked them up ok though ? This looks like a good season to test all the chapter logic on then!! 1 Link to comment Share on other sites More sharing options...
chef 3749 Posted September 9, 2021 Share Posted September 9, 2021 57 minutes ago, Cheesegeezer said: Yeah I physically checked it, I'll show you some screenshots in a sec after running the chapter tool, and you can see that the screen at the end is very different. Yeah, I wouldn't automatically assume anything when it comes to the data. We shouldn't automatically mess with peoples chapters. They need time to edit the results in the UI table. We'll have a button in the UI they can press if they are satisfied with the results we are producing, and that will edit chapters for them. 1 Link to comment Share on other sites More sharing options...
chef 3749 Posted September 9, 2021 Share Posted September 9, 2021 (edited) 55 minutes ago, Cheesegeezer said: This looks like a good season to test all the chapter logic on then!! Where is the actual intro start on that episode? Did we get any of it right? the end? Edited September 9, 2021 by chef Link to comment Share on other sites More sharing options...
rbjtech 4316 Posted September 9, 2021 Share Posted September 9, 2021 2 minutes ago, Cheesegeezer said: This looks like a good season to test all the chapter logic on then!! Yep - because 12:13 takes it in-between Chapter 3 (10:00) and 4 (15:00) ... Link to comment Share on other sites More sharing options...
Recommended Posts