不带RTSP的基于TCP的RTP(用于在FFmpeg中接收)

时间:2019-04-23 13:13:29

标签: ffmpeg libavformat

请让我解决一个基本问题,我无法阅读FFmpeg / libavformat文档。

FFmpeg可以消耗通过UDP协议从RTP输入的音频/视频。而且它也可以消耗RTSP流。最后,RTSP是一个控制协议(通过TCP),该协议通过SDP协商媒体。音频/视频可以传输:

  1. 通过使用单独的UDP“连接”发送RTP数据包。

  2. 通过共享控制协议和RTP的TCP连接。在这种情况下,通过在每个RTP数据包之前添加一些字节来对其进行封装,如下所示:

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

而且FFmpeg似乎同时支持上述方法1和2。

我的具体问题如下:

a。 FFmpeg可以在没有 RTSP的情况下通过TCP接收RTP吗?我的意思是:仅通过TCP连接发送RTP数据包,如上在RTSP中封装,或使用RFC 4571“在TCP上构建RTP帧”(这只需要在每个RTP数据包前面加上两个字节,指示数据包的长度)。

b。如果答案是。是“是”,FFmpeg可以充当TCP客户端(并连接到它将通过TCP接收RTP的远程端点)吗?还是必须充当接收RTP的TCP服务器?

0 个答案:

没有答案