一种流媒体播放的切换方法和系统技术方案

技术编号:11303792 阅读:57 留言:0更新日期:2015-04-15 21:59
本发明专利技术公开了一种流媒体播放的切换方法和系统。方法包括步骤:从流媒体服务器下载并保存多个码率信息、对应码率的资源地址信息,对应多个码率信息创建多个线程,下载并解析多个码率资源的索引信息,流媒体播放过程中多个线程分别刷新对应码率资源索引信息的序列号,如果多个线程刷新出来的序列号不一致,根据各个码率资源的片段获取各个码率资源的基础时钟,并根据不同码率资源的基础时钟和对应的序列号偏差,根据不同码率的时间偏差切换到对应位置播放。系统包括Source模块、解析模块、解码器和输出模块。本发明专利技术解决了网络流媒体播放自适应动态切换过程中出现的音视频不同步、画面不连续的问题。本发明专利技术可广泛应用于各种流媒体播放的切换系统。

【技术实现步骤摘要】
一种流媒体播放的切换方法和系统
本专利技术涉及一种流媒体播放技术,尤其涉及一种流媒体播放的切换方法,本专利技术还涉及一种流媒体播放的切换系统。
技术介绍
随着流媒体技术的普及,越来越多流媒体协议提出自适应,所谓的自适应,即服务器将媒体打包成不同清晰度、不同分辨率,并且将这些内容通过一定协议呈现,终端设备使用对应协议,根据自身的网速、CPU、硬解性能进行动态切换不同码率、分辨率进行播放,以提高用户体验。目前大部分终端设备播放网络流媒体都需要用户手动选择视频播放模式,不支持自动切换,其主要原因是因为不同分辨率流媒体数据编码格式、编码参数不同,客户端自动切换需要重新加载解码器,这样会造成音视频不同步,视频画面卡顿,出现杂音等现象;同时由于客户端和服务器数据访问存在延时,不同分辨率索引文件存在差异,无法准确建立索引关联,切换过程中,存在重复播播放已经观看过的,严重影响用户体验。对于手动切换,操作不是很智能,而且在播放过程中,手动切换实际上是重置播放器,选择新地址进行播放,这样在切换过程中需要一定时间的缓冲等待时间,播放过程中受网络因素影响可能需要频繁缓冲,影响用户体验。
技术实现思路
为了解决上述技术问题,本专利技术的目的是提供一种能解决网络流媒体播放自适应切换过程中出现的音视频不同步、画面不连续问题的切换方法。为了解决上述技术问题,本专利技术的目的是提供一种能解决网络流媒体播放自适应切换过程中出现的音视频不同步、画面不连续问题的切换系统。本专利技术所采用的技术方案是:一种流媒体播放的切换方法,其包括步骤:S1,解析并判断所要播放的流媒体是否为多码率,若为多码率,则执行步骤S2;S2,解析并获取每个码率对应资源的资源索引信息,并对应每个码率创建一个线程;S3,在流媒体播放需要进行码率切换时,每个线程分别刷新对应码率资源索引信息的序列号,如果多个线程刷新出来的序列号一致,则进入步骤S4,否则进入步骤S5;S4,直接切换到与当前网络速度匹配的码率资源或切换到所需的其它码率资源;S5,根据各个码率的序列号,计算出不同码率的具体时间偏差,在进行码率切换时,根据不同码率的具体时间偏差,切换到所要切换到码率的对应时间位置进行播放。优选的,所述步骤S5具体包括子步骤:S51,下载各个码率资源的片段;S52,根据各个码率资源的片段获取各个码率资源的基础时钟;S53,根据不同码率资源的基础时钟和对应的序列号偏差,计算出不同码率播放的具体时间偏差;S54,根据当前网络速度,判断是否需要切换到其它码率播放;S55,根据不同码率播放的具体时间偏差,无缝切换到最佳码率上进行播放。优选的,所述步骤S4具体包括子步骤:S41,在对应码率资源地址下载资源数据;S42,解析资源数据的编码格式;S43,使用对应的解码器对资源数据进行解码并输出播放。优选的,其还包括步骤:S0,获取流媒体资源数据的编码格式,并根据编码格式预留用于缓冲不同编码格式流媒体资源数据的内存空间和用于解析流媒体资源的解码器。优选的,所述步骤S0具体包括子步骤:S01,预下载部分流媒体资源数据,分析并获取流媒体资源数据的编码格式;S02,根据编码格式预留用于缓存不同编码格式流媒体资源数据的内存和用于解析流媒体资源的解码器,创建内存中存放流媒体资源的内存索引信息,所述内存索引信息包括分片长度和编码类型信息。优选的,其还包括步骤:S6,下载流媒体资源数据分片到内存中,更新内存中的索引信息和数据读写指针,并且计算下载流媒体资源数据的大小和时间;S7,根据下载流媒体资源数据的大小和时间,判断是否需要切换到其他码率的地址上进行播放。一种流媒体播放的切换系统,其用于实施一种流媒体播放的切换方法,其包括:Source模块,用于下载对应数据,所述对应数据包括多个码率信息、对应码率的资源地址信息;解析模块,用于解析流媒体资源的数据格式;解码器,用于对流媒体资源数据的解码操作;输出模块,用于流媒体资源的输出播放。优选的,所述对应数据还包括:部分流媒体资源数据和/或流媒体资源数据的编码格式信息,所述解析模块解析流媒体资源数据的编码格式并为相应的流媒体资源数据预留解码器。优选的,其还包括用于缓存多个编码格式流媒体资源分片的内存。本专利技术的有益效果是:本专利技术一种流媒体播放的切换方法通过创建对应线程,分别下载并跟踪多个码率资源的索引信息,通过索引信息中的序列号判断是否可以无缝切换,通过基础时钟确认不同码率之间对应的关系,保证切换过程中画面无缝播放,解决了网络流媒体播放自适应动态切换过程中出现的音视频不同步、画面不连续的问题。另外,本专利技术还通过计算网络平均速度,实现切换最佳码率的选择;通过对不同编码格式流媒体资源的预处理,实现不同编码格式流媒体资源的无缝切换;通过预留用于缓存流媒体资源分片的内存,实现快速切换的同时减少内存碎片。本专利技术可广泛应用于各种流媒体播放的切换系统。本专利技术的另一个有益效果是:本专利技术一种流媒体播放的切换系统通过Source模块和解析模块,实现对不同码率资源和/或不同编码格式的流媒体资源的预处理,进而实现不同码率资源切换过程中的无缝连接,提高了用户体验。本专利技术可广泛应用于各种流媒体播放的切换系统。附图说明下面结合附图对本专利技术的具体实施方式作进一步说明:图1是专利技术一种流媒体播放的切换方法对应的程序流程图;图2是本专利技术一种实施例三种码率索引信息中序列号对应关系示意图;图3是本专利技术一种实施例不同编码格式流媒体资源在内存中的存储示意图。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本专利技术一种流媒体播放的切换方法包括两部分:1.自适应流媒体数据不同码率资源下载算法的优化,适用于具有多码率的流媒体资源;2.自适应流媒体数据不同编码格式资源切换算法的优化,适用于具有不同编码格式的流媒体资源。自适应流媒体数据不同码率资源下载算法的优化,包括步骤:S1,解析并判断所要播放的流媒体是否为多码率,若为多码率,则执行步骤S2;S2,解析并获取每个码率对应资源的资源索引信息,并对应每个码率创建一个线程;如图1所示,以机顶盒媒体播放器播放三种码率资源(高等码率High、中等码率Mid、低等码率Low)为例,详述工作过程。当机顶盒媒体播放器接收到播放流媒体请求时,Source模块解析相关地址,根据地址格式采用相应协议发起连接请求,等待服务器响应,下载部分数据,预解析服务器返回的数据;如HttpLiveStreaming(HLS)协议返回m3u8文件,smoothstreaming协议返回manifest文件,mpeg-dash返回mpd文件。播放器预解析数据源格式,动态加载解析器,并且选择分数较高的插件,当解析器匹配成功后,同时还能获取音视频的编码方式。S3,如图2所示,在流媒体播放需要进行码率切换时,每个线程分别刷新对应码率资源索引信息的序列号,如果多个线程刷新出来的序列号一致,则进入步骤S4,否则进入步骤S5;在本实施例中,对于多码率资源,Source模块下载完描述文档后,即可以知道自适应流的信息,此时,播放器首先将自适应流信息按照码率高低进行排序,默认选择中等码率Mid开始播放,这样可以避免最低码率Low是音频的情况,并且默认情况下,自动切换过程中不切换到只有音频的列表。下面给出本文档来自技高网...
一种流媒体播放的切换方法和系统

【技术保护点】
一种流媒体播放的切换方法,其特征在于,其包括步骤:S1,解析并判断所要播放的流媒体是否为多码率,若为多码率,则执行步骤S2;S2,解析并获取每个码率对应资源的资源索引信息,并对应每个码率创建一个线程;S3,在流媒体播放需要进行码率切换时,每个线程分别刷新对应码率资源索引信息的序列号,如果多个线程刷新出来的序列号一致,则进入步骤S4,否则进入步骤S5;S4,直接切换到与当前网络速度匹配的码率资源或切换到所需的其它码率资源;S5,根据各个码率的序列号,计算出不同码率的具体时间偏差,在进行码率切换时,根据不同码率的具体时间偏差,切换到所要切换到码率的对应时间位置进行播放。

【技术特征摘要】
1.一种流媒体播放的切换方法,其特征在于,其包括步骤:S1,解析并判断所要播放的流媒体是否为多码率,若为多码率,则执行步骤S2;S2,解析并获取每个码率对应资源的资源索引信息,并对应每个码率创建一个线程;S3,在流媒体播放需要进行码率切换时,每个线程分别刷新对应码率资源索引信息的序列号,如果多个线程刷新出来的序列号一致,则进入步骤S4,否则进入步骤S5;S4,直接切换到与当前网络速度匹配的码率资源或切换到所需的其它码率资源;S5,根据各个码率的序列号,计算出不同码率的具体时间偏差,在进行码率切换时,根据不同码率的具体时间偏差,切换到所要切换到码率的对应时间位置进行播放;所述方法还包括步骤:S0,获取流媒体资源数据的编码格式,并根据编码格式预留用于缓冲不同编码格式流媒体资源数据的内存空间和用于解析流媒体资源的解码器;所述步骤S0具体包括子步骤:S01,预下载部分流媒体资源数据,分析并获取流媒体资源数据的编码格式;S02,根据编码格式预留用于缓存不同编码格式流媒体资源数据的内存和用于解析流媒体资源的解码器,创建内存中存放流媒体资源的内...

【专利技术属性】
技术研发人员:曾令明
申请(专利权)人:深圳市九洲电器有限公司
类型:发明
国别省市:广东;44

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

1