一种流媒体传输方法技术

技术编号:15441792 阅读:124 留言:0更新日期:2017-05-26 06:50
本发明专利技术涉及一种流媒体传输方法,分为五步,第一步,播放视频,将视频转换成视频帧,并编码压缩,第二步,将编码压缩后的视频帧送入应用发送缓冲区,使用流量调度模型决定如何处理编码压缩后的视频帧,并决定应用发送缓冲区的延时级别,第三步,送入TCP发送缓冲区,划分为报文段并检查发送错误,第四步,在TCP接收缓冲区中,恢复成视频帧发送给播放缓冲区,第五步,经过在播放缓冲区的等待,再进行视频的播放,本发明专利技术在应用层建立了一个发送缓冲区,通过对视频帧在该缓冲区和TCP发送缓冲区之间进行调度,大幅度减少了等待延时,进而显著降低了端到端的延时,并使得传输速率能够匹配网络的可用带宽,确保视频的服务质量。

Streaming media transmission method

The invention relates to a streaming media transmission method, is divided into five steps, the first step, the video, the video into video frames, compression, encoding and the second step, the video frame encoding compressed into the application of the send buffer, using the flow scheduling model to decide how to deal with the compressed video frame encoding, and decision the application of the send buffer delay level, the third step into the TCP sending buffer, divided into segments and check the transmission error, the fourth step in the TCP in the buffer, restore video frames are transmitted to a playback buffer, the fifth step, after playing buffer waiting, then the video player, the the invention establishes a send buffer in the application layer, based on video frame scheduling between the buffer and TCP sending buffer, can greatly reduce the waiting time, and thus decrease the end The end-to-end delay enables the transmission rate to match the available bandwidth of the network and ensures the quality of service of the video.

【技术实现步骤摘要】
一种流媒体传输方法
本专利技术涉及流媒体传输领域,涉及一种流媒体传输方法。
技术介绍
实时流媒体是下一代网络的主要传输对象,将极大地影响人们日常生活。使用传输实时流媒体具有对网络状况反应迅速、友好、易于为防火墙所接受、便于实现与维护等优点,但同时也存在着传输中无法自适应网络可用带宽的波动、重传易增加媒体包的延时抖动等问题,这些都大幅降低了实时流媒体的服务质量与传输质量,因此,需要突破以上问题,寻找一种良好的流媒体传输方法。
技术实现思路
有鉴于此,本专利技术提供一种解决或部分解决上述问题的流媒体传输方法。为达到上述技术方案的效果,本专利技术的技术方案为:一种流媒体传输方法,包含以下步骤:1)在网络开始播放视频,当播放请求开始时,将视频通过以每秒50帧的固有采样频率进行采样转换成视频帧,将视频帧以每秒20帧的帧率送入编码器进行编码压缩,编码器的编码时延等于帧率的倒数;2)将编码压缩后的视频帧送入应用发送缓冲区,应用发送缓冲区用于临时存储编码压缩后的视频帧,在应用发送缓冲区中使用流量调度模型决定如何处理应用发送缓冲区中的编码压缩后的视频帧;流量调度模型设置应用发送缓冲区的延时级别,当发现应用发送缓冲区中的编码压缩后的视频帧为空时,根据编码器的编码时延以及应用发送缓冲区的延时级别,提取符合编码器的编码时延的编码压缩后的视频帧送入应用发送缓冲区中,将应用发送缓冲区中的编码压缩后的视频帧根据应用发送缓冲区的延时级别调入TCP发送缓冲区,并且保证TCP发送缓冲区中只存在一个编码压缩后的视频帧,对应用发送缓冲区中的编码压缩后的视频帧根据缓冲时间自适应算法进行相应处理,缓冲时间自适应算法将应用发送缓冲区中的缓存看作是动态变化的,并且设置预留缓存去暂时存放应用发送缓冲区溢出的编码压缩后的视频帧,在不存在溢出现象时,对预留缓存进行回收,并记录预留缓存的回收率、应用发送缓冲区的延时级别;应用发送缓冲区的延时级别被分为延时等级一、延时等级二、延时等级三;延时等级一表示在应用发送缓冲区的等待时间为0,即如果应用发送缓冲区中存在两个及以上的编码压缩后的视频帧时,只保留最先送入应用发送缓冲区的编码压缩后的视频帧,相反应用发送缓冲区中的编码压缩后的视频帧直接经过应用发送缓冲区进入TCP发送缓冲区;延时等级二表示在应用发送缓冲区的等待时间等于编码器的编码时延,即应用发送缓冲区中最多存在两个编码压缩后的视频帧,只保留最先送入应用发送缓冲区的两个编码压缩后的视频帧;延时等级三表示在应用发送缓冲区的等待时间等于编码器的编码时延的2倍,即应用发送缓冲区中最多存在三个编码压缩后的视频帧,只保留最先送入应用发送缓冲区的三个编码压缩后的视频帧;3)到达TCP发送缓冲区的编码压缩后的视频帧将首先被协议栈根据其的大小分为多个报文段,对报文段进行排序,并且用序号进行标识,将TCP发送缓冲区中的报文段发送给TCP接收缓冲区,其中,依照滑动窗口和拥塞控制机制来控制多个报文段的发送,在发送的过程中使用发送控制器,发送控制器中存在着一个报文大小的缓存,当发送时,将正在发送的报文连同序号、发送的时间存入发送控制器的缓存中,并监视报文段的发送,当序号不连续时,发现报文段丢失,确定丢失的报文段,从发送控制器的缓存取出报文段;4)在所述TCP接收缓冲区中,将多个报文段重构恢复成编码压缩后的所述视频帧,将其通过解码器进行解码并恢复成视频帧,立即送入接收方播放缓冲区;5)设置视频的播放速率以及视频帧在接收方播放缓冲区中的等待时间,视频帧在接收方播放缓冲区中的等待时间等于视频的播放速率倒数的两倍,视频帧在接收方播放缓冲区经过接收方播放缓冲区中的等待时间后,才能进行视频的播放。本专利技术的有益成果是:本专利技术在应用层建立了一个发送缓冲区,通过对视频帧在该缓冲区和TCP发送缓冲区之间进行调度,大幅度减少了视频帧的等待延时,进而显著降低了总的端到端的延时,并使得传输速率能够匹配网络的可用带宽,确保视频的服务质量。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本专利技术进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术,能实现同样功能的产品属于等同替换和改进,均包含在本专利技术的保护范围之内。具体方法如下:实施例1:本专利技术设置了多个缓冲区,缓冲区的特性如下:TCP发送缓冲区由协议栈管理和维护,应用程序并不能处理该缓冲区中的数据,缓冲区中的所有视频帧都必须依据的流量与拥塞控制机制进行发送,因此当一个视频帧仍处于发送状态,而后续视频帧又已进入发送缓冲区时,需要对其中进行处理,发送速率较小,而应用层的视频帧数据仍以固定帧率持续送入发送缓冲区时,将最终导致发送缓冲区溢出,从而使得随后产生的视频帧将被直接丢弃,造成视频播放质量的显著降低或丢失重要场景信息。应用程序无法直接管理或者绕过发送缓冲区,克服其固有的缺点,本专利技术设计了一个位于应用层的发送缓冲区,为应用在编码后的视频帧进入TCP发送缓冲区以前,先将其送入该应用缓冲区。设计的应用发送缓冲区用于临时存储编码后的视频帧,并根据调度模型对所存储的视频帧进行调度。应用发送缓冲区具有延时级别,应用发送缓冲区的延时级别被分为延时等级一、延时等级二、延时等级三;延时等级一表示在应用发送缓冲区的等待时间为0,即如果应用发送缓冲区中存在两个及以上的编码压缩后的视频帧时,只保留最先送入应用发送缓冲区的编码压缩后的视频帧,相反应用发送缓冲区中的编码压缩后的视频帧直接经过应用发送缓冲区进入TCP发送缓冲区;延时等级二表示在应用发送缓冲区的等待时间等于编码器的编码时延,即应用发送缓冲区中最多存在两个编码压缩后的视频帧,只保留最先送入应用发送缓冲区的两个编码压缩后的视频帧;延时等级三表示在应用发送缓冲区的等待时间等于编码器的编码时延的2倍,即应用发送缓冲区中最多存在三个编码压缩后的视频帧,只保留最先送入应用发送缓冲区的三个编码压缩后的视频帧;接收缓冲区的特性在于它不会将提前到达、乱序到达的报文段提前提交给应用层,而是必须等待一个窗口中的所有报文段都到达以后才向应用层提交数据。这保证了报文段的丢失或者是乱序到达对于应用程序而言是透明的,应用程序无需再进行丢包检测与排序工作。实施例二:对缓冲区的进一步优化:播放缓冲区位于应用层,其设计目的是为了消除视频帧的不规则到达所造成的抖动,所有被发送缓冲区提交给应用层的视频帧会首先进入播放缓冲区,并最多等待一个播放延时。播放缓冲区的另一个重要用途在于消除重传所造成的延时抖动,即如果传输过程中造成了报文段丢失,如果丢失报文段的重传所引起的较大延时能够被播放缓冲区消除,则这种丢失与重传对于接受方应用程序是透明的。本专利技术对播放缓冲区采取静态法和动态法相结合的方式,即在会话初始阶段采用静态法设置播放缓冲延时为固定的两个帧大小,即缓冲区延时为两倍的编码延时,并据此来设定视频帧发送延时需要满足的必要条件而当发现网络拥塞较为严重,使用自适应传输策略仍然不能有效消除延迟抖动时,则依据模型,采用动态法对播放缓冲进行适当调整。对应用发送缓冲缓冲区进一步优化,记录视频帧的总数和被应用层发送缓冲区丢弃的视频帧的总数,据此计算丢弃率。当网络拥塞严重,造成网络丢包现象增多时,会立即缩小拥塞窗本文档来自技高网...

【技术保护点】
一种流媒体传输方法,其特征在于,包含以下步骤:1)在网络上开始播放视频,当播放请求开始时,将视频通过以每秒50帧的固有采样频率进行采样转换成视频帧,将所述视频帧以每秒20帧的帧率送入编码器进行编码压缩,所述编码器的编码时延等于所述帧率的倒数;2)将编码压缩后的所述视频帧送入所述应用发送缓冲区,所述应用发送缓冲区用于临时存储所述编码压缩后的所述视频帧,在所述应用发送缓冲区中使用流量调度模型决定如何处理所述应用发送缓冲区中的所述编码压缩后的所述视频帧;所述流量调度模型设置所述应用发送缓冲区的延时级别,当发现所述应用发送缓冲区中的所述编码压缩后的所述视频帧为空时,根据所述编码器的编码时延以及所述应用发送缓冲区的延时级别,提取符合所述编码器的编码时延的所述编码压缩后的所述视频帧送入所述应用发送缓冲区中,将所述应用发送缓冲区中的所述编码压缩后的所述视频帧根据所述应用发送缓冲区的延时级别调入TCP发送缓冲区,并且保证所述TCP发送缓冲区中只存在一个所述编码压缩后的所述视频帧,对所述应用发送缓冲区中的所述编码压缩后的所述视频帧根据缓冲时间自适应算法进行相应处理,所述缓冲时间自适应算法将所述应用发送缓冲区中的缓存当作是动态变化的,并且设置预留缓存去暂时存放从所述应用发送缓冲区中溢出的所述编码压缩后的所述视频帧,在不存在溢出现象时,对所述预留缓存进行回收,并记录所述预留缓存的回收率、所述应用发送缓冲区的延时级别;将所述应用发送缓冲区的延时级别被分为延时等级一、延时等级二、延时等级三;所述延时等级一表示在所述应用发送缓冲区的等待时间为0,即如果所述应用发送缓冲区中存在两个及以上的所述编码压缩后的所述视频帧时,只保留最先送入所述应用发送缓冲区的所述编码压缩后的所述视频帧,相反所述应用发送缓冲区中的所述编码压缩后的所述视频帧直接经过所述应用发送缓冲区进入所述TCP发送缓冲区;所述延时等级二表示在所述应用发送缓冲区的等待时间等于所述编码器的编码时延,即所述应用发送缓冲区中最多存在两个所述编码压缩后的所述视频帧,只保留最先送入所述应用发送缓冲区的两个所述编码压缩后的所述视频帧;所述延时等级三表示在所述应用发送缓冲区的等待时间等于所述编码器的编码时延的2倍,即所述应用发送缓冲区中最多存在三个所述编码压缩后的所述视频帧,只保留最先送入所述应用发送缓冲区的三个所述编码压缩后的所述视频帧;3)到达所述TCP发送缓冲区的所述编码压缩后的所述视频帧将首先被协议栈根据其的大小分为多个报文段,对所述报文段进行排序,并且用序号进行标识,将所述TCP发送缓冲区中的所述报文段发送给TCP接收缓冲区,其中,依照滑动窗口和拥塞控制机制来控制多个所述报文段的发送,在发送的过程中使用发送控制器,所述发送控制器中存在着一个所述报文大小的缓存,当发送时,将正在发送的所述报文连同所述序号、发送的时间存入所述发送控制器的缓存中,并监视所述报文段的发送,当所述序号不连续时,发现所述报文段丢失,确定丢失的所述报文段,从所述发送控制器的缓存取出所述报文段;4)在所述TCP接收缓冲区中,将多个所述报文段重构恢复成所述编码压缩后的所述视频帧,将其通过所述解码器进行解码并恢复成所述视频帧,立即送入接收方播放缓冲区;5)设置视频的播放速率以及所述视频帧在所述接收方播放缓冲区中的等待时间,所述视频帧在所述接收方播放缓冲区中的等待时间等于所述视频的播放速率倒数的两倍,所述视频帧在所述接收方播放缓冲区经过所述接收方播放缓冲区中的等待时间后,才能进行视频的播放。...

【技术特征摘要】
1.一种流媒体传输方法,其特征在于,包含以下步骤:1)在网络上开始播放视频,当播放请求开始时,将视频通过以每秒50帧的固有采样频率进行采样转换成视频帧,将所述视频帧以每秒20帧的帧率送入编码器进行编码压缩,所述编码器的编码时延等于所述帧率的倒数;2)将编码压缩后的所述视频帧送入所述应用发送缓冲区,所述应用发送缓冲区用于临时存储所述编码压缩后的所述视频帧,在所述应用发送缓冲区中使用流量调度模型决定如何处理所述应用发送缓冲区中的所述编码压缩后的所述视频帧;所述流量调度模型设置所述应用发送缓冲区的延时级别,当发现所述应用发送缓冲区中的所述编码压缩后的所述视频帧为空时,根据所述编码器的编码时延以及所述应用发送缓冲区的延时级别,提取符合所述编码器的编码时延的所述编码压缩后的所述视频帧送入所述应用发送缓冲区中,将所述应用发送缓冲区中的所述编码压缩后的所述视频帧根据所述应用发送缓冲区的延时级别调入TCP发送缓冲区,并且保证所述TCP发送缓冲区中只存在一个所述编码压缩后的所述视频帧,对所述应用发送缓冲区中的所述编码压缩后的所述视频帧根据缓冲时间自适应算法进行相应处理,所述缓冲时间自适应算法将所述应用发送缓冲区中的缓存当作是动态变化的,并且设置预留缓存去暂时存放从所述应用发送缓冲区中溢出的所述编码压缩后的所述视频帧,在不存在溢出现象时,对所述预留缓存进行回收,并记录所述预留缓存的回收率、所述应用发送缓冲区的延时级别;将所述应用发送缓冲区的延时级别被分为延时等级一、延时等级二、延时等级三;所述延时等级一表示在所述应用发送缓冲区的等待时间为0,即如果所述应用发送缓冲区中存在两个及以上的所述编码压缩后的所述视频帧时,只保留最先送入所述应用发送缓冲区的所述编码压缩后的...

【专利技术属性】
技术研发人员:李旭
申请(专利权)人:深圳云视融通科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1