2012-02-19, 08:54 AM
(This post was last modified: 2012-02-19, 09:02 AM by johnsonx42.)
Sub,
I'm sorry to bring this issue up again, as I know we've been 'round with this before, but it's the last big thing that doesn't work right for me in NPVR. NPVR is still somehow miscalculating where it is in the timeline when using Timing.Info to skip. I think the following symptoms are due to the same root cause:
1. Forward skips are too long by ~3 seconds. Backwards skips are too short by ~3 seconds. I have verified it isn't just a cosmetic timeline display error or some form of decoder lag; if I take a piece of video I've watched several times so I that I know it very well, and use two 10-second forward skips, and then immediately begin skipping back to the original spot, it takes not two, not three, but four 10-second backwards skips to reach the same spot. 2 x 10 = 4 x 10? Is this the New Math?
2. If I pause playback, then unpause, it skips about 4 seconds of video (this may be a combination of the ~3 second timeline error, and short delay for the the decoder to produce frames); these days whenever I pause a show I have to skip back once during the pause or I miss a full line of dialog when I resume. It resumes playback very quickly, it just jumps ahead when it does.
3. Comskip skips jump at least 3 seconds early, so I have my <ComskipStartOffset> at 3000ms; however this isn't enough for all recordings, sometimes it still jumps a few seconds early.
I know this seems a little nitpicky, and there are work-arounds... for #1 I could just adjust <SkipFFSeconds> to 7 and <SkipRWSeconds> to 13 so that they both skip ~10 seconds in real time, and for #3 I could increase the <ComskipStartOffset> to 6000ms and see a few seconds of commercials in many cases. I can't think of anything for #2 other than what I'm already doing - skip back once before unpausing, though that actually doesn't always work either.
But the point is that something isn't right, there's a bug here somewhere.
In the attached log, beginning at 23:18:38.059 I start playing a recent episode of The Big Bang Theory. I do quite a bit of skipping, and if you look at the skips carefully you can see that for this file they're around 2 seconds off (not as bad as some). The most telling sequence begins at 23:20:15.940, when I pause the video then skip while paused (extra lines edited out for clarity):
While the log doesn't specify the position when pause was pressed, the result of the first forward skip was time 560.8; two more skips brought it to 585.28, about 4.6 seconds too far (or 2.3 seconds per skip). Then on skipping back, 3 skips that should have been 10 seconds each brought the position back only to 561.78 or about 23.5 seconds; so each skip was about 7.8 seconds. A fourth skip got me back very close to the spot where I pressed pause, then I skipped back a few more times for good measure and finally resumed playback.
The behavior is just the same when skipping with playback, but skipping with it paused makes the log much more clear. This recording is actually better than some - I've definitely had some where the skips were much closer to 5 seconds off, but I don't have an example right now.
I've included the Timing.Info and the comskip .edl file.
If you can fix or tweak whatever is causing this, I think you'll make a lot of users very happy.
I'm sorry to bring this issue up again, as I know we've been 'round with this before, but it's the last big thing that doesn't work right for me in NPVR. NPVR is still somehow miscalculating where it is in the timeline when using Timing.Info to skip. I think the following symptoms are due to the same root cause:
1. Forward skips are too long by ~3 seconds. Backwards skips are too short by ~3 seconds. I have verified it isn't just a cosmetic timeline display error or some form of decoder lag; if I take a piece of video I've watched several times so I that I know it very well, and use two 10-second forward skips, and then immediately begin skipping back to the original spot, it takes not two, not three, but four 10-second backwards skips to reach the same spot. 2 x 10 = 4 x 10? Is this the New Math?
2. If I pause playback, then unpause, it skips about 4 seconds of video (this may be a combination of the ~3 second timeline error, and short delay for the the decoder to produce frames); these days whenever I pause a show I have to skip back once during the pause or I miss a full line of dialog when I resume. It resumes playback very quickly, it just jumps ahead when it does.
3. Comskip skips jump at least 3 seconds early, so I have my <ComskipStartOffset> at 3000ms; however this isn't enough for all recordings, sometimes it still jumps a few seconds early.
I know this seems a little nitpicky, and there are work-arounds... for #1 I could just adjust <SkipFFSeconds> to 7 and <SkipRWSeconds> to 13 so that they both skip ~10 seconds in real time, and for #3 I could increase the <ComskipStartOffset> to 6000ms and see a few seconds of commercials in many cases. I can't think of anything for #2 other than what I'm already doing - skip back once before unpausing, though that actually doesn't always work either.
But the point is that something isn't right, there's a bug here somewhere.
In the attached log, beginning at 23:18:38.059 I start playing a recent episode of The Big Bang Theory. I do quite a bit of skipping, and if you look at the skips carefully you can see that for this file they're around 2 seconds off (not as bad as some). The most telling sequence begins at 23:20:15.940, when I pause the video then skip while paused (extra lines edited out for clarity):
Code:
2012-02-18 23:20:15.940 [DEBUG][1] OnKeyDown() called: {CTRL}Q, Control
2012-02-18 23:20:22.636 [DEBUG][1] OnKeyDown() called: {CTRL}F, Control
2012-02-18 23:20:22.638 [DEBUG][1] Using timing.info, jumping to time 560.796997 (offset 1235164888)
2012-02-18 23:20:25.584 [DEBUG][1] OnKeyDown() called: {CTRL}F, Control
2012-02-18 23:20:25.586 [DEBUG][1] Using timing.info, jumping to time 573.031982 (offset 1262163944)
2012-02-18 23:20:28.385 [DEBUG][1] OnKeyDown() called: {CTRL}F, Control
2012-02-18 23:20:28.387 [DEBUG][1] Using timing.info, jumping to time 585.281982 (offset 1289163000)
2012-02-18 23:20:31.677 [DEBUG][1] OnKeyDown() called: {CTRL}R, Control
2012-02-18 23:20:31.679 [DEBUG][1] Using timing.info, jumping to time 577.531982 (offset 1271806464)
2012-02-18 23:20:35.738 [DEBUG][1] OnKeyDown() called: {CTRL}R, Control
2012-02-18 23:20:35.740 [DEBUG][1] Using timing.info, jumping to time 569.671997 (offset 1254449928)
2012-02-18 23:20:42.696 [DEBUG][1] OnKeyDown() called: {CTRL}R, Control
2012-02-18 23:20:42.697 [DEBUG][1] Using timing.info, jumping to time 561.781982 (offset 1237093392)
2012-02-18 23:20:49.403 [DEBUG][1] OnKeyDown() called: {CTRL}R, Control
2012-02-18 23:20:49.404 [DEBUG][1] Using timing.info, jumping to time 553.906982 (offset 1219736856)
2012-02-18 23:20:52.919 [DEBUG][1] OnKeyDown() called: {CTRL}R, Control
2012-02-18 23:20:52.921 [DEBUG][1] Using timing.info, jumping to time 546.046997 (offset 1202380320)
2012-02-18 23:20:56.238 [DEBUG][1] OnKeyDown() called: {CTRL}R, Control
2012-02-18 23:20:56.240 [DEBUG][1] Using timing.info, jumping to time 537.296997 (offset 1183095280)
2012-02-18 23:21:01.314 [DEBUG][1] OnKeyDown() called: {CTRL}R, Control
2012-02-18 23:21:01.315 [DEBUG][1] Using timing.info, jumping to time 529.421997 (offset 1165738744)
2012-02-18 23:21:15.570 [DEBUG][1] OnKeyDown() called: {CTRL}Q, Control
The behavior is just the same when skipping with playback, but skipping with it paused makes the log much more clear. This recording is actually better than some - I've definitely had some where the skips were much closer to 5 seconds off, but I don't have an example right now.
I've included the Timing.Info and the comskip .edl file.
If you can fix or tweak whatever is causing this, I think you'll make a lot of users very happy.
server: NextPVR 5.0.7/Win10 2004/64-bit/AMD A6-7400k/hvr-2250 & hvr-1250/Winegard Flatwave antenna/Schedules Direct
main client: NextPVR 5.0.7 Desktop Client; LG 50UH5500 WebOS 3.0 TV
main client: NextPVR 5.0.7 Desktop Client; LG 50UH5500 WebOS 3.0 TV