[Live-devel] H.264 RTP Marker Bit
Chris Richardson (WTI)
chris at gotowti.com
Tue Mar 31 13:51:15 PDT 2015
Hi Ross,
I use LIVE555 to stream video from an H.264 encoder over RTSP/RTP, and I
have recently updated my system to support sending multiple slices per
frame. Internally, I use my own DeviceSource-based class to feed single
NALs to an instance of H264VideoStreamDiscreteFramer, which then feeds
either a passive session or an on-demand session.
I was watching the RTP data in Wireshark and I noticed that the RTP
marker-bit is being set for each slice of each frame. This is normal,
according to the code in
H264or5VideoStreamDiscreteFramer::afterGettingFrame1 that sets the marker
bit based on isVCL(). Some clients handle this fine, but QuickTime does
not, and I would like to support QuickTime. For testing, I verified that
QuickTime will play the stream fine if I set the marker bit only on the last
slice of each frame.
My DeviceSource-based class knows when it is sending the last slice of each
frame, but naturally the H264VideoStreamDiscreteFramer does not have any way
to access this information.
Would you be amenable to a patch that added a hook to
H264or5VideoStreamDiscreteFramer (or H264or5VideoStreamFramer), which would
allow a subclass to specify whether the RTP marker bit should be set? The
default implementation would just return isVCL(...), and my derived class
would access the out of band information I have for each frame when deciding
if the marker bit should be set or not.
Thanks for your time,
Chris Richardson
WTI
More information about the live-devel
mailing list