[发明专利]一种视频流传输方法和装置有效

专利信息
申请号: 201310711644.7 申请日: 2013-12-20
公开(公告)号: CN103731758A 公开(公告)日: 2014-04-16
发明(设计)人: 渠光杰;杜乾铖;马建平 申请(专利权)人: 北京欧迈特数字技术有限责任公司
主分类号: H04N21/647 分类号: H04N21/647;H04L29/12
代理公司: 上海脱颖律师事务所 31259 代理人: 脱颖
地址: 100085 北京市海淀*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 视频 流传 方法 装置
【说明书】:

技术领域

发明涉及智能网络视频监控技术,尤其涉及一种视频流传输方法和装置。

背景技术

流媒体服务器的主要功能是以流式协议(RTP/UDP等)将视频流传输到客户端,供监控员监视观看;或者发送到解码器,供解码器解码使用。

由于UDP协议是一种不可靠、无连接的简单传输协议,所以现有的视频流都无法保证数据能准确可靠地到达目的地,无连接的UDP套接口在传输中所引发的任何异步错误,内核都无法返回给他们所在的进程。

在目前阶段,为了保持视频流两端的稳定性,如图1所示,通常在客户端与媒体转发服务器之间存在视频流传输时增加实时流的心跳保活机制。但是,由于解码器的硬件资源有限且内置模块不宜更改,解码器很少能支持心跳保活机制。

在这种情况下,当解码器或者客户端出现崩溃现象的情况后,如图2所示,在解码器和客户端重启、重新请求视频流时,解码器或客户端会同时收到来自于媒体转发服务器的视频流和来自于其他IP地址或端口的视频流,使视频出现花屏、视频频繁切换等现象。而且,即使解码器和客户端没有重新请求视频流,视频流也会仍然继续发送,占用网络带宽。

同时,在一个未连接的UDP套接口上调用sendto函数时,源自Berkeley的内核暂时连接该套接口,发送数据,然后断开该连接。如果在一个未连接的UDP套接口上给两个数据报调用sendto函数,内核就需要执行下面六个步骤:1、连接套接口;2、输出第一个数据报;3、断开套接口;4、连接套接口;5、输出第二个数据报;6、断开套接口。由此,应用进程发送多个数据报时,会由于需要频繁地连接套接口和断开套接口而耗费UDP套接口的传输开销,使得系统效率低下。

发明内容

为了解决上述技术问题,本发明提供一种视频流传输方法和装置,该方法和装置可以用于媒体转发服务端或客户端,也可以在媒体转发服务器端和客户端同时使用。

根据本发明的第一方面,本发明提供一种视频流传输方法,该方法用于媒体转发服务器,包括如下步骤:

S11、初始化环境;

S12、创建UDP套接口;

S13、向所创建的套接口写数据;

S14、在视频转发服务器中,内核检查套接口写数据是否写入成功。如果写入成功,则继续执行步骤S13,对套接口继续写数据。如果写入不成功,则执行步骤S15;

S15、设置一个阈值,检查写数据连续不成功的累计次数是否超过该阈值,如果检查结果是未超过阈值,则继续执行步骤S13,对套接口继续写数据;如果检查结果是超过阈值,则继续执行步骤S16;

S16、将这路视频流的套接口关闭,不再发送视频流。

优选的,在步骤S14中,内核检查套接口写数据是否写入成功是通过检查是否存在立即可知的错误,如果不存在该错误,则数据写入成功,如果存在该错误,则数据写入不成功。

根据本发明的第二方面,本发明提供一种视频流传输方法,该方法用于客户端,包括如下步骤:

S21、初始化环境,创建UDP套接口;

S22、当尚未有视频流到达客户端的UDP套接口时,套接口处于阻塞状态;当有视频流到达时,客户端的接收进程从UDP套接口中接收数据,即读取数据;

S23、客户端的接收进程从所接收到的数据里解析出视频流的源IP地址和端口号,并将UDP套接口和源IP地址和端口进行连接,同时将UDP套接口设置为非阻塞。此时该UDP套接口只接收来自该源的视频流,来自其他IP地址和端口的视频流将会被丢弃。

S24、客户端的接收进程继续对该UDP套接口读取数据,检查是否读取成功,如果对套接口读取数据成功,则数据接收成功;如果读取不成功,则继续执行步骤S25;

S25、设置一个阈值,检查数据读取连续不成功的累计次数是否超过该阈值,如果检查结果是超过阈值,则认为从该源发过来的流已结束,执行步骤S26;如果检查结果是未超过阈值,则执行步骤S24,对套接口继续读数据;

S26、将这路视频流的套接口关闭,执行步骤S21,创建新的UDP套接口,等待新的视频流。

优选的,在步骤S24中,内核检查套接口读数据是否读取成功是通过检查是否存在立即可知的错误,如果不存在该错误,则数据读取成功,如果存在该错误,则数据读取不成功。

优选的,所述立即可知的错误是由已连接的UDP套接口引发的异步错误。

优选的,所述阈值的大小由现场的网络环境实际情况和用户的需求来定,阈值可以为0。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京欧迈特数字技术有限责任公司,未经北京欧迈特数字技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310711644.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top