CN107666593A - 一种波动网络环境下的视频实时传输方法 - Google Patents

一种波动网络环境下的视频实时传输方法 Download PDF

Info

Publication number
CN107666593A
CN107666593A CN201710759875.3A CN201710759875A CN107666593A CN 107666593 A CN107666593 A CN 107666593A CN 201710759875 A CN201710759875 A CN 201710759875A CN 107666593 A CN107666593 A CN 107666593A
Authority
CN
China
Prior art keywords
mrow
network
code stream
coding
mfrac
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710759875.3A
Other languages
English (en)
Other versions
CN107666593B (zh
Inventor
丁海斌
陈海欣
严红
崔隽
孟德鑫
姚东浩
邓佳磊
包亮
赵侃侃
江振亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 28 Research Institute
Original Assignee
CETC 28 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 28 Research Institute filed Critical CETC 28 Research Institute
Priority to CN201710759875.3A priority Critical patent/CN107666593B/zh
Publication of CN107666593A publication Critical patent/CN107666593A/zh
Application granted granted Critical
Publication of CN107666593B publication Critical patent/CN107666593B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Abstract

本发明公开了一种波动网络环境下的视频实时传输方法,包括:步骤1、进行双路码流同时编码,其中一路为高清流,记为StreamOrigin;另一路为实时流,记为StreamDynamic;步骤2、在传输缓存中同时缓存一定时长的高清流StreamOrigin以及实时流StreamDynamic;步骤3、双码流不同时传输,根据切换策略延迟切换;步骤4、动态生成编码器调度策略:根据网络发送缓冲区情况及用户调度策略进行编码器调度策略实时更新。

Description

一种波动网络环境下的视频实时传输方法
技术领域
本发明属于视频直播技术领域,涉及到视频数据的编解码以及传输分发技术,尤其涉及一种波动网络环境下的视频实时传输方法。
背景技术
随着网络上下行带宽的提升,网络可承载的内容越来越丰富,网络的接入方式也越来越多,相应的网络环境也越来越复杂。随着移动网络、智能手持终端的普及以及移动直播的兴起,除了视频转发服务本身的业务功能和并发性能,高清视频实时通信还需要考虑无线信道下固有的带宽波动以及种类繁多的视频采集与播放终端不同的硬件处理能力。目前,如何适应波动网络带宽下不同硬件能力的视频采集与播放终端,如何保障视频的实时高质量传输已经成为流媒体领域的研究热点与挑战。
波动网络环境下的视频实时传输,除了需要根据自身设备的网络性能与硬件编解码能力进行,迫切需要流媒体分发服务根据采集、转发服务、播放端的传输情况提供全局的动态控制能力,从而自动实时适应各种不同环境下高质量的流媒体实时传输,解决严重影响用户体验的“延时”、“视频质量”问题,利用现有网络带宽提供最大化的流媒体传输能力。
目前主流的视频直播技术,主要存在以下几个问题:首屏加载时间长,视频不能适应网络波动的情况,如常见的移动网络场景,码流切换时画面一直处于黑屏或加载中,编码参数如分辨率,需要用户手动设置等情况,严重影响用户体验,不适应如今移动网络普及下用户的需求。
发明内容
本发明的目的在于针对现有技术的不足,提供一种波动网络环境下的视频实时传输方法。
实现本发明目的的技术解决方案为:一种波动网络环境下的视频实时传输方法,步骤如下:
步骤1、双码流动态编码:进行双路码流同时编码,其中一路为高清流,记为StreamOrigin;另一路为实时流,记为StreamDynamic;
步骤2、双码流时移缓存:在传输缓存中同时缓存一定时长的高清流StreamOrigin以及实时流StreamDynamic,一般至少缓存一个完整GOP时长;其中,GOP(GroupofPictures,画面组)即以关键帧开始的最长视频帧序列,且该视频帧序列中有且只有一个关键帧;
步骤3、双码流传输切换:双码流不同时传输,根据切换策略延迟切换;
步骤4、动态生成编码器调度策略:根据网络发送缓冲区情况及用户调度策略进行编码器调度策略实时更新,若由于网络原因(阻塞或带宽不足等)导致发送缓冲区数据满,则触发实时流StreamDynamic动态降低实时流视频质量,优先满足实时传输;若由于编码器性能不够导致转发服务端输入缓冲区满,则先触发实时流StreamDynamic降低实时流视频质量,如果编码器仍负载过多,如编码性能已占100%,则继续触发高清流StreamOrigin降低高清流质量,优先满足提供功能服务。
步骤1中双码流动态编码步骤如下:
步骤1-1、编码器按照用户调度命令或发送端预设的默认配置参数,如帧率、分辨率、码率等,进行实时编码,即编码器调度器调度编码器组,调动两路编码器同时编码,一路码流为高清流StreamOrigin,另一路码流为实时流StreamDynamic;
步骤1-2、高清流StreamOrigin按照配置的最高质量进行编码,高清流StreamOrigin分辨率和码率上限为用户设置的期望参数(如设置分辨率和码率上限的期望参数分别720P和2Mbps);
实时流StreamDynamic按照实际网络情况及编码器调度策略,动态调节编码质量或码率,以保证视频实时流畅传输,实时流StreamDynamic分辨率和码率动态可变,但不超过高清流StreamOrigin。
步骤2中对双码流进行缓存时,在传输缓存中分别对双码流缓存一个GOP画面组。如果需要支持高清即时回放,则高清流StreamOrigin需缓存多个GOP画面组,具体GOP画面组个数与支持回放时长有关;
步骤3监听用户操作,动态生成切换策略包括如下步骤:
步骤3-1、监听用户操作,动态生成切换策略;
步骤3-2、根据切换策略,进行传输码流延迟切换,如从StreamOrigin切换至StreamDynamic时,需确保双码流传输切换动作延时至StreamDynamic的关键帧到来时真正生效,即将切换动作延迟至第一次接收到StreamDynamic的关键帧。从而确保播放端不会出现花屏或卡顿的情况。基于模块的松耦合考虑,双码流切换对于网络发送模块来说是透明的,因此,播放端也不会出现一般方法中出现的缓冲加载时显示黑屏的情况。双码流时移缓存及传输切换机制能够支持用户暂停以缓存高清视频时移播放,实时预览时对感兴趣内容进行即时高清回放,也支持用户进入直播模式时,恢复实时优先模式;
步骤3-1包括如下步骤:
步骤3-1-1、监听用户操作,当用户暂停时,切换为传输高清流StreamOrigin,支持播放端暂停以缓存高清视频进行时移播放;
步骤3-1-2、当用户拖动进度条时,切换为传输缓存中的高清流StreamOrigin,支持实时预览时对感兴趣内容进行即时高清回放;
步骤3-1-3、当用户进入直播模式时,切换为传输实时流StreamDynamic,恢复默认的实时有限模式。
步骤4包括如下步骤:
步骤4-1,在采集端进行网络情况分析及网络发送缓冲区分析;
步骤4-2,转发服务接收解码端进行网络情况分析及网络发送缓冲区分析;
步骤4-3,转发服务编码发送端进行网络情况分析及网络发送缓冲区分析。
步骤4-1包括:
步骤4-1-1,设当前采集端网络发送缓冲区当前已缓冲的数据尺寸为capBufferedSize,测试的缓冲区数据满的经验阈值为capBufOverflowThreshold,测试的缓冲区数据不足的经验阈值为capBufUnderflowThreshold;阈值设置不当,容易造成画面卡顿或流切换频繁,降低用户体验;经过实际测试,一般阈值设置满足以下公式:
步骤4-1-2,若采集端接收到转发服务或播放端的进行调度的通知,转至步骤4-1-3;若采集端接收到业务结束命令,则进行步骤4-1-8;否则,进行步骤4-1-4;
步骤4-1-3,更改采集端的编码质量、码率上限、码流路数,即时生效;
步骤4-1-4,若capBufferedSize<capBufUnderflowThreshold,则判定网络发送缓冲区数据不足,转到步骤4-1-6;否则,执行步骤4-1-5;
步骤4-1-5,若capBufferedSize>capBufOverflowThreshold,则判定网络发送缓冲区数据满,转到步骤4-1-7;否则,执行步骤4-1-2;
步骤4-1-6,编码器动态提升编码质量(如10%)、码率上限(如10%)、码流路数(如1路),但不超过步骤1-1中预设的默认配置参数;码流路数等于配置参数中设定值,因为要保证每一路码流都能提供服务;返回执行步骤4-1-2;
步骤4-1-7,编码器动态降低编码质量(如10%)、码率上限(如10%)、码流路数(如1路),码流路数最低不小于步骤1-1中预设的默认配置参数中设定值,因为要保证每一路码流都能提供服务;返回执行步骤4-1-2。
步骤4-2包括:
步骤4-2-1,设当前服务端网络接收缓冲区当前已缓冲的数据尺寸为recvNetBufferedSize,测试的网络接收缓冲区数据满的经验阈值为recvNetBufOverflowThreshold,测试的网络接收缓冲区数据不足的经验阈值为recvNetBufUnderflowThreshold;解码接收缓冲区的尺寸为recvDecCodeBufferedSize,测试的解码接收缓冲区数据满的经验阈值为recvDecCodeBufOverflowThreshold,测试的解码接收缓冲区数据不足的经验阈值为recvDecCodeBufUnderflowThreshold;经过实际测试,一般阈值设置满足以下公式:
a)
b)
步骤4-2-2,定义:若recvNetBufferedSize<recvNetBufUnderflowThreshold,则判定网络接收缓冲区数据不足;若recvNetBufferedSize>recvNetBufOverflowThreshold,则判定网络接收缓冲区数据满;若recvDecCodeBufferedSize<recvDecCodeBufUnderflowThreshold,则判定解码负载空闲;若recvDecCodeBufferedSize>recvDecCodeBufOverflowThreshold,则判定解码负载超载;
步骤4-2-3,服务端监测网络接收缓冲区及自身解码负载情况,若采集端接收到业务结束命令,则进行步骤4-2-12;否则,进行步骤4-2-4;
步骤4-2-4,若网络接收缓冲区数据不足且解码负载空闲,转到步骤4-2-5;否则,进行步骤4-2-6;
步骤4-2-5,通知采集端动态提升参数,包括编码质量(如10%)、码率上限(如10%)、码流路数(如1路),提升的参数不能超过服务端设置的最大值;返回进行步骤4-2-3;
步骤4-2-6,若网络接收缓冲区数据不足且解码负载超载,转到步骤4-2-7;否则,进行步骤4-2-8;
步骤4-2-7,通知解码器降低解码路数(如1路);返回进行步骤4-2-3;
步骤4-2-8,若网络接收缓冲区数据满且解码负载空闲,转到步骤4-2-9;否则,进行步骤4-2-10;
步骤4-2-9,通知解码器提升解码路数(如1路);进行步骤4-2-3;
步骤4-2-10,若网络接收缓冲区数据满且解码负载超载,转到步骤4-2-11;否则,进行步骤4-2-3;
步骤4-2-11,通知采集端动态降低编码质量(如10%)、码率上限(如10%)、码流路数(如1路),返回进行步骤4-2-3。
步骤4-2-12,采集端停止服务。
步骤4-3包括:
步骤4-3-1,设当前服务端网络发送缓冲区当前已缓冲的数据尺寸为sendNetBufferedSize,测试的网络接收缓冲区数据满的经验阈值为sendNetBufOverflowThreshold,测试的网络接收缓冲区数据不足的经验阈值为sendNetBufUnderflowThreshold;编码接收缓冲区的尺寸为recvEncCodeBufferedSize,测试的编码接收缓冲区数据满的经验阈值为recvEncCodeBufOverflowThreshold,测试的编码接收缓冲区数据不足的经验阈值为recvEncCodeBufUnderflowThreshold;
步骤4-3-2,定义:若sendNetBufferedSize<sendNetBufUnderflowThreshold,则判定网络发送缓冲区数据不足;若sendNetBufferedSize>sendNetBufOverflowThreshold,则判定网络发送缓冲区数据满;若recvDecCodeBufferedSize<recvDecCodeBufUnderflowThreshold,则判定编码负载空闲;若recvDecCodeBufferedSize>recvDecCodeBufOverflowThreshold,则判定编码负载超载;经过实际测试,一般阈值设置如下比较合适:
步骤4-3-3,服务端监测网络发送缓冲区及自身编码负载情况,若采集端接收到业务结束命令,则进行步骤4-3-12;否则,进行步骤4-3-4;
步骤4-3-4,若网络发送缓冲区数据不足,转到步骤4-3-5;否则,进行步骤4-3-6;
步骤4-3-5,通知采集端动态提升参数,包括编码质量、码率上限、码流路数,提升的参数不能超过服务端设置的最大值;返回进行步骤4-3-3;
步骤4-3-6,若编码负载超载,转到步骤4-3-7;否则,进行步骤4-3-8;
步骤4-3-7,通知采集端动态降低编码路数、编码质量、码率上限,进行步骤4-3-3;
步骤4-3-8,若编码负载空闲,转到步骤4-3-9;否则,进行步骤4-3-10;
步骤4-3-9,通知编码器降低编码质量、码率上限,进行步骤4-3-3;
步骤4-3-10,若网络发送缓冲区数据满,转到步骤4-3-11;否则,进行步骤4-3-3;
步骤4-3-11,通知编码器动态降低编码质量、码率上限、码流路数,进行步骤4-3-3;
步骤4-3-12,服务端停止服务。
本发明方法主要解决在波动网络环境下保证视频数据实时传输的问题。该方法首先通过在视频的收发两端和服务器端转码处理的前后加上一些实时策略进行监控调度,配合提出的双码流时移缓存及切换输出机制,使视频数据包的生成、分发能够更好地适应波动的网络环境,能够充分利用网络带宽进行数据传送。本发明不仅能够在网络波动的环境下保证视频实时流畅传输,同时避免了传统单路码流预设分辨率或码率编码导致的网络带宽的浪费,而且能够自适应网络波动,显著提高当前实时网络环境下的视频质量。
该方法能够适应波动的网络环境和各种不同的设备性能的硬件设备,包括采集、服务器以及播放终端,可以在保证低延时的前提下,显著提高视频的传输质量。下面是本发明中常用专业名词概念的相关解释:
采集端:音视频信号源,如摄像头,主要用于采集原始音视频数据并进行传输;
网络发送/接收缓冲区:用于暂时缓存数据,以待发送/处理,可以根据缓冲区剩余数据的大小,统计并分析网络情况;
转发服务:提供数据接收、缓存、转码与发送功能;
转发服务接收解码端:转发服务的输入端,主要完成网络接收数据,并将音视频数据解码为原始格式,以供转发服务后续处理;
转发服务编码发送端:转发服务的输出端,主要完成对原始数据进行压缩编码,再进行转换、发送等相关工作;
播放端:能够播放音视频码流的设备或软件,主要完成音视频数据网络接收、转换、存储、解码并显示的功能;
GOP:GroupofPictures(画面组),即以关键帧开始的最长视频帧序列,且该视频帧序列中有且只有一个关键帧。
有益效果:本发明与现有技术相比,其显著优点:(1)不仅能够自动适应网络波动环境的影响,同时避免了传统单路码流预设分辨率或码率编码导致的网络带宽的浪费,而且能够自适应网络波动,显著提高当前实时网络环境下的视频质量。(2)首先利用双码流动态编码机制,支持编码策略的动态调度;(3)其次通过双码流时移缓存,支持无缝切流和时移回放;(4)接下来,通过双码流传输切换,解决一般方法中出现的缓冲加载时显示黑屏的情况,支持用户暂停以缓存高清视频时移播放,实时预览时对感兴趣内容进行即时高清回放,也支持用户重新进入直播模式时,恢复实时优先模式;(5)最后,基于网络传输缓冲区及编码器负载的波动网络自适应编码器调度策略,进一步提升了视频传输的波动网络适应性。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。
图1波动网络环境下高清视频实时传输处理流程。
图2双码流时移缓存及切换输出流程。
图3采集端发送监测流程。
图4转发服务端接收解码监测流程。
图5转发服务端编码发送监测流程。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
结合图1,本发明的一种波动网络环境下的视频实时传输方法的实施主要包括在采集端对信号源进行视频原始数据采集、通过编码调度器调度编码器组,并进行视频数据编码、码流封装、时移缓存,并将网络数据发送至波动网络;在转发服务端从波动网络中进行网络数据接收、通过解码调度器调度解码器组,并进行视频数据解码、再通过编码调度器调度编码器组,并进行视频数据编码、码流封装、时移缓存,再次将网络数据发送至波动网络;在播放端,从波动网络中进行网络数据接收、通过解码调度器调度解码器组,并进行视频数据解码和视频原始数据播放。
结合图2,双码流相关处理,步骤如下:
第一步,双码流动态编码,即在进行编码时,根据服务端的调度和发送端的设置进行双路码流同时编码,其中一路为高清流,简记为StreamOrigin,优先保证视频质量,即按照配置的最高质量进行编码;另一路为实时流,简记为StreamDynamic,优先保证实时传输,即按照实际网络情况及编码器调度策略,动态调节编码质量或码率,以保证视频实时流畅传输。一般情况下,StreamOrigin分辨率和码率上限为用户设置的期望参数,如分别为720P和2Mbps,StreamDynamic分辨率和码率动态可变,但不会超过StreamOrigin;
(1)编码器按照用户的调度和发送端要求进行实时编码,即编码器调度器调度编码器组,调动两路编码器同时编码;
(2)一路码流为高清流StreamOrigin,编码质量一般为用户预设;
(3)另一路码流为实时流StreamDynamic,编码质量一般初始化为复用高清流StreamOrigin;同时按照实际网络情况及编码器调度策略,动态调节编码;
第二步,双码流时移缓存,即同时缓存一定时长的高清流StreamOrigin以及实时流StreamDynamic,一般各缓存一个GOP即可;
第三步,双码流传输切换,即双码流不会同时传输,且在进行传输切换时,如从StreamOrigin切换至StreamDynamic时,需确保双码流传输切换动作延时至StreamB的关键帧到来时真正生效,从而确保播放端不会出现花屏或卡顿的情况。基于模块的松耦合考虑,双码流切换对于网络发送模块来说是透明的,因此,播放端也不会出现一般方法中出现的缓冲加载时显示黑屏的情况。双码流时移缓存及传输切换机制能够支持用户暂停以缓存高清视频时移播放,实时预览时对感兴趣内容进行即时高清回放,也支持用户进入直播模式时,恢复实时优先模式;
(a)进行切换策略动态生成,即监听用户操作;当用户暂停时,切换为传输高清流StreamOrigin,支持播放端暂停以缓存高清视频进行时移播放;当用户拖动进度条时,切换为传输缓存中的高清流StreamOrigin,支持实时预览时对感兴趣内容进行即时高清回放;当用户进入直播模式时,切换为传输实时流StreamDynamic,恢复默认的实时有限模式。
(b)根据切换策略,进行传输码流延迟切换,如从StreamOrigin切换至StreamDynamic时,需确保双码流传输切换动作延时至StreamDynamic的关键帧到来时真正生效,即将切换动作延迟至第一次接收到StreamDynamic的关键帧。
编码器调度策略,即根据网络发送缓冲区情况及用户调度策略进行编码器调度策略实时更新;若由于网络原因导致发送缓冲区数据满,则需要触发StreamDynamic动态降低实时流视频质量,优先满足实时传输;若由于编码器性能不够导致转发服务端输入缓冲区满,则需要首先触发降低StreamDynamic降低实时流视频质量,如果编码器仍负载过多,则继续触发StreamOrigin降低高清流质量,优先满足提供功能服务。
编解码调度策略动态生成的过程分为采集端、转发服务接收解码端、转发服务编码发送端三个步骤。
结合图3,采集端步骤如下:
(a)初始化采集端网络发送缓冲区,并设当前采集端网络发送缓冲区当前已缓冲的数据尺寸为capBufferedSize,测试的缓冲区数据满的经验阈值为capBufOverflowThreshold=0.8*capBufferedSize,测试的缓冲区数据不足的经验阈值为capBufUnderflowThreshold=0.2*capBufferedSize,进行步骤(b);
(b)若采集端接收到转发服务或播放端的进行调度的通知,转至步骤(c);否则,进行步骤(d);
(c)更改采集端的编码质量、码率上限、码流路数等配置参数,即时生效;进行步骤(d);
(d)若capBufferedSize<capBufUnderflowThreshold,则认为网络发送缓冲区数据不足,转到步骤(f);否则,进行步骤(e);
步骤(e),若capBufferedSize>capBufOverflowThreshold,则网络发送缓冲区数据满,转到步骤(g);否则,进行步骤(b);
步骤(f),编码器动态提升编码质量、码率上限、码流路数等参数,但不能超过设定的配置参数;码流路数必须等于配置参数中设定值,因为要保证每一路码流都能提供服务;进行步骤(b);
步骤(g),编码器动态降低编码质量、码率上限、码流路数等参数,码流路数必须等于配置参数中设定值,因为要保证每一路码流都能提供服务;进行步骤(b);
结合图4,转发服务接收解码端步骤如下:
(a)初始化服务端网络接收与解码接收缓冲区,并分别简记为NB与DB;设当前服务端网络接收缓冲区当前已缓冲的数据尺寸为recvNetBufferedSize,测试的网络接收缓冲区数据满的经验阈值为recvNetBufOverflowThreshold=0.8*recvNetBufferedSize,测试的网络接收缓冲区数据不足的经验阈值为recvNetBufUnderflowThreshold=0.2*recvNetBufferedSize;解码接收缓冲区的尺寸为recvDecCodeBufferedSize,测试的解码接收缓冲区数据满的经验阈值为recvDecCodeBufOverflowThreshold=0.8*recvDecCodeBufferedSize,测试的解码接收缓冲区数据不足的经验阈值为recvDecCodeBufUnderflowThreshold=0.2*recvDecCodeBufferedSize,进行步骤(b);
(b)定义,若recvNetBufferedSize<recvNetBufUnderflowThreshold,则认为网络接收缓冲区数据不足;若recvNetBufferedSize>recvNetBufOverflowThreshold,则网络接收缓冲区数据满;若recvDecCodeBufferedSize<recvDecCodeBufUnderflowThreshold,则认为解码负载空闲;若recvDecCodeBufferedSize>recvDecCodeBufOverflowThreshold,则认为解码负载超载,进行(c);
(c)服务端监测网络接收缓冲区及自身解码负载情况;进行步骤(d);
(d)若网络接收缓冲区数据不足且解码负载空闲,转到步骤(e);否则,进行(f);
(e)通知采集端动态提升编码质量(如10%)、码率上限(如10%)、码流路数(如1路)等参数;参数不能超过服务端设置的最大值;进行(c);
(f)若网络接收缓冲区数据不足且解码负载超载,转到(g);否则,进行(h);
(g)通知解码器降低解码路数(如1路);进行(c);
(h)若网络接收缓冲区数据满且解码负载空闲,转到(i);否则,进行(j);
(i)通知解码器提升解码路数(如1路);进行(c);
(j)若网络接收缓冲区数据满且解码负载超载,转到(k);否则,进行(c);
(k)通知采集端动态降低编码质量(如10%)、码率上限(如10%)、码流路数(如1路)等参数;进行(c);
结合图5,转发服务编码发送端步骤如下:
(a)初始化服务端网络发送与编码接收缓冲区,并分别简记为NB与EB;设当前服务端网络发送缓冲区当前已缓冲的数据尺寸为sendNetBufferedSize,测试的网络接收缓冲区数据满的经验阈值为sendNetBufOverflowThreshold=0.8*sendNetBufferedSize,测试的网络接收缓冲区数据不足的经验阈值为sendNetBufUnderflowThreshold=0.2*sendNetBufferedSize;编码接收缓冲区的尺寸为recvEncCodeBufferedSize,测试的编码接收缓冲区数据满的经验阈值为recvEncCodeBufOverflowThreshold=0.8*recvEncCodeBufferedSize,测试的编码接收缓冲区数据不足的经验阈值为recvEncCodeBufUnderflowThreshold=0.2*recvEncCodeBufferedSize,进行(b);
(b)定义,若sendNetBufferedSize<sendNetBufUnderflowThreshold,则认为网络发送缓冲区数据不足;若sendNetBufferedSize>sendNetBufOverflowThreshold,则网络发送缓冲区数据满;若recvDecCodeBufferedSize<recvDecCodeBufUnderflowThreshold,则认为编码负载空闲;若recvDecCodeBufferedSize>recvDecCodeBufOverflowThreshold,则认为编码负载超载;进行(c);
(c)服务端监测网络发送缓冲区及自身编码负载情况;进行(d);
(d)若网络发送缓冲区数据不足,转到(e);否则,进行(f);
(e)通知采集端动态提升编码质量(如10%)、码率上限(如10%)、码流路数(如1路)等参数;参数不能超过服务端设置的最大值;进行(c);
(f)若编码负载超载,转到(g);否则,进行(h);
(g)通知采集端动态降低编码路数(如1路)、编码质量(如10%)、码率上限(如10%)等参数;进行(c);
(h)若编码负载空闲,转到(i);否则,进行(j);
(i)通知编码器降低编码质量(如10%)、码率上限(如10%)等参数;进行(c);
(j)若网络发送缓冲区数据满,转到(k);否则,进行(c);
(k)通知编码器动态降低编码质量(如10%)、码率上限(如10%)、码流路数(如1路)等参数;进行(c)。
本发明提供了一种波动网络环境下的视频实时传输方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (9)

1.一种波动网络环境下的视频实时传输方法,其特征在于,包括如下步骤:
步骤1、双码流动态编码:进行双路码流同时编码,其中一路为高清流,记为StreamOrigin;另一路为实时流,记为StreamDynamic;
步骤2、双码流时移缓存:在传输缓存中同时缓存一定时长的高清流StreamOrigin以及实时流StreamDynamic;
步骤3、双码流传输切换:双码流不同时传输,根据切换策略延迟切换;
步骤4、动态生成编码器调度策略:根据网络发送缓冲区情况进行编码器调度策略实时更新,若由于网络原因导致发送缓冲区数据满,则触发实时流StreamDynamic动态降低实时流视频质量,优先满足实时传输;若由于编码器性能不够导致转发服务端输入缓冲区满,则先触发实时流StreamDynamic降低实时流视频质量,如果编码器仍负载过多,则继续触发高清流StreamOrigin降低高清流质量。
2.根据权利要求1所述的方法,其特征在于,步骤1中双码流动态编码步骤如下:
步骤1-1、编码器按照用户调度命令或发送端预设的默认配置参数,进行实时编码,即编码器调度器调动两路编码器同时编码,一路码流为高清流StreamOrigin,另一路码流为实时流StreamDynamic;
步骤1-2、高清流StreamOrigin按照配置的最高质量进行编码,高清流StreamOrigin分辨率和码率上限为用户设置的期望参数。
3.根据权利要求2所述的方法,其特征在于,步骤2中对双码流进行缓存时,在传输缓存中分别对双码流缓存至少一个GOP画面组。
4.根据权利要求3所述的方法,其特征在于,步骤3包括如下步骤:
步骤3-1、监听用户操作,动态生成切换策略;
步骤3-2、根据切换策略,进行传输码流延迟切换。
5.根据权利要求4所述的方法,其特征在于,步骤3-1监听用户操作,动态生成切换策略包括如下步骤:
步骤3-1-1、监听用户操作,当用户暂停时,切换为传输高清流StreamOrigin;
步骤3-1-2、当用户拖动进度条时,切换为传输缓存中的高清流StreamOrigin;
步骤3-1-3、当用户进入直播模式时,切换为传输实时流StreamDynamic。
6.根据权利要求5所述的方法,其特征在于,步骤4包括如下步骤:
步骤4-1,在采集端进行网络情况分析及网络发送缓冲区分析;
步骤4-2,转发服务接收解码端进行网络情况分析及网络发送缓冲区分析;
步骤4-3,转发服务编码发送端进行网络情况分析及网络发送缓冲区分析。
7.根据权利要求6所述的方法,其特征在于,步骤4-1包括:
步骤4-1-1,设当前采集端网络发送缓冲区当前已缓冲的数据尺寸为capBufferedSize,测试的缓冲区数据满的经验阈值为capBufOverflowThreshold,测试的缓冲区数据不足的经验阈值为capBufUnderflowThreshold,阈值设置满足以下公式:
<mrow> <mn>0.8</mn> <mo>=</mo> <mfrac> <mrow> <mi>c</mi> <mi>a</mi> <mi>p</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>O</mi> <mi>v</mi> <mi>e</mi> <mi>r</mi> <mi>f</mi> <mi>l</mi> <mi>o</mi> <mi>w</mi> <mi>T</mi> <mi>h</mi> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>h</mi> <mi>o</mi> <mi>l</mi> <mi>d</mi> </mrow> <mrow> <mi>c</mi> <mi>a</mi> <mi>p</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>f</mi> <mi>e</mi> <mi>r</mi> <mi>e</mi> <mi>d</mi> <mi>S</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> </mrow> </mfrac> <mo>=</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>c</mi> <mi>a</mi> <mi>p</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>U</mi> <mi>n</mi> <mi>d</mi> <mi>e</mi> <mi>r</mi> <mi>f</mi> <mi>l</mi> <mi>o</mi> <mi>w</mi> <mi>T</mi> <mi>h</mi> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>h</mi> <mi>o</mi> <mi>l</mi> <mi>d</mi> </mrow> <mrow> <mi>c</mi> <mi>a</mi> <mi>p</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>f</mi> <mi>e</mi> <mi>r</mi> <mi>e</mi> <mi>d</mi> <mi>S</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> </mrow> </mfrac> <mo>,</mo> </mrow>
步骤4-1-2,若采集端接收到转发服务或播放端的进行调度的通知,转至步骤4-1-3;若采集端接收到业务结束命令,则进行步骤4-1-8;否则,进行步骤4-1-4;
步骤4-1-3,更改采集端的编码质量、码率上限、码流路数,即时生效;
步骤4-1-4,若capBufferedSize<capBufUnderflowThreshold,则判定网络发送缓冲区数据不足,转到步骤4-1-6;否则,执行步骤4-1-5;
步骤4-1-5,若capBufferedSize>capBufOverflowThreshold,则判定网络发送缓冲区数据满,转到步骤4-1-7;否则,执行步骤4-1-2;
步骤4-1-6,编码器动态提升编码质量、码率上限、码流路数,但不超过步骤1-1中预设的默认配置参数;码流路数等于配置参数中设定值,返回执行步骤4-1-2;
步骤4-1-7,编码器动态降低编码质量、码率上限、码流路数,码流路数最低不小于步骤1-1中预设的默认配置参数中设定值,返回执行步骤4-1-2。
8.根据权利要求7所述的方法,其特征在于,步骤4-2包括:
步骤4-2-1,设当前服务端网络接收缓冲区当前已缓冲的数据尺寸为recvNetBufferedSize,测试的网络接收缓冲区数据满的经验阈值为recvNetBufOverflowThreshold,测试的网络接收缓冲区数据不足的经验阈值为recvNetBufUnderflowThreshold;解码接收缓冲区的尺寸为recvDecCodeBufferedSize,测试的解码接收缓冲区数据满的经验阈值为recvDecCodeBufOverflowThreshold,测试的解码接收缓冲区数据不足的经验阈值为recvDecCodeBufUnderflowThreshold;阈值设置满足以下公式:
<mrow> <mn>0.8</mn> <mo>=</mo> <mfrac> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mi>N</mi> <mi>e</mi> <mi>t</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>O</mi> <mi>v</mi> <mi>e</mi> <mi>r</mi> <mi>f</mi> <mi>l</mi> <mi>o</mi> <mi>w</mi> <mi>T</mi> <mi>h</mi> <mi>r</mi> <mi>s</mi> <mi>h</mi> <mi>o</mi> <mi>l</mi> <mi>d</mi> </mrow> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mi>N</mi> <mi>e</mi> <mi>t</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>f</mi> <mi>e</mi> <mi>r</mi> <mi>e</mi> <mi>d</mi> <mi>S</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> </mrow> </mfrac> <mo>=</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mi>N</mi> <mi>e</mi> <mi>t</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>U</mi> <mi>n</mi> <mi>d</mi> <mi>e</mi> <mi>r</mi> <mi>f</mi> <mi>l</mi> <mi>o</mi> <mi>w</mi> <mi>T</mi> <mi>h</mi> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>h</mi> <mi>o</mi> <mi>l</mi> <mi>d</mi> </mrow> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mi>N</mi> <mi>e</mi> <mi>t</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>f</mi> <mi>e</mi> <mi>r</mi> <mi>e</mi> <mi>d</mi> <mi>S</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> </mrow> </mfrac> <mo>,</mo> </mrow>
<mrow> <mn>0.8</mn> <mo>=</mo> <mfrac> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mi>D</mi> <mi>e</mi> <mi>c</mi> <mi>C</mi> <mi>o</mi> <mi>d</mi> <mi>e</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>O</mi> <mi>v</mi> <mi>e</mi> <mi>r</mi> <mi>f</mi> <mi>l</mi> <mi>o</mi> <mi>w</mi> <mi>T</mi> <mi>h</mi> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>h</mi> <mi>o</mi> <mi>l</mi> <mi>d</mi> </mrow> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mi>D</mi> <mi>e</mi> <mi>c</mi> <mi>C</mi> <mi>o</mi> <mi>d</mi> <mi>e</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>f</mi> <mi>e</mi> <mi>r</mi> <mi>e</mi> <mi>d</mi> <mi>S</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> </mrow> </mfrac> <mo>=</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mi>D</mi> <mi>e</mi> <mi>c</mi> <mi>C</mi> <mi>o</mi> <mi>d</mi> <mi>e</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>U</mi> <mi>n</mi> <mi>d</mi> <mi>e</mi> <mi>r</mi> <mi>f</mi> <mi>l</mi> <mi>o</mi> <mi>w</mi> <mi>T</mi> <mi>h</mi> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>h</mi> <mi>o</mi> <mi>l</mi> <mi>d</mi> </mrow> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mi>D</mi> <mi>e</mi> <mi>c</mi> <mi>C</mi> <mi>o</mi> <mi>d</mi> <mi>e</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>f</mi> <mi>e</mi> <mi>r</mi> <mi>e</mi> <mi>d</mi> <mi>S</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> </mrow> </mfrac> <mo>;</mo> </mrow>
步骤4-2-2,定义:若recvNetBufferedSize<recvNetBufUnderflowThreshold,则判定网络接收缓冲区数据不足;若recvNetBufferedSize>recvNetBufOverflowThreshold,则判定网络接收缓冲区数据满;若recvDecCodeBufferedSize<recvDecCodeBufUnderflowThreshold,则判定解码负载空闲;若recvDecCodeBufferedSize>recvDecCodeBufOverflowThreshold,则判定解码负载超载;
步骤4-2-3,服务端监测网络接收缓冲区及自身解码负载情况,若采集端接收到业务结束命令,则进行步骤4-2-12;否则,进行步骤4-2-4;
步骤4-2-4,若网络接收缓冲区数据不足且解码负载空闲,转到步骤4-2-5;否则,进行步骤4-2-6;
步骤4-2-5,通知采集端动态提升参数,包括编码质量、码率上限、码流路数,提升的参数不能超过服务端设置的最大值;返回进行步骤4-2-3;
步骤4-2-6,若网络接收缓冲区数据不足且解码负载超载,转到步骤4-2-7;否则,进行步骤4-2-8;
步骤4-2-7,通知解码器降低解码路数;返回进行步骤4-2-3;
步骤4-2-8,若网络接收缓冲区数据满且解码负载空闲,转到步骤4-2-9;否则,进行步骤4-2-10;
步骤4-2-9,通知解码器提升解码路数;进行步骤4-2-3;
步骤4-2-10,若网络接收缓冲区数据满且解码负载超载,转到步骤4-2-11;否则,进行步骤4-2-3;
步骤4-2-11,通知采集端动态降低编码质量、码率上限、码流路数,返回进行步骤4-2-3;
步骤4-2-12,采集端停止服务。
9.根据权利要求8所述的方法,其特征在于,步骤4-3包括:
步骤4-3-1,设当前服务端网络发送缓冲区当前已缓冲的数据尺寸为sendNetBufferedSize,测试的网络接收缓冲区数据满的经验阈值为sendNetBufOverflowThreshold,测试的网络接收缓冲区数据不足的经验阈值为sendNetBufUnderflowThreshold;编码接收缓冲区的尺寸为recvEncCodeBufferedSize,测试的编码接收缓冲区数据满的经验阈值为recvEncCodeBufOverflowThreshold,测试的编码接收缓冲区数据不足的经验阈值为recvEncCodeBufUnderflowThreshold;阈值设置满足以下公式:
<mrow> <mn>0.8</mn> <mo>=</mo> <mfrac> <mrow> <mi>s</mi> <mi>e</mi> <mi>n</mi> <mi>d</mi> <mi>N</mi> <mi>e</mi> <mi>t</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>O</mi> <mi>v</mi> <mi>e</mi> <mi>r</mi> <mi>f</mi> <mi>l</mi> <mi>o</mi> <mi>w</mi> <mi>T</mi> <mi>h</mi> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>h</mi> <mi>o</mi> <mi>l</mi> <mi>d</mi> </mrow> <mrow> <mi>s</mi> <mi>e</mi> <mi>n</mi> <mi>d</mi> <mi>N</mi> <mi>e</mi> <mi>t</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>f</mi> <mi>e</mi> <mi>r</mi> <mi>e</mi> <mi>d</mi> <mi>S</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> </mrow> </mfrac> <mo>=</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>s</mi> <mi>e</mi> <mi>n</mi> <mi>d</mi> <mi>N</mi> <mi>e</mi> <mi>t</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>U</mi> <mi>n</mi> <mi>d</mi> <mi>e</mi> <mi>r</mi> <mi>f</mi> <mi>l</mi> <mi>o</mi> <mi>w</mi> <mi>T</mi> <mi>h</mi> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>h</mi> <mi>o</mi> <mi>l</mi> <mi>d</mi> </mrow> <mrow> <mi>s</mi> <mi>e</mi> <mi>n</mi> <mi>d</mi> <mi>N</mi> <mi>e</mi> <mi>t</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>f</mi> <mi>e</mi> <mi>r</mi> <mi>e</mi> <mi>d</mi> <mi>S</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> </mrow> </mfrac> <mo>;</mo> </mrow>
<mrow> <mn>0.8</mn> <mo>=</mo> <mfrac> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mi>E</mi> <mi>n</mi> <mi>c</mi> <mi>C</mi> <mi>o</mi> <mi>d</mi> <mi>e</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>O</mi> <mi>v</mi> <mi>e</mi> <mi>r</mi> <mi>f</mi> <mi>l</mi> <mi>o</mi> <mi>w</mi> <mi>T</mi> <mi>h</mi> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>h</mi> <mi>o</mi> <mi>l</mi> <mi>d</mi> </mrow> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mi>E</mi> <mi>n</mi> <mi>c</mi> <mi>C</mi> <mi>o</mi> <mi>d</mi> <mi>e</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>f</mi> <mi>e</mi> <mi>r</mi> <mi>e</mi> <mi>d</mi> <mi>S</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> </mrow> </mfrac> <mo>=</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mi>E</mi> <mi>n</mi> <mi>c</mi> <mi>C</mi> <mi>o</mi> <mi>d</mi> <mi>e</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>U</mi> <mi>n</mi> <mi>d</mi> <mi>e</mi> <mi>r</mi> <mi>f</mi> <mi>l</mi> <mi>o</mi> <mi>w</mi> <mi>T</mi> <mi>h</mi> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>h</mi> <mi>o</mi> <mi>l</mi> <mi>d</mi> </mrow> <mrow> <mi>r</mi> <mi>e</mi> <mi>c</mi> <mi>v</mi> <mi>E</mi> <mi>n</mi> <mi>c</mi> <mi>C</mi> <mi>o</mi> <mi>d</mi> <mi>e</mi> <mi>B</mi> <mi>u</mi> <mi>f</mi> <mi>f</mi> <mi>e</mi> <mi>r</mi> <mi>e</mi> <mi>d</mi> <mi>S</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> </mrow> </mfrac> <mo>;</mo> </mrow>
步骤4-3-2,定义:若sendNetBufferedSize<sendNetBufUnderflowThreshold,则判定网络发送缓冲区数据不足;若sendNetBufferedSize>sendNetBufOverflowThreshold,则判定网络发送缓冲区数据满;若recvDecCodeBufferedSize<recvDecCodeBufUnderflowThreshold,则判定编码负载空闲;若recvDecCodeBufferedSize>recvDecCodeBufOverflowThreshold,则判定编码负载超载;
步骤4-3-3,服务端监测网络发送缓冲区及自身编码负载情况,若采集端接收到业务结束命令,则进行步骤4-3-12;否则,进行步骤4-3-4;
步骤4-3-4,若网络发送缓冲区数据不足,转到步骤4-3-5;否则,进行步骤4-3-6;
步骤4-3-5,通知采集端动态提升参数,包括编码质量、码率上限、码流路数,提升的参数不能超过服务端设置的最大值;返回进行步骤4-3-3;
步骤4-3-6,若编码负载超载,转到步骤4-3-7;否则,进行步骤4-3-8;
步骤4-3-7,通知采集端动态降低编码路数、编码质量、码率上限,进行步骤4-3-3;
步骤4-3-8,若编码负载空闲,转到步骤4-3-9;否则,进行步骤4-3-10;
步骤4-3-9,通知编码器降低编码质量、码率上限,进行步骤4-3-3;
步骤4-3-10,若网络发送缓冲区数据满,转到步骤4-3-11;否则,进行步骤4-3-3;
步骤4-3-11,通知编码器动态降低编码质量、码率上限、码流路数,进行步骤4-3-3;
步骤4-3-12,服务端停止服务。
CN201710759875.3A 2017-08-28 2017-08-28 一种波动网络环境下的视频实时传输方法 Active CN107666593B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710759875.3A CN107666593B (zh) 2017-08-28 2017-08-28 一种波动网络环境下的视频实时传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710759875.3A CN107666593B (zh) 2017-08-28 2017-08-28 一种波动网络环境下的视频实时传输方法

Publications (2)

Publication Number Publication Date
CN107666593A true CN107666593A (zh) 2018-02-06
CN107666593B CN107666593B (zh) 2020-04-21

Family

ID=61097312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710759875.3A Active CN107666593B (zh) 2017-08-28 2017-08-28 一种波动网络环境下的视频实时传输方法

Country Status (1)

Country Link
CN (1) CN107666593B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109005418A (zh) * 2018-08-13 2018-12-14 湖南快乐阳光互动娱乐传媒有限公司 一种直播信号源无感切换控制方法及控制系统
CN109862400A (zh) * 2019-02-18 2019-06-07 苏州长风航空电子有限公司 一种流媒体传输方法、装置及其系统
CN110008102A (zh) * 2019-04-10 2019-07-12 苏州浪潮智能科技有限公司 一种基于智能视频应用的服务器性能测试方法和系统
CN111602398A (zh) * 2019-05-15 2020-08-28 深圳市大疆创新科技有限公司 一种图像发送方法、图像接收方法、图像传输方法及装置
CN111602389A (zh) * 2019-07-23 2020-08-28 深圳市大疆创新科技有限公司 码流的传输控制方法、设备及计算机可读存储介质
CN111988645A (zh) * 2020-08-27 2020-11-24 上海七牛信息技术有限公司 音视频传输带宽自适应方法
CN112584194A (zh) * 2020-11-13 2021-03-30 深圳市捷视飞通科技股份有限公司 视频码流的推送方法、装置、计算机设备和存储介质
CN115567734A (zh) * 2022-09-22 2023-01-03 新国脉数字文化股份有限公司 一种5g高清视频的播放系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917613B (zh) * 2009-12-17 2012-07-25 新奥特(北京)视频技术有限公司 一种流媒体采集编码服务系统
CN102695058B (zh) * 2012-05-30 2014-07-02 北京世纪鼎点软件有限公司 基于大尺度缓冲策略的音、视频编码流控方法
CN104618690B (zh) * 2015-01-29 2018-01-05 广东迅通科技股份有限公司 一种高清视频实时点播和历史回放的方法及系统
CN104618798B (zh) * 2015-02-12 2016-01-20 北京清源新创科技有限公司 面向互联网视频直播的播放时刻控制方法及装置
CN104967884B (zh) * 2015-04-17 2018-01-26 北京奇艺世纪科技有限公司 一种码流切换方法和装置
CN106488175A (zh) * 2015-08-26 2017-03-08 重庆西线科技有限公司 一种视频传输方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109005418A (zh) * 2018-08-13 2018-12-14 湖南快乐阳光互动娱乐传媒有限公司 一种直播信号源无感切换控制方法及控制系统
CN109862400A (zh) * 2019-02-18 2019-06-07 苏州长风航空电子有限公司 一种流媒体传输方法、装置及其系统
CN110008102A (zh) * 2019-04-10 2019-07-12 苏州浪潮智能科技有限公司 一种基于智能视频应用的服务器性能测试方法和系统
CN110008102B (zh) * 2019-04-10 2020-03-06 苏州浪潮智能科技有限公司 一种基于智能视频应用的服务器性能测试方法和系统
CN111602398A (zh) * 2019-05-15 2020-08-28 深圳市大疆创新科技有限公司 一种图像发送方法、图像接收方法、图像传输方法及装置
WO2020227973A1 (zh) * 2019-05-15 2020-11-19 深圳市大疆创新科技有限公司 一种图像发送方法、图像接收方法、图像传输方法及装置
CN111602389A (zh) * 2019-07-23 2020-08-28 深圳市大疆创新科技有限公司 码流的传输控制方法、设备及计算机可读存储介质
CN111602389B (zh) * 2019-07-23 2022-06-03 深圳市大疆创新科技有限公司 码流的传输控制方法、设备及计算机可读存储介质
CN111988645A (zh) * 2020-08-27 2020-11-24 上海七牛信息技术有限公司 音视频传输带宽自适应方法
CN112584194A (zh) * 2020-11-13 2021-03-30 深圳市捷视飞通科技股份有限公司 视频码流的推送方法、装置、计算机设备和存储介质
CN115567734A (zh) * 2022-09-22 2023-01-03 新国脉数字文化股份有限公司 一种5g高清视频的播放系统及方法
CN115567734B (zh) * 2022-09-22 2023-06-13 新国脉数字文化股份有限公司 一种5g高清视频的播放系统及方法

Also Published As

Publication number Publication date
CN107666593B (zh) 2020-04-21

Similar Documents

Publication Publication Date Title
CN107666593A (zh) 一种波动网络环境下的视频实时传输方法
CN105472477B (zh) 一种数据传输方法、装置及设备
CN100550999C (zh) 一种数字频道快速切换方法和系统以及辅助频道生成设备
CN101606390B (zh) 用于带宽约束网络上的快速频道改变的方法、解码方法和解码装置
Paniga et al. Experimental evaluation of a video streaming system for wireless multimedia sensor networks
CN102547375A (zh) 一种快速实现预览h.264编码帧的传输方法
US20100082834A1 (en) Apparatus and method for transmitting and receiving data in a wireless communication network
CA2803449C (en) Adaptive frame rate control for video in a resource limited system
US9860028B2 (en) Systems and methods for hybrid content delivery
CN103262630A (zh) 多媒体已知无线电和网络自适应的信令技术
CN107566918A (zh) 一种视频分发场景下的低延时取流秒开方法
CN101442778A (zh) 高速无线个人网协议中基于信道的调度方法
CN102006476A (zh) 一种传输和接收实时视频数据的优化处理方法
CN103686221A (zh) 一种适应公用无线网络实现音视频流畅播出的方法
CN107743252A (zh) 一种降低直播延迟的方法
CN108322708A (zh) 一种基于多路并行传输技术的实时视频传输系统及其方法
CN101867802A (zh) 一种基于编码器和缓存的两级码率控制方法
CN103024441B (zh) 一种移动终端播放电视节目的方法
CN1992936A (zh) 具有流媒体带宽适配功能的移动终端设备
CN103339912A (zh) 用于多媒体流的视频包调度方法
CN103582149A (zh) Volte的资源调度方法及装置
CN103986932A (zh) 一种视频数据流的信源信道联合编解码方法
CN108322773A (zh) 一种基于多卡绑定的自适应网络带宽实时数据流传输方法
CN211266898U (zh) 基于Tally的多路高清视频无线传输系统
US7729311B2 (en) Image data communication system and image data communication method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant