chef 3810 Posted August 20, 2021 Posted August 20, 2021 9 minutes ago, Sammy said: What does Auto Organize do? Puts episodes and movies you record into the Emby file system and names them. You don't use it Sammy?
Sammy 790 Posted August 20, 2021 Posted August 20, 2021 No. I use MCEBuddy to strip commercials and compress to HEVC/h.265 then put into the Emby Library. I was hoping it would help find and zap all the duplicates I currently have hogging up space..
chef 3810 Posted August 20, 2021 Posted August 20, 2021 (edited) 1 hour ago, Sammy said: No. I use MCEBuddy to strip commercials and compress to HEVC/h.265 then put into the Emby Library. I was hoping it would help find and zap all the duplicates I currently have hogging up space.. I think it can help you actually, You could have mcebuddy put all your files into a single folder and monitor it with auto organize! The new version will tell you if you already have that episode in your library, it will also tell you if you have a new resolution or not. If the item is not in your library it can move it for you and name the file. Check it out, it might help. Edited August 20, 2021 by chef 1 1
chef 3810 Posted August 20, 2021 Posted August 20, 2021 and... finally... a working editable table. 3
chef 3810 Posted August 20, 2021 Posted August 20, 2021 1 hour ago, Sammy said: It is taking for-eh-ver.. Yes,... say is your PC pinned at 99% right now?
samuelqwe 317 Posted August 20, 2021 Posted August 20, 2021 (edited) @chef I have an idea that could potentially speed up the whole intro detection process. Instead of comparing episodes like so: 1 with 2, 1 with 3, 1 with 4, 1 with 5, etc... We could compare them like this: 1 with 2, 3 with 4, 5 with 6, etc... So instead of comparing one episode with every other, we should compare two new episodes every time. If there is a failure or an intro is not found, we compare one of the episodes to the last successful episode. If there are no successful episodes, either we skip the episode entirely or compare to the next one. If the intro is the same throughout the season, this would likely speed things up significantly as you wouldn't be comparing the same episode over and over. Of course, this way you wouldn't be able to check if there are discrepancies in the found intro, because you would almost never compare the same episode multiple times. You could also put in a toggle to use either the current method or this new "quick" scan. But now that you can edit the intros, someone might prefer a quicker scan even if they have to manually adjust a few episodes that are slightly off. What are your thoughts on this? Edited August 20, 2021 by samuelqwe
chef 3810 Posted August 20, 2021 Posted August 20, 2021 15 minutes ago, samuelqwe said: @chef I have an idea that could potentially speed up the whole intro detection process. Instead of comparing episodes like so: 1 with 2, 1 with 3, 1 with 4, 1 with 5, etc... We could compare them like this: 1 with 2, 3 with 4, 5 with 6, etc... So instead of comparing one episode with every other, we should compare two new episodes every time. If there is a failure or an intro is not found, we compare one of the episodes to the last successful episode. If there are no successful episodes, either we skip the episode entirely or compare to the next one. If the intro is the same throughout the season, this would likely speed things up significantly as you wouldn't be comparing the same episode over and over. Of course, this way you wouldn't be able to check if there are discrepancies in the found intro, because you would almost never compare the same episode multiple times. You could also put in a toggle to use either the current method or this new "quick" scan. But now that you can edit the intros, someone might prefer a quicker scan even if they have to manually adjust a few episodes that are slightly off. What are your thoughts on this? Yes, makes sense to try that. Would we loop through the episodes in parallel? 1 and 2, 3 and 4 at the same time?
samuelqwe 317 Posted August 20, 2021 Posted August 20, 2021 2 minutes ago, chef said: Would we loop through the episodes in parallel? 1 and 2, 3 and 4 at the same time? Essentially just run through the first two episodes, then the next two, and so on. 1 and 2, then 3 and 4, then 5 and 6, then 7 and 8, etc. We basically just want to avoid rescanning an episode that was already scanned, in order to save time. So let’s say we compare 1 and 2 together, and we find an intro for those two episodes, we can then move on to 3 and 4. 1
Sammy 790 Posted August 20, 2021 Posted August 20, 2021 (edited) Finally finished! I wonder if the scheduled run of Fingerprinting disrupted the creation of the Title Sequence Detection? Should there be a check to prevent this since it takes half a day to run the Episode Title Sequence Detection? Edited August 20, 2021 by Sammy 1
Sammy 790 Posted August 20, 2021 Posted August 20, 2021 (edited) Why is Agent Carter before the series starting with a numeral? Edited August 20, 2021 by Sammy
chef 3810 Posted August 20, 2021 Posted August 20, 2021 1 hour ago, Sammy said: Why is Agent Carter before the series starting with a numeral? I'm not sure why Agent Carter shows up at the top. But, I know that Agent Carter is a tv show that I don't seem to get results for either. As for Game of Thrones... what is the Fingerprint tasks duration set to in the advanced settings? May I have a log file? too
Sammy 790 Posted August 20, 2021 Posted August 20, 2021 This is the default I guess but I thought it was being increased to 15 or even 20 minutes?
chef 3810 Posted August 21, 2021 Posted August 21, 2021 50 minutes ago, Sammy said: This is the default I guess but I thought it was being increased to 15 or even 20 minutes? Yes, we did, but there are some tv shows that are only 15 minutes long, so we changed again surprise!! I bet the 15 or 20 minute encoding will pick up GOT. I think we should check the average runtime of a season, and automatically choose the best encoding length for fingerprints. Its probably something that needs adding right away. Im going to figure something out here.
rbjtech 5284 Posted August 21, 2021 Posted August 21, 2021 (edited) 27 minutes ago, chef said: I think we should check the average runtime of a season, and automatically choose the best encoding length for fingerprints. Its probably something that needs adding right away. Im going to figure something out here. Agreed - I believe @samuelqwe mentioned this a while back and it sounds like the best option - if this is possible. Maybe 25% of the show length ? This would also increase overall scanning speed as shorter shows would then not have unnecessary scanning based on a fixed duration. 60min shows gets scanned 15min, 45 min shows get scanned 11mins, 30 mins shows get scanned 7.5 mins, 20 min shows get scanned 5 mins etc etc Edited August 21, 2021 by rbjtech
chef 3810 Posted August 21, 2021 Posted August 21, 2021 I think this should auto calculate the encoding duration from chromaprints. We can still have it configurable, but this might stop some headaches where title sequences aren't getting caught in the encoding. If anyone has a better LINQ version to do this I would be happy for the input. I couldn't afford the ReSharper's monthly buy in, so I had to cancel it. This should calculate the average runtime for the season of episodes. private TimeSpan GetSeasonRuntimeAverage(BaseItem[] episodes) { var totalCount = episodes.Count(); long? runtimeSum = 0L; Parallel.ForEach(episodes, (e) => { if (e.RunTimeTicks.HasValue) { runtimeSum += e.RunTimeTicks.Value; } else { //There is no runtime metadata for this baseItem. Remove a value from the episode total count, so it doesn't mess up our average totalCount -= 1; } }); return TimeSpan.FromTicks(runtimeSum.Value / totalCount); } And this will decide on the encoding duration based on the length of the episodes season average. private int GetEncodingDuration(TimeSpan averageRuntime) { //Episodes are Longer then 40 minutes if (averageRuntime >= TimeSpan.FromMinutes(40)) { return 20; } //Episodes are longer then 20 minutes, less then 40 minutes if (averageRuntime >= TimeSpan.FromMinutes(20) && averageRuntime < TimeSpan.FromMinutes(40)) { return 15; } return 10; //Just take 10 minutes of encoding } Is it better to figure this out for the user?
samuelqwe 317 Posted August 21, 2021 Posted August 21, 2021 44 minutes ago, rbjtech said: Maybe 25% of the show length ? This would also increase overall scanning speed as shorter shows would then not have unnecessary scanning based on a fixed duration. 60min shows gets scanned 15min, 45 min shows get scanned 11mins, 30 mins shows get scanned 7.5 mins, 20 min shows get scanned 5 mins etc etc That’s what I was thinking, about 25 to 30% of the show’s length. 7 minutes ago, chef said: Is it better to figure this out for the user? Probably, just to keep it simple. I don’t think you would really need to customize it if the duration is based on the length of a show.
Banquero 37 Posted August 21, 2021 Posted August 21, 2021 7 hours ago, chef said: Yes, we did, but there are some tv shows that are only 15 minutes long, so we changed again surprise!! I bet the 15 or 20 minute encoding will pick up GOT. I think we should check the average runtime of a season, and automatically choose the best encoding length for fingerprints. Its probably something that needs adding right away. Im going to figure something out here. Buenos dias, se puede probar este plugin, aunque sea en beta? En ese caso, donde se encuentra la carpeta de plugins de Emby para DSM7? Muchas gracias...
rbjtech 5284 Posted August 21, 2021 Posted August 21, 2021 10 hours ago, chef said: I think this should auto calculate the encoding duration from chromaprints. We can still have it configurable, but this might stop some headaches where title sequences aren't getting caught in the encoding. If anyone has a better LINQ version to do this I would be happy for the input. I couldn't afford the ReSharper's monthly buy in, so I had to cancel it. This should calculate the average runtime for the season of episodes. private TimeSpan GetSeasonRuntimeAverage(BaseItem[] episodes) { var totalCount = episodes.Count(); long? runtimeSum = 0L; Parallel.ForEach(episodes, (e) => { if (e.RunTimeTicks.HasValue) { runtimeSum += e.RunTimeTicks.Value; } else { //There is no runtime metadata for this baseItem. Remove a value from the episode total count, so it doesn't mess up our average totalCount -= 1; } }); return TimeSpan.FromTicks(runtimeSum.Value / totalCount); } And this will decide on the encoding duration based on the length of the episodes season average. private int GetEncodingDuration(TimeSpan averageRuntime) { //Episodes are Longer then 40 minutes if (averageRuntime >= TimeSpan.FromMinutes(40)) { return 20; } //Episodes are longer then 20 minutes, less then 40 minutes if (averageRuntime >= TimeSpan.FromMinutes(20) && averageRuntime < TimeSpan.FromMinutes(40)) { return 15; } return 10; //Just take 10 minutes of encoding } Is it better to figure this out for the user? So based on my system, which has ~ 30,000 'Joe Average' episodes (No Anime) - the runtime breakdown via a quick export and pivot table is below - from that I can see 4 key groupings :- < 19 mins 20-39 mins 40-55 mins > 56 mins So based on the above - I believe (for me) a 40 minute cut off is too soon to 'return 20' and you would scanning a lot of 40-45 min shows with unnecessary scan time - imho. It would be good to get others runtime averages stats - as things like Anime etc would (I guess) totally change the view here.
Sammy 790 Posted August 21, 2021 Posted August 21, 2021 (edited) 4 hours ago, Banquero said: Buenos dias, se puede probar este plugin, aunque sea en beta? En ese caso, donde se encuentra la carpeta de plugins de Emby para DSM7? Muchas gracias... Lo siento, pero mi Espanol es no bueno y no lo entiende. Que dice en Engles? I think you want a version of this plugin for DSM7? Edited August 21, 2021 by Sammy
Sammy 790 Posted August 21, 2021 Posted August 21, 2021 6 minutes ago, rbjtech said: So based on my system, which has ~ 30,000 'Joe Average' episodes (No Anime) - the runtime breakdown via a quick export and pivot table is below - from that I can see 4 key groupings :- < 19 mins 20-39 mins 40-55 mins > 56 mins So based on the above - I believe (for me) a 40 minute cut off is too soon to 'return 20' and you would scanning a lot of 40-45 min shows with unnecessary scan time - imho. It would be good to get others runtime averages stats - as things like Anime etc would (I guess) totally change the view here. How'd you parse the data to put into a spreadsheet to do the pivot table? What are you pivot table parameters? (Screenshot of the parameters?)
Recommended Posts