[Live-devel] RTSP H264 frame inversion

Ross Finlayson finlayson at live555.com
Tue Feb 1 20:45:01 PST 2011


>Yes, your input device object should be setting the 
>"fPresentationTime" field in its implementation of 
>"doGetNextFrame()", when it delivers each NAL unit.
>
>
>Concerning this point, I've a misunderstanding about how set this 
>value. I'll explain : my frames are coming in a decoding order, that 
>means that for an IDR period like "IBBP", I've "IPBB". So, if each 
>time I proceed a "doGetNextFrame()" I set the fPresentationTime to 
>the value given by gettimeofday(), I see clearly that my video is 
>displayed in decoding order. So, do I've to adapt my 
>fPresentationTime to give a later timestamp for PFrames that 
>dependent BFrames?

The last "Informative Note" in section 5.1 of RFC 3984 suggests that 
yes, you should do this -  i.e., if you have "B" frames, the 
presentation times should not be monotonically increasing.


>In my mind, this will be do with a picture timing value given in 
>SEI, but if I check the Live555 code, I just see an "empty" 
>analyze_sei_data() function with the comment "Later, perhaps adjust 
>"fPresentationTime" if we saw a "pic_timing" SEI payload??? #####"

That's because - when I coded "H264VideoStreamFramer" - I had yet to 
see a stream that had any "pic_timing" SEI payloads.  However, once 
you've generated such a stream, as a ".264" (and verified that VLC 
plays it properly, when renamed as ".h264"), please send me a copy, 
and I'll update our framer implementation accordingly.
-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20110201/6e7c4940/attachment-0001.html>


More information about the live-devel mailing list