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

Reply via email to