[Live-devel] mpeg-ts over UDP

Ran Shalit Ran.Shalit at comm-it.com
Wed Apr 22 13:07:41 PDT 2015


I would please like to ask if live555 can be used for streaming mpeg-ts over UDP (without RTP).

Yes, our software can be used to send (and/or receive) Transport Stream data over raw-UDP.  However, you should first ask yourself if this is something that you *really* want.  Streaming over raw UDP (i.e., without RTP framing) is discouraged, because - without RTP - you miss out on several benefits, including support for reordering out-of-order network packets, and RTCP statistics.

To send Transport Stream data over raw-UDP, use a “BasicUDPSink”.  If you have a RTSP server (for example, the “testOnDemandRTSPServer” demo application code for streaming a Transport Stream file “test.ts”; see “testProgs/testOnDemandRTSPServer.cpp”, line 236), then the server will automatically deliver a Transport Stream-over-raw-UDP stream, if requested by a RTSP client.  HOWEVER, there is no standard mechanism defined in RTSP for how to request a raw-UDP Transport Stream.  We implement an ad hoc mechanism that is used by many video set-top boxes.  However, this is not a standard (because people should not really be streaming over raw-UDP to begin with)!

To receive Transport Stream data over raw-UDP, use a “BasicUDPSource”.  If you have a RTSP client (using our “RTSPClient” code), then it will automatically request a Transport Stream-over-raw-UDP stream, using an ad hoc (non-standard) mechanism, *if* the stream’s SDP description (as returned by the RTSP “DESCRIBE” command) indicated (again, using an ad hoc, non-standard mechanism) that the stream was MPEG Transport over raw-UDP.

If you are using our RTSP client code in combination with our RTSP server code, then you cannot stream over raw-UDP; instead, you will get standard streaming over RTP.  Our RTSP client or server code supports MPEG Transport streaming over raw-UDP *only if* the other side (RTSP server or client, respectively) is a non-standard server or client (not using our code) that also supports it.
Hi,
Thanks you very much for the detailed answer.
I understand that the solution for mpeg-ts over UDP will still require usage of RTSP client-server request-response mechanism, Right ?
I'm not sure if I can use RTSP in my case, I think it is plain mpeg-ts over udp.
Thank you,
Ran

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


More information about the live-devel mailing list