媒体文件播放过程中的分辨率切换方法、装置及存储介质制造方法及图纸

技术编号:23460134 阅读:16 留言:0更新日期:2020-03-03 06:05
本公开提供了一种媒体文件播放过程中的分辨率切换方法、装置及存储介质,方法包括:在通过网页播放流媒体(FLV)文件的过程中,接收到分辨率切换请求;所述分辨率切换请求用于请求播放目标分辨率的FLV文件;基于所述分辨率切换请求,构建对应所述目标分辨率的文件解析器;获取所述文件解析器解析所述目标分辨率的FLV文件得到的媒体数据;基于所述文件解析器解析得到的所述媒体数据,进行媒体文件播放。

Resolution switching method, device and storage medium in media file playing

【技术实现步骤摘要】
媒体文件播放过程中的分辨率切换方法、装置及存储介质
本公开涉及媒体播放技术,尤其涉及一种媒体文件播放过程中的分辨率切换方法、装置及存储介质。
技术介绍
相关技术中,浏览器并不支持流媒体格式(FLV,FlashVideo)媒体文件的播放,可通过将FLV文件中的二进制数据进行解析,并编码为分段MP4(FMP4,FragmentedMP4)文件,利用浏览器的Video元素播放。在通过浏览器播放FLV文件的过程中,如果接收到分辨率切换事件,且网络状态不支持切换(如带宽不够),将导致切换出现明显的延迟。
技术实现思路
有鉴于此,本公开实施例提供一种媒体文件播放过程中的分辨率切换方法、装置及存储介质,能够在播放FLV文件的过程中,实现目标分辨率的FLV文件的切换,并保证切换的实时性及稳定性。本公开实施例的技术方案是这样实现的:第一方面,本公开实施例提供一种媒体文件播放过程中的分辨率切换方法,包括:在通过网页播放FLV文件的过程中,接收到分辨率切换请求;所述分辨率切换请求用于请求播放目标分辨率的FLV文件;基于所述分辨率切换请求,构建对应所述目标分辨率的文件解析器;获取所述文件解析器解析所述目标分辨率的FLV文件得到的媒体数据;基于所述文件解析器解析得到的所述媒体数据,进行媒体文件播放。上述方案中,所述获取所述文件解析器解析所述目标分辨率的FLV文件得到的媒体数据之前,还包括:获取所述目标分辨率的FLV文件中的部分媒体数据;基于所述部分媒体数据中所包含的媒体数据类型,将所述部分媒体数据转换为相应类型的标签文件。上述方案中,所述获取所述文件解析器解析所述目标分辨率的FLV文件得到的媒体数据,包括:所述文件解析器包括至少两个不同类型的子解析器,分别控制每个子解析器对相应类型的标签文件进行解析,得到解析后的媒体数据。上述方案中,所述获取所述目标分辨率的FLV文件中的部分媒体数据,包括:基于所述FLV文件的播放过程中实时的播放点,确定所述目标分辨率的FLV文件中的两个关键帧;发送网络请求,所述网络请求用于请求获取所述目标分辨率的FLV文件中所述两个关键帧之间的媒体数据。上述方案中,所述获取所述目标分辨率的FLV文件中的部分媒体数据,包括:发送长连接建立请求;通过建立的所述长连接,获取所述目标分辨率的FLV文件中的部分媒体数据。上述方案中,所述基于所述文件解析器解析得到的所述媒体数据,进行媒体文件播放,包括:基于所述文件解析器解析得到的所述媒体数据,构造分段媒体文件;将所得到的分段媒体文件添加到媒体资源扩展接口中的媒体源对象;向所述网页的媒体元素传递虚拟地址,所述虚拟地址用于供所述媒体元素以所述媒体源对象为数据源进行播放。上述方案中,所述方法还包括:存储所述文件解析器解析得到的所述媒体数据,使得所述媒体数据在进行媒体文件播放时被调用。第二方面,本公开实施例提供一种媒体文件播放过程中的分辨率切换装置,包括:接收单元,用于在通过网页播放流媒体FLV文件的过程中,接收到分辨率切换请求;所述分辨率切换请求用于请求播放目标分辨率的FLV文件;构建单元,用于基于所述分辨率切换请求,构建对应所述目标分辨率的文件解析器;获取单元,用于获取所述文件解析器解析所述目标分辨率的FLV文件得到的媒体数据;播放单元,用于基于所述文件解析器解析得到的所述媒体数据,进行媒体文件播放。上述方案中,所述装置还包括:转换单元,用于获取所述目标分辨率的FLV文件中的部分媒体数据;基于所述部分媒体数据中所包含的媒体数据类型,将所述部分媒体数据转换为相应类型的标签文件。上述方案中,所述文件解析器包括至少两个不同类型的子解析器;所述获取单元,还用于分别控制每个子解析器对相应类型的标签文件进行解析,得到解析后的媒体数据。上述方案中,所述获取单元,还用于基于所述FLV文件的播放过程中实时的播放点,确定所述目标分辨率的FLV文件中的两个关键帧;发送网络请求,所述网络请求用于请求获取所述目标分辨率的FLV文件中所述两个关键帧之间的媒体数据。上述方案中,所述获取单元,还用于发送长连接建立请求;通过建立的所述长连接,获取所述目标分辨率的FLV文件中的部分媒体数据。上述方案中,所述播放单元,还用于基于所述文件解析器解析得到的所述媒体数据,构造分段媒体文件;将所得到的分段媒体文件添加到媒体资源扩展接口中的媒体源对象;向所述网页的媒体元素传递虚拟地址,所述虚拟地址用于供所述媒体元素以所述媒体源对象为数据源进行播放。上述方案中,所述装置还包括:缓存单元,用于存储所述文件解析器解析得到的所述媒体数据,使得所述媒体数据在进行媒体文件播放时被调用。第三方面,本公开实施例提供一种媒体文件播放过程中的分辨率切换装置,包括:存储器,用于存储可执行指令;处理器,用于执行所述可执行指令时,实现本公开实施例的媒体文件播放过程中的分辨率切换方法。其中,可执行指令可以为安装包、程序、代码、插件、库(动态/静态库)。第四方面,本公开实施例提供一种存储介质,存储有可执行指令,所述可执行指令被执行时,实现本公开实施例的媒体文件播放过程中的分辨率切换方法。附图说明图1为本公开实施例提供的容器的一个可选的结构示意图;图2为本公开实施例提供的FLV文件的一个可选的封装结构示意图;图3为本公开实施例提供的音频标签文件的结构示意图;图4为本公开实施例提供的视频标签文件的结构示意图;图5为本公开实施例提供的脚本标签文件的结构示意图;图6为本公开实施例提供的FMP4文件的一个可选的封装结构示意图;图7为本公开实施例提供的媒体文件播放过程中的分辨率切换装置的组成结构示意图一;图8为本公开实施例提供的媒体文件播放过程中的分辨率切换方法的流程示意图一;图9为本公开实施例提供的进行FLV文件播放的一个可选的流程示意图;图10为本公开实施例提供的媒体文件播放过程中的分辨率切换方法的流程示意图二;图11为本公开实施例提供的媒体文件播放过程中的分辨率切换方法的流程示意图三;图12为本公开实施例提供的媒体文件播放过程中的分辨率切换方法的流程示意图四;图13为本公开实施例媒体文件播放过程中的分辨率切换装置的组成示意图二。具体实施方式以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本公开,并不用于限定本公开。另外,以下所提供的实施例是用于实施本公开的部分实施例,而非提供实施本公开的全部实施例,在不冲突的情况下,本公开实施例记载的技术方案可以任意组合的方式实施。需要说明的是,在本公开实施例中,术语“包括”、“包含”或者本文档来自技高网...

【技术保护点】
1.一种媒体文件播放过程中的分辨率切换方法,其特征在于,包括:/n在通过网页播放流媒体FLV文件的过程中,接收到分辨率切换请求;所述分辨率切换请求用于请求播放目标分辨率的FLV文件;/n基于所述分辨率切换请求,构建对应所述目标分辨率的文件解析器;/n获取所述文件解析器解析所述目标分辨率的FLV文件得到的媒体数据;/n基于所述文件解析器解析得到的所述媒体数据,进行媒体文件播放。/n

【技术特征摘要】
1.一种媒体文件播放过程中的分辨率切换方法,其特征在于,包括:
在通过网页播放流媒体FLV文件的过程中,接收到分辨率切换请求;所述分辨率切换请求用于请求播放目标分辨率的FLV文件;
基于所述分辨率切换请求,构建对应所述目标分辨率的文件解析器;
获取所述文件解析器解析所述目标分辨率的FLV文件得到的媒体数据;
基于所述文件解析器解析得到的所述媒体数据,进行媒体文件播放。


2.根据权利要求1所述的方法,其特征在于,所述获取所述文件解析器解析所述目标分辨率的FLV文件得到的媒体数据之前,还包括:
获取所述目标分辨率的FLV文件中的部分媒体数据;
基于所述部分媒体数据中所包含的媒体数据类型,将所述部分媒体数据转换为相应类型的标签文件。


3.根据权利要求2所述的方法,其特征在于,所述获取所述文件解析器解析所述目标分辨率的FLV文件得到的媒体数据,包括:
所述文件解析器包括至少两个不同类型的子解析器,分别控制每个子解析器对相应类型的标签文件进行解析,得到解析后的媒体数据。


4.据权利要求2所述的方法,其特征在于,所述获取所述目标分辨率的FLV文件中的部分媒体数据,包括:
基于所述FLV文件的播放过程中实时的播放点,确定所述目标分辨率的FLV文件中的两个关键帧;
发送网络请求,所述网络请求用于请求获取所述目标分辨率的FLV文件中所述两个关键帧之间的媒体数据。


5.据权利要求2所述的方法,其特征在于,所述获取所述目标分辨率的FLV文件中的部分媒体数据,包括:
发送长连接建立请求;
通过建立的所述长连接,获取所述目标分辨率的FLV文件中的部分媒体数据。


6.据权利要求1所述的方法,其特征在于,所述基于所述文件解析器解析得到的所述媒体数据,进行媒体文件播放,包括:
基于所述文件解析器解析得到的所述媒体数据,构造分段媒体文件;
将所得到的分段媒体文件添加到媒体资源扩展接口中的媒体源对象;
向所述网页的媒体元素传递虚拟地址,所述虚拟地址用于供所述媒体元素以所述媒体源对象为数据源进行播放。


7.据权利要求1所述的方法,其特征在于,所述方法还包括:
存储所述文件解析器解析得到的所述媒体数据,使得所述媒体数据在进行媒体文件播放时被调用。


8.一种媒体文件播放过程中的分辨率切换装置,其特征在于,包括:
接收单元,用于在通过网页播放流媒体FLV文件的过程中,...

【专利技术属性】
技术研发人员:付宇豪
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

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

1