本发明专利技术涉及一种流媒体播放方法及系统,流媒体的每个片段在播放时,均先记录保存该片段的I帧数据,在拖动或高标清切换到一个片段的新播放位置时,若该新播放位置不是I帧则将记录保存的该片段的I帧数据先发送给解码器进行解码播放,然后再由新播放位置进行解码播放,从而通过提供I帧作为参考帧的方式解决花屏的问题,保证用户观看不受影响,从而给用户带来良好的体验。
【技术实现步骤摘要】
流媒体播放方法及系统
本专利技术涉及媒体播放领域,尤其涉及一种流媒体播放方法及系统。
技术介绍
目前,流媒体在播放过程中,所播放的视频是按照顺序播放的,流媒体终端(例如电脑、PAD、机顶盒等等)的解码器解码也是从头开始顺序解码,在解码过程中需要参考前面已经解码的视频数据,将前面的某些视频数据作为参考数据来进行解码。但是,当网络环境较差、用户拖动视频或者高标清视频切换时可能会丢失前面已经解码的参考数据,导致解码后面的视频数据时,没有了参考数据不能解码播放出来,从而导致花屏的现象,这就极大的影响了用户观看,给用户带来不好的体验。
技术实现思路
有鉴于此,有必要针对上述流媒体播放过程中会出现花屏的问题,提供一种流媒体播放方法及系统。本专利技术提供的一种流媒体播放方法,包括如下步骤:S10:流媒体的每个片段在播放时,均获取该片段的I帧数据并记录保存;S20:若拖动或高标清切换到一个片段的新播放位置时,判断新播放位置是否为I帧位置,若是则由新播放位置进行解码播放,若不是则将记录保存的该片段的I帧数据先发送给解码器进行解码播放,然后再由新播放位置进行解码播放。在其中的一个实施方式中,所述步骤S20还包括:对流媒体未播放的后面片段进行缓存,判断新播放位置所属的片段是否已经全部缓存完毕,若缓存完毕则直接由新播放位置进行播放。在其中的一个实施方式中,所述是否已经全部缓存完毕通过比较新播放位置的时间点和缓存部分的时间点来进行。在其中的一个实施方式中,所述步骤S20还包括:判断新播放位置与下一片段I帧之间的数据帧数是否少于设定值,若少于设定值则直接由下一片段的I帧开始解码播放。本专利技术提供的一种流媒体播放系统,包括:I帧获取模块,流媒体的每个片段在播放时,均获取该片段的I帧数据并记录保存;I帧提供模块,若拖动或高标清切换到一个片段的新播放位置时,判断新播放位置是否为I帧位置,若是则由新播放位置进行解码播放,若不是则将记录保存的该片段的I帧数据先发送给解码器进行解码播放,然后再由新播放位置进行解码播放。在其中的一个实施方式中,所述I帧提供模块对流媒体未播放的后面片段进行缓存,判断新播放位置所属的片段是否已经全部缓存完毕,若缓存完毕则直接由新播放位置进行播放。在其中的一个实施方式中,所述是否已经全部缓存完毕通过比较新播放位置的时间点和缓存部分的时间点来进行。在其中的一个实施方式中,所述I帧提供模块判断新播放位置与下一片段I帧之间的数据帧数是否少于设定值,若少于设定值则直接由下一片段的I帧开始解码播放。本专利技术流媒体播放方法及系统,流媒体的每个片段在播放时,均先记录保存该片段的I帧数据,在拖动或高标清切换到一个片段的新播放位置时,若该新播放位置不是I帧则将记录保存的该片段的I帧数据先发送给解码器进行解码播放,然后再由新播放位置进行解码播放,从而通过提供I帧作为参考帧的方式解决花屏的问题,保证用户观看不受影响,给用户带来良好的体验。附图说明图1是一个实施例中的流媒体播放方法的流程图;图2是一个实施例中的流媒体播放系统的结构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。流媒体播放,所播放的视频数据都是由一个个片段组成,每个片段的时间不等(几秒钟或者几十秒中不等)。每个片段都是由I帧、P帧或B帧组成,而I帧是关键帧,例如,一个片段有几十帧数据,第一帧是I帧,后面都是P帧和B帧。P帧和B帧解码依赖于I帧为参考帧(即I帧为参考数据)。在拖动视频播放或者高标清切换到某一个新播放位置(也即新的时间点)时,如果新播放位置在一个片段的中间,因为没有了I帧这个参考帧,将导致解码不完整,出现花屏,为解决这个问题,本专利技术提供一种方法,具体如图1所示,该方法包括:S10:流媒体的每个片段在播放时,均获取该片段的I帧数据并记录保存。流媒体播放,都是以一个片段为单位进行播放的,每个片段的第一帧数据都是I帧。如果拖动或者切换后的新播放位置不是第一帧I帧,则该片段新播放位置之后的数据就会缺少I帧为参考帧,不能解码导致花屏,故该步骤对于流媒体的每个片段,在播放该片段时会获取该片段的I帧数据并记录保存,以便后期使用I帧。S20:若拖动或高标清切换到一个片段的新播放位置时,判断新播放位置是否为I帧位置,若是则由新播放位置进行解码播放,若不是则将记录保存的该片段的I帧数据先发送给解码器进行解码播放,然后再由新播放位置进行解码播放。在用户进行操作,拖动视频或者高标清视频切换到新播放位置时,由于新播放位置可能是I帧位置,也有可能是一个片段的中间位置,如果是中间位置则需要有该片段的I帧做参考帧才能由新播放位置开始播放,故该步骤在新播放位置不是I帧时,记录保存该片段的I帧数据并先发送给解码器进行解码播放,然后再由新播放位置进行解码播放,从而通过提供参考帧的方式解决花屏的问题。为使得流媒体播放能够更流畅,在流媒体播放时,如果网络条件允许都会对流媒体进行缓存处理,已经缓存下来的片段可以直接播放,故该步骤还包括:对流媒体未播放的后面片段进行缓存,判断新播放位置所属的片段是否已经全部缓存完毕,若缓存完毕则直接由新播放位置进行播放。是否已经全部缓存完毕可以通过比较新播放位置的时间点和缓存部分的时间点来进行。另外,如果新播放位置与下一片段之间的数据帧数很少,则可以直接由下一个片段直接播放,对用户的观看影响极其微小,故该步骤还包括:判断新播放位置与下一片段I帧之间的数据帧数是否少于设定值,若少于设定值则直接由下一片段的I帧开始解码播放。该流媒体播放方法,流媒体的每个片段在播放时,均先记录保存该片段的I帧数据,在拖动或高标清切换到一个片段的新播放位置时,若该新播放位置不是I帧则将记录保存的该片段的I帧数据先发送给解码器进行解码播放,然后再由新播放位置进行解码播放,从而通过提供I帧作为参考帧的方式解决花屏的问题,保证用户观看不受影响,给用户带来良好的体验。同时,本专利技术提供一种流媒体播放系统,如图2所示,该系统包括:I帧获取模块100,流媒体的每个片段在播放时,均获取该片段的I帧数据并记录保存。流媒体播放,都是以一个片段为单位进行播放的,每个片段的第一帧数据都是I帧。如果拖动或者切换后的新播放位置不是第一帧I帧,则该片段新播放位置之后的数据就会缺少I帧为参考帧,不能解码导致花屏,故对于流媒体的每个片段,在播放该片段时I帧获取模块100会获取该片段的I帧数据并记录保存,以便后期使用I帧。I帧提供模块200,若拖动或高标清切换到一个片段的新播放位置时,判断新播放位置是否为I帧位置,若是则由新播放位置进行解码播放,若不是则将记录保存的该片段的I帧数据先发送给解码器进行解码播放,然后再由新播放位置进行解码播放。在用户进行操作,拖动视频或者高标清视频切换到新播放位置时,由于新播放位置可能是I帧位置,也有可能是一个片段的中间位置,如果是中间位置则需要有该片段的I帧做参考帧才能由新播放位置开始播放,故I帧提供模块200在新播放位置不是I帧时,记录保存该片段的I帧数据并先发送给解码器进行解码播放,然后再由新播放位置进行解码播放,从而通过提供参考帧的方式解决花屏的问题。为使得流媒体本文档来自技高网...
【技术保护点】
1.一种流媒体播放方法,其特征在于,包括如下步骤:S10:流媒体的每个片段在播放时,均获取该片段的I帧数据并记录保存;S20:若拖动或高标清切换到一个片段的新播放位置时,判断新播放位置是否为I帧位置,若是则由新播放位置进行解码播放,若不是则将记录保存的该片段的I帧数据先发送给解码器进行解码播放,然后再由新播放位置进行解码播放。
【技术特征摘要】
1.一种流媒体播放方法,其特征在于,包括如下步骤:S10:流媒体的每个片段在播放时,均获取该片段的I帧数据并记录保存;S20:若拖动或高标清切换到一个片段的新播放位置时,判断新播放位置是否为I帧位置,若是则由新播放位置进行解码播放,若不是则将记录保存的该片段的I帧数据先发送给解码器进行解码播放,然后再由新播放位置进行解码播放。2.根据权利要求1所述的流媒体播放方法,其特征在于,所述步骤S20还包括:对流媒体未播放的后面片段进行缓存,判断新播放位置所属的片段是否已经全部缓存完毕,若缓存完毕则直接由新播放位置进行播放。3.根据权利要求2所述的流媒体播放方法,其特征在于,所述是否已经全部缓存完毕通过比较新播放位置的时间点和缓存部分的时间点来进行。4.根据权利要求1所述的流媒体播放方法,其特征在于,所述步骤S20还包括:判断新播放位置与下一片段I帧之间的数据帧数是否少于设定值,若少于设定值则直接由下一片段的I帧开始解码播...
【专利技术属性】
技术研发人员:池骏,汤霞,
申请(专利权)人:四川迪佳通电子有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。