I am trying to generate a transport stream, streaming H.264. I've read a lot of postings in the mailing list and studied the examples (testH264VideoToTransportStream and testMPEG2TransportStreamer), but as a matter of fact my software won't work. First, i implemented a stream via rtp using a rtsp server and feeding single, raw H264 NAL units to it, this works fine, when streaming to VLC on another PC.

Good.


But i tested this stream and it did not work with iOS and Android.

That's the fault of those systems. First, iOS does not support RTSP (at least, not with "Safari" or any other standard, preinstalled app). And although Android allegedly supports RTSP (according to the link that Karl Dietz noted), people have noted on this mailing list that it doesn't seem to work (at least not with our servers).

(Note: If anyone can identify a specific interoperability issue that prevents Android's RTSP/RTP client from working with our server software, then please let us know.)


So i used the streaming functionality of VLC to test which stream is okay for iOS and Android and decided to use a transport stream.

Note that these systems can play Transport Streams using the "HTTP Live Streaming" protocol. Our server software support this protocol, but *only* for pre-recorded (and pre-indexed) Transport Stream *files*. Our server software *cannot* stream Transport Stream data - using "HTTP Live Streaming" - from a *live source*. So if that's what you're trying to do, then you're out of luck. Sorry.


But if you still want to generate and stream Transport Stream data:

And at this point I'm stuck ... My application provides a stream, i can connect to that stream with VLC, VLC fills it buffer but do not display anything, also no errors or warning.

I suggest that you first make sure that your generated Transport Stream data is OK, and then (and only then) worry about how to stream it. I.e., I suggest that you first generate a Transport Stream *file*, and make sure that media players can play that file OK.


I got a source, which provides discrete NALunits, without the startcode, but i can eassily change this.

NO! The NAL units that you input to "H264VideoStreamDiscreteFramer" *must not* begin with the 0x00000001 start code.


 And I use the following setup of live555:

MySource -> H264VideoStreamDiscreteFramer -> MPEG2TransportStreamFromESSource -> MPEG2TransportStreamFramer -> SimpleRTPSink

I suggest that you first try
MySource -> H264VideoStreamDiscreteFramer -> MPEG2TransportStreamFromESSource -> FileSink
and make sure that your generated Transport Stream file is OK.
--

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