RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。
RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。HTTP与RTSP相比,HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。
RTSP是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。
而前面提到的允许同时多个串流需求控制(Multicast),除了可以降低服务器端的网络用量,更进而支持多方视讯会议(Video Conference)。
因为与HTTP1.1的运作方式相似,所以代理服务器〈Proxy〉的快取功能〈Cache〉也同样适用于RTSP,并因RTSP具有重新导向功能,可视实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。
首先连接还是正常的使用videocapture()函数,传入地址后用imshow()读取视频流。
重点来了, rtsp流无法读取的时候。我们一般能在网络摄像头中找到有关码流的设置
其中主码流是rtsp格式,而辅码流是可以选择mpeg格式的。
这就是解决问题的重点,既然我们无法用imshow()函数播放rtsp码流,那么可以曲线救国,选择mpeg格式的辅助码流!
一开始想了一下,可能是 网络IO 的问题,但 网络IO情况下CPU是挂起的状态的状态
所以最终原因可能是:
推流rtsp的尺寸,编码参数会影响CPU
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)