我使用ffmpeg
使用RTP协议流式传输视频。为什么我不能将多个流发送到一个RTP端口,但使用RTP的RTSP可以?我启动了一个RTSP服务器,它侦听8554 TCP端口和8000/8001 RTP/RTCP。它可以很容易地将视频和音频流接收到一个8000端口,我已经用wireshark检查过了。但当我尝试使用ffmpeg对纯RTP进行同样的操作时,它会向我打印一个错误
Only one stream supported in the RTP muxer
如果我想用声音流式传输视频,我必须将它们分成两个流,并发送到不同的RTP端口。或者我可以通过RTP让它在一个端口接收多个流?
你能解释一下为什么会这样吗?
RTP的RFC在这里解释了
例如,在电话会议中由分别编码的音频和视频媒体组成,每种媒体应在具有自己目的地的单独RTP会话中进行传输地址。
单独的音频和视频流不应在单个流中承载RTP会话,并基于有效载荷类型或SSRC进行解复用字段。使用不同RTP媒体类型交错数据包,但是使用相同的SSRC将引入的几个问题
另请参阅多路复用指南草案RFC。因此,可以多路传输RTP流,但您使用的软件可能不支持它。
然而,我无法回答RTSP是如何处理的。答案可能在RFC 中