[FFmpeg-user] Regarding RTP over TCP without RTSP (for receiving in FFmpeg)

Iñaki Baz Castillo ibc at aliax.net
Thu Apr 18 18:00:14 EEST 2019

Hi, let me please a basic question that I cannot resolve by reading
the documentation.

FFmpeg can consume audio/video from a RTP input over UDP protocol. And
it can also consume a RTSP stream. At the end, RTSP is a control
protocol (over TCP) which negotiates the media by means of a SDP.
Audio/video can be transmitted:

1) By using a separate UDP "connection" to send RTP packets.

2) By sharing the TCP connection for both, control protocol and RTP.
In this case each RTP packet is encapsulated by prepending it with
some bytes as follows:

    | magic number | channel number | embedded data length | RTP packet |

And it seems that FFmpeg supports both methods 1 and 2 above.

My specific questions are the following:

a) Can FFmpeg receive RTP over TCP **without** RTSP? I mean: just RTP
packets over a TCP connection, encapsulated as above in RTSP or by
using RFC 4571 "Framing RTP over TCP" [1] (which just requires
prepending two bytes indicating the packet length).

b) If the answer to a) is "yes", can FFmpeg behave as TCP client (and
connect to the remote endpoint from which it will receive RTP over
TCP)? or must it behave as TCP server for receiving RTP?

Thanks a lot.

[1] https://tools.ietf.org/html/rfc4571

Iñaki Baz Castillo
<ibc at aliax.net>

More information about the ffmpeg-user mailing list