[Live-devel] Converting H.264 RTP Video to MPEG-2 Transport Stream

Ross Finlayson finlayson at live555.com
Mon Apr 9 17:20:00 PDT 2012


> I have an application running on iPhone that generates an H.264 RTP
> video stream from camera. I wanna writing an application to convert
> the received H.264 stream to an MPEG-2 Transport Stream and then
> stream the live TS to another device.
> 
> my first try is modified the example "testH264VideoToTransportStream"
> , use H264VideoRTPSource to receive H.264 RTP stream from VLC, then
> try to convert it to TS

The problem here is that the output from "H264VideoRTPSource" is a sequence of raw H.264 NAL units - i.e., without 'start code's.  


> 3. H264VideoRTPSource -> MPEG2TransportStreamFromESSource -> MPEG2TransportStreamFramer -> SimpleRTPSink

This *should* work, with one modification: You will need to add a 'start code' (i.e., 0x00 0x00 0x00 0x01) before each NAL unit that comes out of the "H264VideoRTPSource".  You will need to do this - using a separate filter class (that you would write) - before you feed the output into a "MPEG2TransportStreamFromESSource".

Before doing this, though, I suggest that you do
	H264VideoRTPSource -> H264VideoFileSink (*not* just a "FileSink")
and then try running the (original, unmodified) "testH264VideoToTransportStream" application to generate a Transport Stream.  (Note that "H264VideoFileSink" adds 'start codes' before each NAL unit.)


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/20120409/71213de5/attachment.html>


More information about the live-devel mailing list