[mythtv-users] Commercial skips about 5-15 seconds early
kuphal at dls.net
Sat Oct 15 19:56:52 EDT 2005
Chris Pinkham wrote:
>>Chris, this problem has existed for a long time with software encoding
>>but I hadn't ever wanted to bother you with it. If a file is damaged
>>by a pegged CPU, temporary loss of signal or any other reason that
>>might cause a significant number of dropped frames, the commercial
>>markers will be off by the same amount for the remainder of the show.
>>I assume that this is because the frame numbers are sequential and
>>don't count the dropped frames while something else is assuming the
>>frame number should be time * framerate.
>mythcommflag is using the frame number from the video frame itself
> VideoFrame* currentFrame = nvp->GetRawVideoFrame();
> currentFrameNumber = currentFrame->frameNumber;
>I think I used to use my own frame counter that just did currentFrameNumber++
>a long time ago but it also was off in some cases of corrupt files I believe.
>NVP updates its frame counter from the decoder's framesPlayed. I think the
>issue may be with different ways that framesPlayed is handled in the decoders
>or a difference when you just play frame-by-frame vs. when you use
>DoFastForward/DoRewind which reset framesPlayed based on the seek.
>Kevin, If you are using software encoding, can you try a couple changes
>in ClassicCommDetector.cpp? Change the declaration of currentFrameNumber
>to inialize it to 0. Then change the above
>"currentFrameNumber = currentFrame->frameNumber;" to just currentFrameNumber++;
>Then rerun mythcommflag for one of these recordings and see if that helps or
>fixes things for these software-encoded recordings.
I made this change but did not see any change.
More information about the mythtv-users