[发明专利]一种视频流传输方法和装置有效
申请号: | 201310711644.7 | 申请日: | 2013-12-20 |
公开(公告)号: | CN103731758A | 公开(公告)日: | 2014-04-16 |
发明(设计)人: | 渠光杰;杜乾铖;马建平 | 申请(专利权)人: | 北京欧迈特数字技术有限责任公司 |
主分类号: | H04N21/647 | 分类号: | H04N21/647;H04L29/12 |
代理公司: | 上海脱颖律师事务所 31259 | 代理人: | 脱颖 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 视频 流传 方法 装置 | ||
1.一种视频流传输方法,该方法用于媒体转发服务器,其特征在于,包括步骤:
S11、初始化环境;
S12、创建UDP套接口;
S13、向所创建的UDP套接口写数据;
S14、内核检查套接口写数据是否写入成功,如果写入成功,则继续执行步骤S13,对套接口继续写数据;如果写入不成功,则执行步骤S15;
S15、设置一个阈值,检查写数据连续不成功的累计次数是否超过该阈值,如果检查结果是未超过该阈值,则继续执行步骤S13,对套接口继续写数据;如果检查结果是超过该阈值,则执行步骤S16;
S16、将这路视频流的套接口关闭,不再发送视频流。
2.根据权利要求1所述的方法,其特征在于,其中步骤S14中,内核检查套接口写数据是否写入成功是通过检查是否存在立即可知的错误来实现,如果不存在该错误,则数据写入成功,如果存在该错误,则数据写入不成功。
3.一种视频流传输方法,该方法用于客户端,其特征在于,包括步骤:
S21、初始化环境,创建UDP套接口;
S22、当尚未有视频流到达客户端时,该UDP套接口处于阻塞状态;当有视频流到达时,客户端的接收进程从UDP套接口中接收数据,即读取数据;
S23、客户端的接收进程从所接收到的数据里解析出视频流的源IP地址和端口号,并将该UDP套接口和源IP地址和端口进行连接,同时将该UDP套接口设置为非阻塞;此时该UDP套接口只接收来自该源IP地址和端口的视频流,来自其他IP地址和端口的视频流将会被丢弃;
S24、客户端的接收进程继续对该UDP套接口读取数据,内核检查套接口读数据是否读取成功,如果对套接口读取数据成功,则数据接收成功;如果读取不成功,则继续执行步骤S25;
S25、设定一个阈值,检查数据读取连续不成功的累计次数是否超过该阈值,如果检查结果是超过阈值,则认为从该源IP地址和端口发过来的视频流已结束,执行步骤S26;如果检查结果是未超过阈值,则执行步骤S24,对套接口继续读数据;
S26、将这路视频流的该UDP套接口关闭,执行步骤S21,创建新的UDP套接口。
4.根据权利要求3所述的方法,其特征在于,其中步骤S24中,内核检查套接口读数据是否读取成功是通过检查是否存在立即可知的错误来实现,如果不存在该错误,则数据读取成功,如果存在该错误,则数据读取不成功。
5.根据权利要求2或4所述的方法,其特征在于,其中,所述立即可知的错误是由已连接的UDP套接口引发的异步错误。
6.根据权利要求1或3所述的方法,其特征在于,所述阈值的大小根据现场的网络环境实际情况和用户的需求来定。
7.根据权利要求4所述的方法,其特征在于,所述阈值为0。
8.一种媒体转发服务器的视频流传输装置,其特征在于,包括:
初始化环境的单元;
创建UDP套接口的单元;
向所创建的UDP套接口写数据的单元;
内核,检查套接口写数据是否写入成功,如果写入成功,则继续向所创建的UDP套接口写数据,如果写入不成功,则检查写数据连续不成功的累计次数是否超过预设的阈值;
检查写数据连续不成功的累计次数是否超过该阈值的单元,如果检查结果是未超过该阈值,则继续向所创建的UDP套接口写数据,如果检查结果是超过该阈值,则将这路视频流的套接口关闭;其中所述阈值是根据现场网络环境情况设置的;
将这路视频流的套接口关闭,不再发送视频流的单元。
9.一种客户端的视频流传输装置,其特征在于,包括:
初始化环境,创建UDP套接口的单元;
数据读取单元,当尚未有视频流到达客户端的UDP套接口时,套接口处于阻塞状态,当有视频流到达时,客户端的接收进程从UDP套接口中接收数据,即读取数据;
数据解析单元,从所接收到的数据里解析出视频流的源IP地址和端口号,并将UDP套接口和源IP地址和端口进行连接,同时将UDP套接口设置为非阻塞的单元,其中,该UDP套接口只接收来自该源IP地址和端口的视频流,来自其他IP地址和端口的视频流将会被丢弃;
内核,检查套接口读数据是否读取成功,如果对套接口读取数据成功,则数据接收成功,如果读取不成功,则检查数据读取连续不成功的累计次数是否超过预设的阈值;
检查数据读取连续不成功的累计次数是否超过该阈值的单元,如果检查结果是超过阈值,则认为从该源IP地址和端口发过来的视频流已结束,将这路视频流的套接口关闭,如果检查结果是未超过阈值,则对套接口继续读数据,其中,所述阈值是根据现场网络环境情况设定的;
将这路视频流的套接口关闭,并创建新的UDP套接口,等待新的视频流的单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京欧迈特数字技术有限责任公司,未经北京欧迈特数字技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310711644.7/1.html,转载请声明来源钻瓜专利网。