Confusion regarding RTSP over HTTP tunneling
我对此感到困惑,但没有得到任何答案。
我正在使用 RTSP 通过 HTTP 隧道传输视频文件,然后当我看到wire-shark 以查看数据包源和目标以及协议时,我看到了一个 UDP 协议,尽管我使用的是 RTSP HTTP 隧道。
谁能告诉我为什么我没有看到 TCP 协议而不是 UDP 协议用于从源发送到目标的数据包?
RTSP 设置 RTP 流以流式传输视频和音频。它们可能是通过 UDP 而不是通过现有 TCP 连接的隧道发送的。
仅仅因为 RTSP 通过 HTTP 进行隧道传输,并不能保证 RTP 流将被配置为使用相同的套接字。请求传输由客户端决定,但您可以将服务器更改为仅支持交错传输。请参阅此答案 https://stackoverflow.com/a/3536969/759140
-
先生,我在 live 555 的测试目录中使用了 2 个 live555 程序 "testMpeg2transportstreamer",在 live 555 的代理服务器目录中使用代理服务器,我正在向代理服务器程序提供 "testMpeg2transportstreamer" rtsp 服务器的 url,现在可以我发送 C->A: SETUP rtsp://audio.example.com/twister/audio.en RTSP/1.0 CSeq: 1 Transport: RTP/AVP/TCP;unicast;client_port=3056-3057 到 "testMpeg2transportstreamer"来自代理服务器请指导
-
您可能希望使用交错(rfc 2326 中的第 10.12 节)
-
先生,但最大的问题是如何将 SETUP 请求从代理服务器发送到 testMpeg2transportstreamer
-
先生,我从客户端向服务器发出了设置命令,设置命令是这样的interleaved=0-1 接收到 84 个新字节的响应数据。收到完整的 SETUP 响应:RTSP/1.0 461 Unsupported Transport CSeq:4 日期:2013 年 1 月 10 日星期四 06:32:42 GMT 并收到显示的响应,但没有得到任何流,您可以进一步指导
-
您的 RTSP 服务器似乎不支持交错传输。
-
先生,您能告诉我一件事,即 rtsp over http 隧道意味着所有数据包都将使用 tcp 发送吗?
-
@Ajinkya 这绝对不是那个意思。这仅意味着 RTSP 数据包将通过 HTTP 连接发送。数据包将使用 RTP 发送。它们将根据 SETUP 消息的传输标头发送。
-
所以wireshark会将UDP显示为正在发送的数据包的协议
-
有什么办法可以将代理服务器的拆解请求发送到后端服务器
-
请回复此查询先生 stackoverflow.com/questions/14752569/...
-
先生,请回复此 stackoverflow.com/questions/14811574/...
RTSP 是一种网络控制协议。根据维基百科,
The default port for the RTSP protocol is 554 for both UDP (deprecated
and very rarely used) and TCP transports.
结论:将使用UDP或TCP,取决于您使用的服务器和设置。
- 我们使用 RTSP over HTTP Tunneling 那么为什么 wireshark 显示 UDP 协议
-
RTSP over HTTP 隧道并不意味着将使用 TCP。由于 TCP 比 UDP 有更多的开销,实时流将更喜欢使用 UDP,因为会产生更少的流量。顺便说一句,你为什么要使用 TCP ?尝试阻塞 554 端口的 UDP,看看 LIVE555 是否会切换到 TCP。
-
如何阻止554端口的UDP请指导
-
这是一个防火墙设置。取决于您使用的防火墙。
-
我在窗口 7 中使用内置防火墙
-
运行 firewall.cpl 。在 LIVE555 机器的 554 端口拒绝出站 UDP。
-
先生,我想要的是当我从我的流媒体流式传输视频时,它应该显示 tcp 数据包正在被发送到目标,在 wireshark 中插入 od UDP
-
先生,如果我确实"运行 firewall.cpl。在您的 LIVE555 机器中的端口 554 拒绝出站 UDP",那么没有流式传输
-
让我们在聊天中继续讨论
-
先生,如果 RTSP over HTTP 隧道并不意味着将使用 TCP,那么 RTSP over HTTP 隧道的用途是什么,它会做什么?
-
有什么办法可以将代理服务器的拆解请求发送到后端服务器
-
请回复此先生 stackoverflow.com/questions/14752569/...
-
请回复此 stackoverflow.com/questions/14811574/...
非常正确,但是如果您在 ffmpeg 中指定使用 tcp-transport,如果服务器已为其配置,则它应该使用 TCP。
如果你不指定任何传输选项,新版本的 ffmpeg 将尝试 UDP,如果失败,它将重试连接或 TCP。