[Live-devel] H.264 Byte-stream (with audio), framer to use and syncing audio

Craig Matsuura cmatsuura at vivint.com
Sat Jan 9 14:45:54 PST 2016


Hi Ross,


I have a question in regards to using a H264VideoStreamDiscreteFramer vs H264VideoStreamFramer.


If I understand correctly a Source Byte-stream with start-code and follows an NAL you feed the source to a H264VideoStreamFramer. This Framer can parse a Byte-stream formatted h.264 stream. I found this at the following post from you.


http://blog.gmane.org/gmane.comp.multimedia.live555.devel/month=20130201


Not too long ago Eric from AlphaNetworks was doing the same thing, but with a video (Byte-Stream) and audio and having sync with the audio and video. You recommended using a H264VideoStreamDiscreteFramer. This requires a NAL per framer *without* the start-code? In a ByteStreamH264BufferSource the deliverFrame is one NAL (without a start-code)?


http://lists.live555.com/pipermail/live-devel/2014-September/018686.html


So in the event you have a Byte-stream source, is there anyway to sync up the audio when using the H264VideoStreamFramer? And if not does I assume that means we need to parse the Byte-stream and for each NAL strip the start-code provide each NAL as a frame, when using the H264VideoStreamDiscreteFramer? Is there an example of taking a video source of a byte-stream parsing it and providing to a Discrete Framer, so that audio can be in sync? (Ideally we could use the H264VideoStreamFramer, that already parses the Byte-stream (with start-codes) as that is done for us with H264VideoStreamFramer, but there appears there are audio sync issues?)


What I have noticed is when using a H264VideoStreamFramer, it works well with gstreamer playbin2 (runs for hours with audio - there are sync issues), other clients we have work, not so good with vlc (seems to get out of sync and video stops working). Seems the live555 client code in vlc would work well with a live555 rtsp server? (I know vlc is not your software, but the client live555 is, if I understand correctly). Are we suppose to send the entire frame from the encoder with start-codes (except the first start-code) when we use a H264VideoStreamDiscreteFramer? If stripping the first start-code and using the discrete framer, vlc and gstreamer can play video and audio (seems more in sync), but other clients we have have trouble playing video/audio (Not removing all start-codes and delivering a payload of NALs from the deliverFrame seems incorrect based on what I read from your post to Eric).


I hope that all makes sense.


Thanks for your feedback.


Craig


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20160109/648843e1/attachment.html>


More information about the live-devel mailing list