【发布时间】:2012-12-22 05:06:18
【问题描述】:
我对此感到困惑,但没有得到任何答案。
我正在使用RTSP 通过HTTP 隧道传输视频文件,然后当我看到wire-shark 以查看数据包源和目标以及协议时,我看到了UDP 协议,尽管我使用的是RTSP HTTP 隧道。
谁能告诉我为什么我看不到TCP 协议而不是UDP 协议用于从源发送到目的地的数据包?
【问题讨论】:
标签: stream rtsp live555 http-tunneling
我对此感到困惑,但没有得到任何答案。
我正在使用RTSP 通过HTTP 隧道传输视频文件,然后当我看到wire-shark 以查看数据包源和目标以及协议时,我看到了UDP 协议,尽管我使用的是RTSP HTTP 隧道。
谁能告诉我为什么我看不到TCP 协议而不是UDP 协议用于从源发送到目的地的数据包?
【问题讨论】:
标签: stream rtsp live555 http-tunneling
RTSP 设置 RTP 流以流式传输视频和音频。它们可能是通过 UDP 而不是通过现有 TCP 连接的隧道发送的。
仅仅因为 RTSP 通过 HTTP 进行隧道传输,并不能保证 RTP 流将被配置为使用相同的套接字。请求传输由客户端决定,但您可以将服务器更改为仅支持交错传输。看到这个答案https://stackoverflow.com/a/3536969/759140
【讨论】:
RTSP 是一种网络控制协议。根据Wikipedia,
对于两个 UDP,RTSP 协议的默认端口都是 554(已弃用 并且很少使用)和 TCP 传输。
结论:将使用UDP或TCP,取决于您使用的服务器和设置。
【讨论】:
非常正确,但是如果您在 ffmpeg 中指定使用 tcp-transport,如果服务器配置了它,它应该使用 TCP。
如果您不指定任何传输选项,新版本的 ffmpeg 将尝试 UDP,如果失败将重试连接或 TCP。
【讨论】: