一种流媒体传输方法及系统技术方案

技术编号:18240936 阅读:185 留言:0更新日期:2018-06-17 05:57
本发明专利技术提供一种流媒体传输方法及系统,该方法包括:发送端根据当前网络的通信带宽确定当前帧的编码参数,根据编码参数对视频源数据进行SVC视频编码,获得视频编码帧数据;发送端对视频编码帧数据进行RTP封装获得RTP媒体包,将RTP媒体包复制至媒体包缓冲队列中;发送端判断是否需要发送FEC纠错包,若是,发送端对媒体包缓冲队列中的RTP媒体包进行FEC编码生成FEC纠错包并向接收端发送;接收端根据接收到的RTP媒体包判断是否出现丢包情况,若是,根据丢失的RTP媒体包所对应的FEC纠错包对丢失的RTP媒体包进行丢包恢复。该系统为该方法提供执行模块。应用本发明专利技术可降低因参考帧数据丢失而导致后续视频帧无法解码风险、提高视屏播放流畅度。 1

A streaming media transmission method and system

The present invention provides a streaming media transmission method and system. The method includes: the sending end determines the coding parameters of the current frame according to the communication bandwidth of the current network, coding the video source data by SVC video coding according to the coding parameters and obtaining the video encoded frame data; the transmitter receives the video coded frame data by RTP encapsulation to obtain the RTP medium. The RTP media packet is copied to the media packet buffer queue; the transmitter determines whether the FEC error correction packet is needed. If the transmitter performs the FEC encoding of the RTP media packet in the media packet buffer queue to generate the FEC error correction packet and send it to the receiving end; the receiver determines whether the packet loss situation appears according to the received RTP media packet, If, according to the FEC error correction packet corresponding to the missing RTP media package, packet loss is resumed for the lost RTP media pack. The system provides the execution module for the method. The application of the invention can reduce the risk that the subsequent video frames can not be decoded due to the loss of the reference frame data, and improve the fluency of the video player. One

【技术实现步骤摘要】
一种流媒体传输方法及系统
本专利技术涉及视频传输
,具体的,涉及一种利用视频SVC(可伸缩编码)和FEC(网络传输前向纠错)的方法优化媒体视频传输以提升用户体验的流媒体传输方法,还涉及应用该方法的流媒体传输系统。
技术介绍
流媒体是一种在网络上使用流式传输技术传输的多媒体数据,如音频、视频和其它多媒体文件等。流式媒体并不需要在使用前下载整个文件,只需要用户经过几秒钟到几十秒钟的启动时延就可在客户端进行播放和观看相关的媒体文件,此时后台仍然在同步进行剩余部分的下载。由于流媒体技术对启动时延和缓冲容量的大幅降低,其在远程教育、网络直播、视频会议等诸多领域的应用越来越广泛。相对传统的网络媒体下载,流媒体由于其连续性、实时性的特点,其对网络传输有更高的要求。根据应用场景对实时性和正确性的不同优先需求,传输层分别使用UDP协议(UserDatagramProtocol,用户数据报协议)和TCP协议(TransmissionControlProtocol,传输控制协议),在上层一般使用实时传输协议(RTP,Real-timeTransportProtocol)来保证流媒体的传输质量。但是由于网络波动具有突发性,RTP通过监控调整网络传输具有一定滞后性,在波动的起始阶段丢包率势必会上升。同时视频数据在传输之前需要压缩编码,丢弃大量的冗余信息,在接收端根据视频帧之间的相关性对其进行解码,但是一旦相关数据帧丢失,则会导致当前帧无法解码,如果当前帧是后续帧的参考帧,则后续的一系列帧也无法正常解码,最终导致播放花屏卡顿,严重影响用户体验。因此如何在现有的网络条件下尽可能提高媒体信源数据抗误码和丢包恢复能力,成为优化用户体验的重要切入点。经统计,现有的优化媒体传输提升用户体验的技术主要有以下几点:1、通过监控网络状况,动态调整信源编码码率、分辨率、帧率,以降低网络丢包率;2、在网络发送端根据丢包率采用FEC(前向纠错,ForwardErrorCorrection)编码加入冗余包,在接收端恢复网络丢包;3、对视频源进行SVC(ScaledVideoCoding,可伸缩视频编码)编码,在保证基本层发送的前提下根据网络状况动态发送增强层数据。但是,在现有的上述技术方案中,通过调节码率、帧率、分辨率来降低丢包率对用户体验有一定改善,但是其调整具有滞后性,对丢包无法恢复,一旦发生丢包则用户端可能出现严重的花屏卡顿问题。根据网络丢包率采用FEC编码在发送端产生冗余包,可提高接收端的丢包恢复能力,但是加入的冗余包会加重信道传输的负载,对接收端的丢包恢复能力改善有限。对视频源进行SVC编码,在保证基本层发送的前提下根据网络状况动态发送增强层数据的方法可充分利用信道并保证传输质量,但是一旦出现丢包则无法有效恢复。
技术实现思路
本专利技术的主要目的是提供一种可降低因参考帧数据丢失而导致后续视频帧无法解码的风险、提高视屏播放流畅度的流媒体传输方法。本专利技术的另一目的是提供一种可降低因参考帧数据丢失而导致后续视频帧无法解码的风险、提高视屏播放流畅度的流媒体传输系统。为了实现上述主要目的,本专利技术提供的流媒体传输方法包括:发送端根据当前网络的通信带宽确定当前帧的编码参数,根据编码参数对视频源数据进行SVC视频编码,获得视频编码帧数据;发送端对视频编码帧数据进行RTP封装获得RTP媒体包,将RTP媒体包复制至媒体包缓冲队列中;发送端判断是否需要发送FEC纠错包,若是,发送端对媒体包缓冲队列中的RTP媒体包进行FEC编码生成FEC纠错包并向接收端发送;接收端根据接收到的RTP媒体包判断是否出现丢包情况,若是,根据丢失的RTP媒体包所对应的FEC纠错包对丢失的RTP媒体包进行丢包恢复。由上述方案可知,本专利技术的流媒体传输方法通过对视频数据进行SVC编码,根据当前网络的通信带宽确定当前帧的编码参数,可提高信源的抗误码能力,同时加入FEC前向纠错机制,提高信道的误码恢复能力,使用对信源进行SVC视频编码,对信道进行FEC容错编码的方式,降低因参考帧数据丢失而导致后续视频帧无法解码的风险,保证了流媒体接收端的视频清晰度和流畅度,提升了用户体验。进一步的方案中,发送端根据当前网络的通信带宽确定当前帧的编码参数,包括:判断视频编码的当前码率与当前平均码率的差值是否超过预设波动阈值,若是,将SVC编码中基本层的每一帧码率比例调整为增强层的每一帧码率比例的两倍。由此可知,根据网络波动调整SVC编码中基本层和增强层的码率比例,在保证基本层发送的前提下根据网络状况动态发送增强层数据的方法可充分利用信道并保证传输质量,防止花屏现象。进一步的方案中,发送端判断是否需要发送FEC纠错包,包括:判断媒体包缓冲队列是否已满,若是,则需要发送FEC纠错包;或者判断是否接收到接收端所发送的丢包反馈信息,若是,则需要发送FEC纠错包。由此可见,进行RTP封装获得RTP媒体包会被复制至媒体包缓冲队列等待发送,在发送RTP媒体包时,若媒体包缓冲队列已满,则说明网络出现拥堵情况,需要生成FEC纠错包,以便接收端进行纠错处理。另外,发送端若获取到丢包反馈信息,也需要重新生成对应的FEC纠错包,以便接收端进行丢包恢复。进一步的方案中,接收端对接收到的RTP媒体包进行解析前,流媒体传输方法还包括:接收端获取发送端所发送的数据包并确认数据包的类型,根据数据包的类型进行分类处理。由此可见,为了便于对接收的数据进行处理,在接受到发送端所发送的数据后,对数据包的类型进行分类,提高处理效率。进一步的方案中,接收端根据RTP媒体包所对应的FEC纠错包对RTP媒体包进行丢包恢复,包括:接收端判断所丢失的RTP媒体包是否为可修复的RTP媒体包,若否,则向发送端发送丢包反馈信息。由此可见,通过向发送端发送丢包反馈信息,使发送端可提供相应的FEC纠错包用以丢包恢复处理,同时,还可使发送端根据反馈信息进行编码码率的调节,进一步改善接收端的视频图像质量。为了实现上述另一目的,本专利技术提供的流媒体传输系统包括:SVC编码模块,用于根据当前网络的通信带宽确定当前帧的编码参数,根据编码参数对视频源数据进行SVC视频编码,获得视频编码帧数据;RTP封装模块,用于对视频编码帧数据进行RTP封装获得RTP媒体包,将RTP媒体包复制至媒体包缓冲队列中;FEC编码模块,用于判断是否需要发送FEC纠错包,若是,对媒体包缓冲队列中的RTP媒体包进行FEC编码生成FEC纠错包并向接收端发送;FEC纠错模块,用于根据接收到的RTP媒体包判断是否出现丢包情况,若是,根据丢失的RTP媒体包所对应的FEC纠错包对丢失的RTP媒体包进行丢包恢复。由上述方案可见,本专利技术的流媒体传输系统通过对视频数据进行SVC编码,通过当前网络的通信带宽确定当前帧的编码参数,可提高信源的抗误码能力,同时加入FEC前向纠错机制,提高信道的误码恢复能力,使用对信源进行SVC视频编码,对信道进行FEC容错编码的方式,降低因参考帧数据丢失而导致后续视频帧无法解码的风险,保证了流媒体接收端的视频清晰度和流畅度,提升了用户体验。附图说明图1是本专利技术流媒体传输方法实施例的流程图。图2是本专利技术流媒体传输方法实施例中SVC编码时一种参考帧选择的示意图。图3是本专利技术流媒体传输方法实施例中SVC本文档来自技高网
...
一种流媒体传输方法及系统

【技术保护点】
1.一种流媒体传输方法,其特征在于,包括:

【技术特征摘要】
1.一种流媒体传输方法,其特征在于,包括:发送端根据当前网络的通信带宽确定当前帧的编码参数,根据所述编码参数对视频源数据进行SVC视频编码,获得视频编码帧数据;所述发送端对所述视频编码帧数据进行RTP封装获得RTP媒体包,将所述RTP媒体包复制至媒体包缓冲队列中;所述发送端判断是否需要发送FEC纠错包,若是,所述发送端对所述媒体包缓冲队列中的所述RTP媒体包进行FEC编码生成FEC纠错包并向接收端发送;所述接收端根据接收到的所述RTP媒体包判断是否出现丢包情况,若是,根据丢失的RTP媒体包所对应的FEC纠错包对所述丢失的RTP媒体包进行丢包恢复。2.根据权利要求1所述的流媒体传输方法,其特征在于,所述发送端根据当前网络的通信带宽确定当前帧的编码参数,包括:判断视频编码的当前码率与当前平均码率的差值是否超过预设波动阈值,若是,将SVC编码中基本层的每一帧码率比例调整为增强层的每一帧码率比例的两倍。3.根据权利要求1或2所述的流媒体传输方法,其特征在于,所述发送端判断是否需要发送FEC纠错包,包括:判断所述媒体包缓冲队列是否已满,若是,则需要发送FEC纠错包;或者判断是否接收到所述接收端所发送的丢包反馈信息,若是,则需要发送FEC纠错包。4.根据权利要求1或2所述的流媒体传输方法,其特征在于,所述接收端对接收到的所述RTP媒体包进行解析前,所述方法还包括:所述接收端获取所述发送端所发送的数据包并确认所述数据包的类型,根据所述数据包的类型进行分类处理。5.根据权利要求3所述的流媒体传输方法,其特征在于,所述接收端根据所述RTP媒体包所对应的FEC纠错包对所述RTP媒体包进行丢包恢复,包括:所述接收端判断所丢失的RTP媒体包是否为可修复的RTP媒体包,若否,则向所述发送端发送丢包反馈信息。6.一种流媒体传...

【专利技术属性】
技术研发人员:杨草原伍冠健
申请(专利权)人:珠海全志科技股份有限公司
类型:发明
国别省市:广东,44

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

1