我有一个困惑,我搜索了一下,但没有得到任何答案。
我正在使用RTSP over HTTP隧道传输视频文件,然后当我看到网络共享来查看数据包的来源、目的地和协议时,我看到了UDP协议,尽管我使用的是RTSP over HTTP隧道。
谁能告诉我为什么我没有看到TCP协议而不是UDP协议的数据包从源发送到目的地?
发布于 2013-01-08 19:02:19
RTSP是一种网络控制协议。根据Wikipedia的说法,
协议的默认端口是554,用于UDP (不推荐使用且很少使用)和TCP传输。
结论:将使用UDP或TCP,这取决于您使用的服务器和设置。
发布于 2013-01-08 20:32:18
RTSP设置用于流式传输视频和音频的RTP流。它们可能是通过UDP发送的,而不是通过现有TCP连接通过隧道发送的。
仅仅因为RTSP是通过HTTP隧道传输的,并不能保证RTP流将被配置为使用相同的套接字。请求传输是由客户端决定的,但是您可以将服务器更改为只支持交错传输。请参阅此答案https://stackoverflow.com/a/3536969/759140
发布于 2013-01-09 03:12:50
非常正确,但是如果您指定在ffmpeg中使用tcp-transport,那么它应该使用TCP,前提是服务器已经为其配置了TCP。
如果您不指定任何传输选项,新版本的ffmpeg将尝试UDP,如果失败,它将重新尝试连接或TCP。
https://stackoverflow.com/questions/14213406
复制相似问题