一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于可靠UDP的实时超高清视频传输方法与流程

2021-10-24 05:38:00 来源:中国专利 TAG:传输 视频 实时 可靠 方法

一种基于可靠udp的实时超高清视频传输方法
技术领域
1.本发明属于超高清视频传输技术领域,特别是涉及一种基于可靠udp的实时超高清视频传输方法。


背景技术:

2.随着移动通信技术和安防行业的飞速发展,视频监控系统中出现了越来越多的无线超高清监控设备。无线超高清监控设备是指图像分辨率为4k以上,采用4g/5g移动通信技术传输视频的监控设备。超高清意味着视频的码率变大,传输时占用的带宽也相应地变大。但无线传输的带宽是有限的,且蜂窝网络的稳定性没有有线网络好,容易产生网络抖动。特别是车载设备,在移动过程中,网络信号不太稳定,会导致客户端预览到的视频出现延时、卡顿等现象。
3.常用的解决方案为,使用udp协议进行视频的传输。udp协议,即用户数据报协议,是一种无连接的传输层协议。因为udp协议的控制选项较少,在数据传输过程中延迟较小、效率较高,因此,非常适合无线传输时使用。但udp协议不对传送的数据包进行可靠性保证、顺序保证和流量控制,网络状况不好时,视频画面会经常出现花屏、马赛克等现象。
4.如何在充分利用udp协议实时性的同时,保证其可靠性,是提升视频传输质量的关键,如:现有专利[1]:基于mcu的视频会议系统及其视频传输丢包处理的方法(专利申请号:cn201010197483.0);现有专利[2]:一种基于tcp/udp混合协议的流媒体无线自适应传输方法(专利申请号:cn201410852842.x)。现有专利[1]使用udp传输两路子码流,且只有丢包处理,没有重传机制,在较恶劣的网络环境下,可能两路子码流都会出现严重丢包的现象。现有专利[2]使用一路tcp通道和一路udp通道同时进行码流的传输,在网络状况较差时,两个通道可能会互相影响和干扰,无法获得令人满意的视频效果。


技术实现要素:

[0005]
本发明的目的在于提供一种基于可靠udp的实时超高清视频传输方法,通过监控设备和服务端之间的定制交互协议,减少了udp丢包和乱序时重传的次数,并在各个传输通道内,优先发送服务端尚未接收到的数据;解决了现有超高清视频在移动通信环境下传输效果、实时性以及可靠性不佳的问题。
[0006]
为解决上述技术问题,本发明是通过以下技术方案实现的:
[0007]
本发明为一种基于可靠udp的实时超高清视频传输方法,包括如下步骤:
[0008]
a00:客户端向服务端发送预览命令,服务端转发预览命令至对应的监控设备;
[0009]
a01:监控设备内的采集模块采集视频并通过视频编码模块对视频编码后输出视频帧;
[0010]
a02:监控设备将视频帧划分成若干分片并对分片添加分片头部信息形成视频包,将视频包添加到待发送链表中;
[0011]
a03:监控设备从待发送链表顺次取出视频包,向服务端发送视频包同时记录成功
发送时间,并将视频包添加到传输通道对应的已发送链表中;
[0012]
a04:服务端接收监控设备发送的视频包后,将视频包添加到缓冲池中并生成对应的视频反馈包回传至对应的监控设备;
[0013]
a05:监控设备接收到服务端的视频反馈包后,对于每一个成功接收的视频包a,遍历传输通道对应的已发送链表中的每一个视频包b;若视频包b的传输序号等于视频包a的传输序号,则将视频包b从已发送链表中删除;若视频包b的传输序号小于视频包a的传输序号,则将视频包b从已发送链表中删除同时加入传输通道对应的优先发送链表中;
[0014]
a06:服务端按照视频包码流序号从缓冲池中依次取视频包;若视频包还未到达,则等待;若已到达,则根据视频包类型判断是否为同帧数据的起始包和结束包;将起始包与结束包之间的视频包重组成完整视频数据,并发送至客户端。
[0015]
作为一种优选的技术方案,a01前还包括:监控设备接收到预览命令后,从预览命令中解析出会话id并保存,初始化各个无线模块对应的udp传输通道。
[0016]
作为一种优选的技术方案,a02中分片头部信息包括会话id、视频通道号、传输通道号、视频包码流序号、视频包传输序号、视频包类型以及校验码。
[0017]
作为一种优选的技术方案,a03中监控设备在从待发送链表取视频包发送前,遍历每一个传输通道对应的优选发送链表的视频包,在该传输通道内进行优先发送;发送成功后,记录发送时间并将视频包添加到传输通道对应的已发送链表中。
[0018]
作为一种优选的技术方案,a03中发送视频包的方式如下:监控设备选择最近没发送数据的传输通道发送视频包;若发送失败,依次采用剩余最近没发送数据的传输通道发送视频包直至发送成功或尝试完所有传输通道。
[0019]
作为一种优选的技术方案,a04中视频反馈包包括传输通道号、视频包传输序号、当前传输序号的前32个视频包的接收情况以及校验码。
[0020]
作为一种优选的技术方案,所述监控设备定时检查每个传输通道对应的已发送链表中的每一个视频包;若当前时间与视频包发送时间的差值大于延时阈值;则从已发送链表中删除视频包并加入到待发送链表中。
[0021]
作为一种优选的技术方案,所述监控设备检测到任一传输通道发送时间阈值内没发送任何数据则向服务端发送心跳包;若监控设备与服务端在连接时间阈值内没有任何数据传输;则释放传输通道。
[0022]
本发明具有以下有益效果:
[0023]
本发明在udp协议的基础上,通过监控设备和服务端之间的定制交互协议,减少了udp丢包和乱序时重传的次数;同时,在各个传输通道内,优先发送服务端尚未接收到的数据,从而大大提高了视频传输的实时性和可靠性,并显著提升了超高清视频在移动通信环境下的传输效果。
[0024]
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
[0025]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附
图。
[0026]
图1为本发明的一种基于可靠udp的实时超高清视频传输方法的流程图。
具体实施方式
[0027]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0028]
请参阅图1所示,本发明为一种基于可靠udp的实时超高清视频传输方法,包括如下步骤:
[0029]
a00:客户端向服务端发送预览命令,服务端转发预览命令至对应的监控设备;
[0030]
a01:监控设备内的采集模块采集视频并通过视频编码模块对视频编码后输出视频帧;实际上,a01前还包括:监控设备接收到预览命令后,从预览命令中解析出会话id并保存,初始化各个无线模块对应的udp传输通道;
[0031]
a02:监控设备将视频帧划分成若干分片并对分片添加分片头部信息形成视频包,将视频包添加到待发送链表中;实际上,分片头部信息包括会话id、视频通道号、传输通道号、视频包码流序号、视频包传输序号、视频包类型以及校验码;具体的,分片头部信息中各数据作用如下:
[0032]
(a)会话id:用于标识监控设备与服务端间的会话;不同监控设备使用的会话id是不同的,也即能够通过会话id唯一标识监控设备与服务端间的会话;
[0033]
(b)视频通道号:用于标识第几路视频;当有多路视频时,服务端能够通过该信息判断接收到的视频包属于哪一路视频;
[0034]
(c)传输通道号:用于标识第几路传输通道;当车载监控设备上拥有多个无线模块时,会同时创建多个传输通道,以提高传输效率;
[0035]
(d)视频包码流序号:用于标识某路视频的视频包的顺序;对于同一路视频,视频包码流序号一直递增即可;
[0036]
(e)视频包传输序号:用于标识视频包在某个传输通道内的顺序。监控设备会使用该信息判断视频包在某个传输通道内是否丢失;
[0037]
(f)视频包类型:用于标识一个视频包的类型,具体包括:一帧的开始包、一帧的结束包、属于关键帧;
[0038]
(g)校验码:用于对头部信息进行校验;因为使用udp进行传输,无法保证数据的正确性,因此,在使用数据前,需要对数据进行校验;
[0039]
a03:监控设备从待发送链表顺次取出视频包,向服务端发送视频包同时记录成功发送时间,并将视频包添加到传输通道对应的已发送链表中;实际上,a03中监控设备在从待发送链表取视频包发送前,遍历每一个传输通道对应的优选发送链表的视频包,在该传输通道内进行优先发送;发送成功后,记录发送时间并将视频包添加到传输通道对应的已发送链表中;使用优先发送链表的目的是为了服务端能够更快地接收到当前更需要的视频包,更快地合成一帧完整的视频;此外,a03中发送视频包的方式如下:监控设备选择最近没发送数据的传输通道发送视频包;若发送失败,依次采用剩余最近没发送数据的传输通道
发送视频包直至发送成功或尝试完所有传输通道;若最终发送成功,记录下发送时间,并将该视频包加入传输通道对应的已发送链表中;因为udp传输是不可靠的,因此需要使用已发送链表来保存视频包,以备后面需要时进行重发;
[0040]
a04:服务端接收监控设备发送的视频包后,将视频包添加到缓冲池中并生成对应的视频反馈包回传至对应的监控设备;视频反馈包包括传输通道号、视频包传输序号、当前传输序号的前32个视频包的接收情况、校验码信息;对于乱序的视频包,不能将其直接丢弃,而应当缓冲起来以便后续使用,这样就不需要监控设备进行重发了;
[0041]
a05:监控设备接收到服务端的视频反馈包后,便掌握了32 1个视频包的接收情况;对于每一个成功接收的视频包a,遍历传输通道对应的已发送链表中的每一个视频包b;若视频包b的传输序号等于视频包a的传输序号,则认为发送成功,将视频包b从已发送链表中删除;若视频包b的传输序号小于视频包a的传输序号,则认为丢包了,将视频包b从已发送链表中删除同时加入传输通道对应的优先发送链表中;
[0042]
a06:服务端按照视频包码流序号从缓冲池中依次取视频包;若视频包还未到达,则等待;若已到达,则根据视频包类型判断是否为同帧数据的起始包和结束包;将起始包与结束包之间的视频包重组成完整视频数据,并发送至客户端。
[0043]
此外,监控设备定时检查每个传输通道对应的已发送链表中的每一个视频包;若当前时间与视频包发送时间的差值大于延时阈值;则从已发送链表中删除视频包并加入到待发送链表中;延时阈值为预设的用于判断视频包发送时间的临界值;超出该临界值,视频包从已发送链表中删除并加入到待发送链表,以便下次重新发送;同时,监控设备定时统计每个传输通道内的传输带宽、延时、丢包率等情况,并根据这些情况动态调整视频编码模块的帧率和码率;在延时和流畅度允许的范围内,尽可能使用更大的帧率和码率,以保证视频效果。
[0044]
同时,监控设备检测到任一传输通道发送时间阈值内没发送任何数据则向服务端发送心跳包;此处的发送时间阈值为预设值,为发送心跳包的间隔时间临界值;若监控设备与服务端在连接时间阈值内没有任何数据传输;则释放传输通道。
[0045]
实际使用时,本发明在udp协议的基础上,通过监控设备和服务端之间的定制交互协议,减少了udp丢包和乱序时重传的次数;同时,在各个传输通道内,优先发送服务端尚未接收到的数据,从而大大提高了视频传输的实时性和可靠性,并显著提升了超高清视频在移动通信环境下的传输效果。
[0046]
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0047]
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中。
[0048]
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅
受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜