首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用TCP上的RTSP抓取视频

使用TCP上的RTSP抓取视频
EN

Stack Overflow用户
提问于 2012-08-24 21:37:34
回答 4查看 3.7K关注 0票数 1

我想从带有RTSP的设备中检索一些视频数据。

UDP上的RTSP工作得很好,但我需要TCP上的RTSP。

在发出RTSP命令后,我收到了RTSP,但我不知道如何在这里处理它们。有效载荷如下:$channel -1字节数据

问题是,我会收到这样的数据包,有时还会收到通道为10或99等的其他数据包。

那么,谁能提供一些关于如何处理有效负载的输入?

EN

回答 4

Stack Overflow用户

发布于 2012-08-24 21:41:18

您可以在RFC 2326 "Real Time Streaming Protocol (RTSP)"中获得所有功能。你需要"10.12嵌入式(交错)二进制数据“:

流数据(如RTP包)由ASCII元符号(24个十六进制)封装,后跟单字节通道标识符,后跟封装的二进制数据的长度,以网络字节顺序显示为二进制、双字节整数。流数据紧随其后,没有CRLF,但包括上层协议报头。每个$块恰好包含一个上层协议数据单元,例如一个RTP分组。

这里也有一个小例子:

代码语言:javascript
复制
 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}
票数 2
EN

Stack Overflow用户

发布于 2012-08-24 22:05:02

获取PPS非常简单,实际上不需要解析数据包。

我猜,您的SPS请求将需要进入数据包(我认为您不需要担心WS msg“无效数据包”。

在PT中使用0x09的Type如何?

有关数据包的描述,请参阅here

在answer here中解包RTP的示例实现

尝试在here上查找与RTSP控制和SDP over TCP相关的更多信息。如果您正在查看RTSP会话/对话的详细信息,以及有关视频中各个轨道的控制协议选择的消息详细信息。如果你可以在不转向SDP / RTCP的情况下得到你的答案,那么很明显,这会更快/更好。

票数 1
EN

Stack Overflow用户

发布于 2012-09-01 17:41:57

以下是TCP/RTP的数据包格式:

代码语言:javascript
复制
[$ - 1byte][Transport Channel - 1byte][RTP data length - 2bytes][RTP data]

剩下的就像upd一样

有关更多信息,请阅读process raw rtp packets

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12110541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档