基于可伸缩选择窗口的视频流文件传输方法及装置的制造方法

文档序号:8343235阅读:247来源:国知局
基于可伸缩选择窗口的视频流文件传输方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,具体而言,涉及一种基于可伸缩选择窗口的视频流文件传输方法及装置。
【背景技术】
[0002]通常,在两个视频监控平台对接的过程中,一方的平台(例如视频代理服务器、流媒体发送端)会向另一方的平台(例如视频代理客户端、流媒体接收端)传输监控视频流。而在低速网络环境下传输高清监控视频流时,往往会由于网络带宽的限制而造成接收端在播放视频流时存在拖影、花屏等现象,从而给视频的传输和浏览质量造成严重的影响,从而影响整个对接效果。
[0003]虽然随着光纤宽带技术的发展和普及,上述这种窄带宽的情况会得到很大程度的改善,但是在网络出现拥塞时,基于网络带宽瓶颈的视频传输问题仍然会存在并困扰着用户。另一方面,流媒体发送端往往会按照全帧率编码向流媒体接收端发送视频流,当然,这在网络资源丰富的情况下没有问题。但当网络出现拥塞,导致带宽资源受限时,采取全帧率编码以发送视频流的方式则是不合时宜的。
[0004]专利名称为《视频编码的码率控制方法及视频数据的发射设备》,申请(专利)号为200710032756.4的中国专利文献提供了一种码率控制的方法。其根据RTCP (RealtimeTransport Control Protocol,实时传输控制协议)心跳动态地调整编码的码率,但是其中贞率并没有做调整,采用该技术方案只能针对前端编码设备,而不能针对监控平台,这是因为监控平台无法针对码率做调整,且会影响到视频的清晰度。
[0005]专利名称为《应用于移动视频监控系统的移动视频码流定制装置及方法》,申请(专利)号为200910110307.6以及专利名称为《无线视频监控系统及根据网络状况动态调整码流的方法》,申请(专利)号为201010295223.7的两件中国专利文献则提供了一种码率、分辨率、编码格式转换的整体方法,该技术方案针对浏览并发量较少的视频流的情况是有效的,但是该技术方案无法适用于大规模浏览并发的情况。

【发明内容】

[0006]鉴于视频监控平台在对接过程中存在的上述问题,本发明实施例提出了一种基于可伸缩选择窗口的视频流文件传输方法及装置,所述方法根据视频监控平台对接过程中流媒体发送端和流媒体接收端的网络情况,动态地调整发送策略。
[0007]为了达到本发明的目的,本发明采用以下技术方案实现:
[0008]一种基于可伸缩选择窗口的视频流文件传输方法,其包括:
[0009]在获取到视频代理客户端VAC (Video Agent Client,视频代理客户端)发送的视频请求之后,视频代理服务器VAS (Video Agent Server,视频代理服务器)据此从相应视频源获取RTP (Real-time Transport Protocol,实时传送协议)数据包并将其先放入缓冲器并组织成视频帧数据后发送至视频代理客户端VAC,以使缓冲器获取RTP数据包的头信息以确定多个视频帧数据,并依据这些视频帧数据获取视频源的原始发送帧率;
[0010]视频代理服务器VAS创建半径大小等于所述原始发送帧率的发送循环队列,并初始化发送滑动窗口大小,其中,所述发送滑动窗口用于滑动地选中发送循环队列中一次性被发送的视频帧数据对象,所述发送滑动窗口大小限定了所述发送滑动窗口每次在发送循环队列上滑动的距离;
[0011]视频代理服务器VAS将获取的RTP数据包组织成视频帧数据后放入发送循环队列,所述发送循环队列依据发送滑动窗口大小将视频帧数据发送至视频代理客户端VAC。
[0012]优选地,在获取到视频代理客户端VAC发送的视频请求之后,视频代理服务器VAS据此从相应视频源获取RTP数据包的步骤包括:
[0013]视频代理服务器VAS获取视频代理客户端VAC发送的至少携带了目标视频源身份标识ID (Identity,身份标识)信息、流媒体的初始化参数SDP (Sess1n Descript1nProtocol,用以描述流媒体的初始化参数的会话描述协议)信息以及同步源标识符SSRC(Synchronizat1n Source Identifier,同步源标识符)信息的视频请求;
[0014]视频代理服务器VAS向视频代理客户端VAC发送2000K应答消息作为回应;
[0015]在视频代理客户端VAC向视频代理服务器VAS发送ACK确认消息之后,视频代理服务器VAS依据所述目标视频源身份标识ID信息、流媒体的初始化参数SDP信息以及同步源标识符SSRC信息向相应的视频源获取RTP数据包。
[0016]优选地,所述缓冲器包括RTP时间戳属性单元、标志位MARK值属性单元、RTP包序列号属性单元、在缓冲器接收到视频源发送的第一个RTP数据包被触发依照一预设固定时间间隔进行定时计时的定时器、帧计数器、帧统计器以及比较器,其中,缓冲器获取RTP数据包的头信息以确定多个视频帧数据,并依据这些视频帧数据获取视频源的原始发送帧率的步骤包括:
[0017]当缓冲器接收到视频源发送的一个RTP数据包时,如果RTP时间戳属性单元以及标志位MARK值属性单元的初始值为0,则依据该当前RTP数据包的时间戳信息以及MARK值信息更新RTP时间戳属性单元以及标志位MARK值属性单元;否则,调用比较器比对RTP时间戳属性单元以及标志位MARK值属性单元中的时间戳和mark值是否与当前RTP数据包一致,若不一致,则依据该当前RTP数据包的时间戳信息以及MARK值信息更新RTP时间戳属性单元以及标志位MARK值属性单元,并控制帧计数器以及RTP包序列号属性单元的数值分别加I ;
[0018]定时器在每次计时时,其将当前时刻以及帧计数器信息维护至帧统计器中;
[0019]缓冲器将当前该RTP数据包转发给视频代理客户端VAC,并将该RTP数据包的RTP序列号更新至RTP包序列号属性单元;
[0020]重复上述步骤,直至定时器的定时时间到。
[0021]优选地,发送循环队列依据发送滑动窗口大小将视频帧数据发送至视频代理客户端VAC的步骤包括:
[0022]视频代理服务器VAS通过视频代理客户端VAC定期发送的RTP控制协议RTCP( RTPControl Protocol, RTP控制协议)心跳获取当前丢包率信息;
[0023]视频代理服务器VAS依据所述丢包率信息动态调整所述发送滑动窗口大小;
[0024]发送循环队列依据发送滑动窗口大小将视频帧数据发送至视频代理客户端VAC。
[0025]优选地,视频代理服务器VAS依据所述丢包率信息动态调整所述发送滑动窗口大小的方法为:
[0026]当当前丢包率的变化率为提高时,增大所述发送滑动窗口的大小;
[0027]当当前丢包率的变化率为降低时,减少所述发送滑动窗口的大小。
[0028]一种基于可伸缩选择窗口的视频流文件传输装置,包括:
[0029]获取模块,用于在获取到视频代理客户端VAC发送的视频请求之后,据此从相应视频源获取实时传送协议RTP数据包并将其先放入缓冲器;
[0030]缓冲器,用于将所述RTP数据包组织成视频帧数据后发送至视频代理客户端VAC,以及进一步用于获取RTP数据包的头信息以确定多个视频帧数据,并依据这些视频帧数据获取视频源的原始发送帧率;
[0031]创建模块,用于创建半径大小等于所述原始发送帧率的发送循环队列,并初始化发送滑动窗口大小,其中,所述发送滑动窗口用于滑动地选中发送循环队列中一次性被发送的视频帧数据对象,所述发送滑动窗口大小限定了所述发送滑动窗口每次在发送循环队列上滑动的距离;
[0032]处理模块,用于在创建模块创建发送循环队列之后,将获取模块获取的RTP数据包组织成视频帧数据后放入发送循环队列,以使得所述发送循环队列依据发送滑动窗口大小将视频帧数据发送至视频代理客户端VAC。
[0033]优选地,在获取到视频代理客户端VAC发送的视频请求之后,获取模块据此从相应视频源获取RTP数据包的方法为:
[0034]获取视频代理客户端VAC发送的至少携带了目标视频源身份标识ID信息、流媒体的初始化参数SDP信息以及同步源标识符SSRC信息的视频请求;
[0035]向视频代理客户端VAC发送2000K应答消息作为回应;
[0036]在视频代理客户端VAC向视频代理服务器VAS发送ACK确认消息之后,依据所述目标视频源身份标识ID信息、流媒体的初始化参数SDP信息以及同步源标识符SSRC信息向相应的视频源获取RTP数据包。
[0037]优选地,所述缓冲器包括RTP时间戳属性单元、标志位MARK值属性单元、RTP包序列号属性单元、在缓冲器接收到视频源发送的第一个RTP数据包被触发依照一预设固定时间间隔进行定时计
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1