RTSP正在获取流数据
RTSP getting stream data
我有一个IP摄像机,可以通过RTSP向我提供媒体数据。
我开发了一个获取媒体数据的应用程序。
我使用C++和Qt3。
我创建了套接字。将其连接到我的设备IP端口=554。
我首先查询
设置rtsp://192.168.4.160/ufirststreamRTSP/1.0\r\nCSeq:1\r\n传输:RTP/AVP;client_port=554\r\n\r\n
得到一个答案:
RTSP/1.0 200 OKCSeq:1日期:2012年3月24日星期六17:24:59 GMT传输:RTP/AVP;单播;destination=192.168.4.186;source=192.168.4.160;client_port=0-1;server_port=2000-2001会议:413F4DDB
我解析它以获取会话值,然后执行下一个查询:
播放rtsp://192.168.4.160/ufirststreamRTSP/1.0CSeq:1会议:413F4DDB
服务器说:
RTSP/1.0 200 OKCSeq:1日期:2012年3月24日星期六格林尼治标准时间17:25:02会议:413F4DDBRTP信息:url=rtsp://192.168.4.160/ufirststream/track1;seq=6716;rtptime=406936171
如何获取媒体数据???我原以为PLAY方法会让服务器给我一个流,但它只给了我一个rtsp的url和其他信息。。。
我需要一个来自相机的二进制流,你能给我下一步的建议吗??
SETUP
请求的Transport
标头指示将使用哪个协议发送流,client_port
指示客户端将侦听的端口。
尝试打开两个连续的UDP端口,并将该范围作为client_port=port1-port2
而不是554传递。这两个端口将用于RTP和RTCP流(视频和控制数据)。
此外,RTP端口号应该是偶数,RTCP端口应该是下一个奇数(如果您希望端口范围是随机的,而不是用户选择的,请参阅该问题)。
相关文章:
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- 如何在 C++ 中获取中继器的委托数据?
- 从 Rcpp Catch 测试中获取有关"inst/extdata"的数据
- C++ - 忽略并从其他文件获取数据
- 如何获取C++字符数据类型的地址
- 从存储为 Windows 资源 (c++) 的 png 中获取 png 文件数据
- 很好的语法来获取对向量/数组数据的大小引用?
- 如何从网站获取数据并将其传输到数据库?
- 获取文件数据预处理器宏
- 与多个 for 循环与单个 for 循环 wrt 相关的性能从多映射获取数据
- 如何在新的派生对象中获取基本对象的数据?
- 如何从 CSV 获取数据并将其存储在 C++ 中的表对象中
- 如何使用CAPL的诊断功能获取CAN传输的数据(256字节)?
- 获取 R 数据帧的内存地址
- 当 c++ 需要一种数据类型并获取另一种数据类型时会发生什么?
- 从更改日志获取最新的 USN 数据
- 套接字:在没有memcpy的情况下,使用recvfrom将UDP数据获取到字对齐的缓冲区
- 如何将控制台输出数据获取到命令提示符下
- 将零mq消息数据获取到std::vector<char>
- 从指定坐标[x, y]处的位图数据获取像素颜色