I managed to produce a TransportStream, but to do so, i had to use the following setup:

MySource -> MPEG2TransportStreamFromESSource -> MPEG2TransportStreamFramer -> SimpleRTPSink

without the H264VideoStreamDiscreteFramer. The Framer wants the NAL units without the startcodes, but without the startcodes the bytestream is no longer an valid ElementaryStream, so the output of the Framer is no valid ElementaryStream and the result is, of course, no valid TransportStream. The output of the encoder including the startcodes is an valid ElementaryStream (see Annex B of H.264 Standard), so all i needed to do is to get rid of the H264Framer and get the data (discrete NAL units with the startcodes) directly to the MPEG2TransportStreamFromESSource.

Yes, you're correct.  That was an oversight on my part.


As a matter of fact, the transport stream is not playable on iOS and Android devices.

As I noted in my last message, I recommend that you first generate a Transport Stream *file*, and check whether VLC can play that file (i.e., locally; not streamed).
--

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to