On Thu, 26 Jun 2014 08:26:34 -0700 Bradley O'Hearne <[email protected]> wrote:
> > On Jun 25, 2014, at 4:29 AM, Marco Sieber <[email protected]> wrote: > > > I'm topposting because its my own.... i cant wait months for solutions, so > > because nobody had some crisp thoughts on that or even solutions.... > > So this is considered as a "push".... > > > > it didnt work with ffmpeg 2.x, like i thought... i guess i have to > > calculate pts/dts differently. i feel like the defaults in all the example > > arent enough. > > maybe i will start to figure out how quicktime decodes or plays the > > video... how it reads the pts/dts, if it reads them.. > > > > im clueless... but i dont want to discard all or using another framework. > > Marco — I empathize with your difficulties, I had similar. All I can pass on > is my experience. My use case was real-time webcam capture, encoding, and > streaming frames to a server — I had sync and playback problems too. I > inquired on this mailing list, and was told setting pts / dts would correct > the problem. Weeks of testing didn’t prove that to be true in my case. The > only way to make syncing and playback work was that you absolutely had to > provide whatever # of frames was set in the codec’s time_base to the encoder > *whether you received them or not*. In other words, if the time base > indicated 30fps, you couldn’t provide 15fps with proper pts and dts (double > duration). Playback (on any number of video players) would try to process > half the frames at 30fps, and thus the video played at double the speed (half > the proper time). > > I had this exact scenario — I was receiving exact pts / dts from the capture > source, but feeding that to the encoder didn’t work. The only way I could get > this to work was to force-feed 30 fps to the encoder. In other words, if > receiving 15 fps from the source, I had to feed each frame to the encoder > twice with modified pts / dts so that the encoder got its 30fps. Again, I was > working real-time, so if you are not, then perhaps your situation is > different. > > That’s the only light I can shed on experience with FFmpeg and pts / dts — I > read all the recommended docs on it, read through source code, and though I > tried every way I knew how, fixing those two things only doesn’t solve all > sync and playback issues. I know (well) that others will dispute this. But at > the end of the day, I produced code which proved otherwise, and posted it to > this list, and that was never demonstrated to be wrong. And for what its > worth, I had several people contact me off-list after I posted this to > confirm they were seeing the same behavior in their code. So take it for what > it is — if there is another explanation as to why this is, I am unaware, but > if one does surface, suffice to say I’ll be as interested as you. If this code is sufficiently minimal and self-contained, and can reproduce this problem, can you post it again? > > I don’t know if that helps, but that’s the best I can do to help. At the very > least, I hope it leads to a good direction to getting things solved. > > Good Luck. > > Brad > > _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
