一种媒体文件的网络播放方法、装置及存储介质制造方法及图纸

技术编号:22756989 阅读:11 留言:0更新日期:2019-12-07 04:48
本公开提供了一种媒体文件的网络播放方法,包括:通过内嵌于网页的播放器从服务器获取媒体文件中的媒体数据;其中,所述播放器在所述网页中播放媒体文件,所述媒体文件采用非流媒体封装格式;通过所述播放器构造包括所述媒体数据的分段媒体文件;通过所述播放器发送所述分段媒体文件至所述媒体资源扩展接口,并通过所述媒体资源扩展接口调用所述网页的媒体元素进行播放。本公开实施例还提供一种媒体文件的网络播放装置及存储介质。

A network playing method, device and storage medium of media files

The present disclosure provides a network playing method of media files, including: obtaining media data from a server through a player embedded in a web page; wherein, the player plays media files in the web page, and the media files are in a non streaming media packaging format; constructing a segmented media file including the media data through the player; and The player sends the segmented media file to the media resource extension interface, and calls the media elements of the web page through the media resource extension interface for playing. The invention also provides a network playing device and a storage medium for media files.

【技术实现步骤摘要】
一种媒体文件的网络播放方法、装置及存储介质
本公开涉及媒体文件的网络播放技术,尤其涉及一种媒体文件的网络播放方法、装置及存储介质。
技术介绍
网页内嵌的播放器通过使用网页的超文本标记语言(HTML,HyperTextMarkupLanguage)5媒体元素播放,播放器在网页中播放媒体文件,然而相关技术只能提供对于流媒体文件(如超文本传输协议直播流(HLS,HTTPLiveStreaming))的播放支持,对于网络中的非流媒体封装格式的媒体文件(如动态图像专家组(MPEG,MovingPictureExpertsGroup)-4文件),由于其自身并不支持流媒体文件的网络播放;因此播放器通过网页播放非流媒体封装格式的媒体文件时,需要对媒体文件进行格式转换,并部署存储服务和内容分发网络(ContentDeliveryNetwork,CDN),不仅播放媒体文件的实时成本高,而且增加了网络系统架构的负载。
技术实现思路
有鉴于此,本公开实施例提供一种媒体文件的网络播放方法、装置及存储介质,能够降低播放媒体文件的实时成本,减轻网络系统架构的负载。一方面,本公开实施例提供一种媒体文件的网络播放方法,包括:通过内嵌于网页的播放器从服务器获取媒体文件中的媒体数据;其中,所述播放器在所述网页中播放媒体文件,所述媒体文件采用非流媒体封装格式;通过所述播放器构造包括所述媒体数据的分段媒体文件;通过所述播放器发送所述分段媒体文件至所述媒体资源扩展接口,并通过所述媒体资源扩展接口调用所述网页的媒体元素进行播放。另一方面,本公开实施例提供一种媒体文件的网络播放装置,设置于内嵌于网页的播放器,包括:获取单元,用于从服务器获取媒体文件中的媒体数据;其中,所述播放器在所述网页中播放媒体文件,所述媒体文件采用非流媒体封装格式;构造单元,用于构造包括所述媒体数据的分段媒体文件;播放单元,用于发送所述分段媒体文件至所述媒体资源扩展接口,并通过所述媒体资源扩展接口调用所述网页的媒体元素进行播放。再一方面,本公开实施例提供一种媒体文件的网络播放装置,包括:存储器,用于存储可执行指令;处理器,用于通过执行所述存储器中存储的可执行指令时实现上述的媒体文件的网络播放方法。又一方面,本公开实施例提供一种存储介质,所述存储介质中存储有可执行指令,所述可执行指令被执行时,用于实现上述的媒体文件的网络播放方法。应用本公开实施例具有如下技术效果:1)通过前端播放器将非流媒体封装格式的媒体文件转换为分段媒体文件,无需部署存储服务和CDN,降低了播放非流媒体封装格式的媒体文件的实时成本,降低了网络系统架构的负载。2)将非流媒体封装格式的媒体文件中的媒体数据转换成分段媒体文件,并通过网页的媒体源扩展接口,发送给网页的媒体元素进行解码播放,实现了播放器通过所内嵌于的网页播放非流媒体格式的媒体文件,克服了非流媒体封装格式文件需要完整下载后才可以独立播放的限制。3)、所封装得到的分段媒体文件基于获取的媒体文件的部分媒体数据,而非媒体文件的全部数据,如此,转换延迟小,不需要预先存储,除了原始的媒体文件不会占用额外的存储空间,显著降低了对存储空间的占用。4)、网页的媒体元素通过媒体源扩展接口获取分段媒体文件进行解码播放,而非基于媒体文件的真实地址获取媒体数据后播放,实现了对媒体文件的真实地址的保护。附图说明图1是本公开实施例提供的容器的一个可选的结构示意图;图2是本公开实施例提供的MP4文件的一个可选的封装结构示意图;图3是本公开实施例提供的媒体文件中的媒体数据容器存储媒体数据的结构示意图;图4是本公开实施例提供的FMP4文件的一个可选的封装结构示意图;图5是本公开实施例提供的媒体文件的网络播放控制装置的一个可选的结构示意图;图6是本公开实施例提供的媒体文件的网络播放方法的一个可选处理流程示意图;图7是本公开实施例获取媒体文件中的媒体数据的一个可选处理流程示意图;图8是本公开实施例从媒体文件识别媒体信息的一个可选处理流程示意图;图9是本公开实施例提供的播放器通过网页的媒体源扩展接口发送分段媒体文件给网页的媒体元素进行解码播放的流程示意图;图10是本公开实施例提供的播放器通过网页的媒体源扩展接口播放分段媒体文件的一个可选的示意图;图11为本公开实施例提供的MP4文件转换为FMP4文件并通过媒体源扩展接口播放的一个示意图;图12为本公开实施例媒体文件的网络播放装置一个可选的组成结构示意图。具体实施方式为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本公开。对本公开进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释。1)媒体文件,以容器(Box,也称为盒子)的方式存储进行编码的媒体数据(例如音频数据和视频数据中的至少一种)的文件,其中还包括元数据,即描述媒体数据的数据,元数据中承载有确保媒体数据被正确解码的媒体信息。例如,采用MP4容器格式封装多媒体数据的文件被称为MP4文件,典型地,MP4文件中存储高级视频编码(AVC,AdvancedVideoCoding,即H.264)或MPEG-4(Part2)规范编码的视频数据和高级音频编码(AAC,AdvancedAudioCoding)规范编码的音频数据,当然不排除视频和音频的其他编码方式。2)容器(Box),也称为盒子,由唯一的类型标识符和长度定义的面向对象的构件,参见图1,是本公开实施例提供的容器的一个可选的结构示意图,包括容器头部(BoxHeader)和容器数据(BoxData),其中填充有用以表达各种信息的二进制数据。容器头部包括容量(size)和类型(type),容量指明了容器所占用的存储空间的大小(本文中也称为容量或长度),类型指明了容器的类型,参见图2,是本公开实施例提供的MP4文件的一个可选的封装结构示意图,MP4文件中涉及的基本容器类型包括文件类型容器(ftypbox)、元数据容器(moovbox)和媒体数据容器(mdatbox)。容器数据部分可以存储具体的数据,此时容器称为“数据容器”,容器数据部分也可以进一步封装其他类型的容器,此时容器称为“容器的容器”。3)轨道(Track),媒体数据容器中按时间排序的相关的采样(Sample),对于媒体数据来说,轨道表示一个视频帧序列或一个音频帧序列,还可以包括与视频帧序列同步的字幕轨本文档来自技高网
...

【技术保护点】
1.一种媒体文件的网络播放方法,其特征在于,包括:/n通过内嵌于网页的播放器从服务器获取媒体文件中的媒体数据;/n其中,所述播放器在所述网页中播放媒体文件,所述媒体文件采用非流媒体封装格式;/n通过所述播放器构造包括所述媒体数据的分段媒体文件;/n通过所述播放器发送所述分段媒体文件至所述媒体资源扩展接口,并通过所述媒体资源扩展接口调用所述网页的媒体元素进行播放。/n

【技术特征摘要】
1.一种媒体文件的网络播放方法,其特征在于,包括:
通过内嵌于网页的播放器从服务器获取媒体文件中的媒体数据;
其中,所述播放器在所述网页中播放媒体文件,所述媒体文件采用非流媒体封装格式;
通过所述播放器构造包括所述媒体数据的分段媒体文件;
通过所述播放器发送所述分段媒体文件至所述媒体资源扩展接口,并通过所述媒体资源扩展接口调用所述网页的媒体元素进行播放。


2.根据权利要求1所述的方法,其特征在于,所述通过所述播放器构造包括所述媒体数据的分段媒体文件,包括:
根据所获取的媒体文件中的媒体数据、以及所述媒体文件中的元数据,计算分段媒体文件级别的元数据;
将所获取的媒体文件中的媒体数据,以及所述分段媒体文件级别的元数据封装到分段媒体文件容器中,得到所述分段媒体文件。


3.根据权利要求1所述的方法,其特征在于,所述从服务器获取媒体文件中的媒体数据,包括:
基于所述媒体文件中识别出的媒体信息,确定所述媒体文件中接续实时播放点的两个关键帧;
发送网络请求给所述服务器,所述网络请求用于请求获取所述媒体文件中所述两个关键帧之间的媒体数据;
接收所述服务器返回的所述两个关键帧之间的媒体数据。


4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据从媒体文件中识别出的媒体信息,确定所述两个关键帧之间的视频帧在所述媒体文件中的偏移量和容量、以及与所述视频帧对齐的音频帧在所述媒体文件中的偏移量和容量;
根据所确定的偏移量和容量,确定用于携带在所述网络请求中的目标区间的偏移量和容量,以向所述服务器请求所述目标区间包括的所述视频帧和所述音频帧。


5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述服务器获取所述媒体文件中的媒体数据之前,
基于设定的偏移量及容量,向所述服务器请求所述媒体文件中的元数据,所请求的元数据在所述多媒体文件中从所述偏移量开始、且符合所述容量;
从所述服务器返回的所述元数据中识别出媒体信息;
所述媒体信息用于定位所请求的媒体数据在所述媒体文件中的偏移量和容量。


6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当通过设定的偏移量和容量从所述服务器请求的元数据中未识别出完整的媒体信息时,根据元数据盒子的头部计算所述元数据盒子的偏移量及容量;
向所述服务器请求所述媒体文件中的所述元数据,所请求的元数据在所述多媒体文件中从所述偏移量开始、且符合所述容量;
从获取的所述元数据中识别得到对应的媒体信息。


7.根据权利要求1所述的方法,其特征在于,所述通过所述媒体资源扩展接口调用所述网页的媒体元素进行播放,包括:
所述媒体资源扩展接口将接收的所述分段媒体文件添加到所述媒体资源扩展接口中的媒体源对象;
创建对应所述媒体源对象的虚拟地址;
向所述浏览器的媒体元素传递所述虚拟地址,所述虚拟地址用于供所述媒体元素以所述媒体源对象为数据源进行播放。


8.一种媒体文件的网络播放装置,设置于内嵌于网页的播放器,其特征在于,包括:
获取单...

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

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

1