我想从具有RTSP的设备获取一些视频数据。通过TCP通过RTSP获取视频
UDP上的RTSP运行良好,但我需要通过TCP。
发出RTSP命令后,我收到RTP,但我不知道如何在这里处理它们。 有效载荷是如下:$ [信道 - 1个字节] [长度 - 2字节] [数据]
的事情是,我接收这些分组,有时还包,其中信道是10或99等
那么有谁能请提供一些关于如何处理有效载荷的输入?
我想从具有RTSP的设备获取一些视频数据。通过TCP通过RTSP获取视频
UDP上的RTSP运行良好,但我需要通过TCP。
发出RTSP命令后,我收到RTP,但我不知道如何在这里处理它们。 有效载荷是如下:$ [信道 - 1个字节] [长度 - 2字节] [数据]
的事情是,我接收这些分组,有时还包,其中信道是10或99等
那么有谁能请提供一些关于如何处理有效载荷的输入?
全部在RFC 2326 "Real Time Streaming Protocol (RTSP)"。需要“10.12嵌入式(交叉存取)二进制数据”:如RTP分组
流数据由ASCII美元符号(24进制),后跟一字节信道标识符封装,随后的长度封装的二进制数据为网络字节顺序中的二进制双字节整数。流数据紧随其后,没有CRLF,但包括上层协议头。每个$块恰好包含一个上层协议数据单元,例如一个RTP分组。
有一个小例子,有作为:
S->C: $\000{2 byte length}{"length" bytes data, w/RTP header}
S->C: $\000{2 byte length}{"length" bytes data, w/RTP header}
S->C: $\001{2 byte length}{"length" bytes RTCP packet}
这是TCP/RTP数据包格式:
[$ - 1byte][Transport Channel - 1byte][RTP data length - 2bytes][RTP data]
剩下的就是像UPD
更多信息阅读process raw rtp packets
这是我所遵循的确切文件;但我没有足够的数据。此外,我使用Wireshark检查了输入,并看到以下消息:[格式错误的数据包:RTP]。我是否应该将RTP的所有有效负载连接起来,直到接收到另一个负载,如您描述的第一行中的两行?另外,有效载荷非常大,而数据长度只能说22个字节。在这种情况下,我可以从哪里获取PPS和SPS? –
它应该基本上是您通过UDP接收的相同数据。 –