视频文件的播放方法及用户设备的制造方法_2

文档序号:8286288阅读:来源:国知局
[0025] S204:用户设备根据第一描述信息中的第一播放参数生成第二描述信息,其中, 第二描述信息包括用户设备上的系统播放器所支持的第二播放格式所对应的第二播放参 数;
[0026] S206 :用户设备将第二描述信息设置为具有第二播放格式的目标视频文件的描述 信息,并按照音视频数据在待播放视频文件中的存放顺序将音视频数据写入目标视频文件 中用于存放音视频数据的结构字段中;
[0027] S208:用户设备在系统播放器中按照第二描述信息中的第二播放参数播放目标视 频文件中的音视频数据。
[0028] 需要说明的是,本发明实施例的待播放文件可以是存储于用户设备本地的视频文 件(也称离线视频文件),也可以是存储于服务器中的视频文件(也称在线视频文件),本 发明实施例对此不做限制。
[0029] 在上述环境下,根据本发明实施例提供的视频文件的播放方法,在步骤S202中, 用户设备获取待播放视频文件的第一描述信息和音视频数据,第一描述信息包括待播放视 频文件的第一播放格式所对应的第一播放参数。
[0030] 本发明实施例中,待播放视频文件可以是任意一种常见格式的视频文件,例如: FLV(FlashVideo,视讯编码格式)、WMV(WindowsMediaVideo,微软媒体视频格式)、 MKV(MultimediaContainer,多媒体容器格式)、RM(RealMedia,Real公司开发的网络流媒 体文件格式)/AVI(AudioVideoInterleaved,音频视频交错格式)等。用户设备可以对该 待播放文件进行格式解析,以获取该待播放视频的第一描述信息和音视频数据。
[0031] 其中,第一描述信息包括待播放视频文件的第一播放格式所对应的第一播放参 数,具体地,该第一播放参数可以包括以下信息:
[0032] 1)视频数据压缩格式、图像分辨率、视频数据码率、色彩空间格式、视频数据时长、 视频数据在待播放文件中的起始字节偏移位置、视频数据关键帧间隔、所有关键帧在待播 放文件中的字节偏移位置;
[0033] 2)音频数据压缩格式、采样率、比特精度、压缩码率、原始声音格式、音频数据时 长、音频数据在待播放文件中的起始字节偏移位置。
[0034] 需要说明的是,不同格式的视频文件中的播放参数有所不同,本发明实施例对此 不做限定。
[0035] 下面,如图3所示,以待播放视频文件的格式为FLV为例:
[0036] FLV视频文件主要由Header(数据头)和Body(数据主体)组成,可表示为IFLV_ Header(9)IFLV_Body(n)I,括号里是长度,以byte(字节)为单位。
[0037] FLV视频文件中,Header的内容长度是固定的,格式可表示为:IF(8)IL(8)IV(8) Version(8) |TypeFlagsReserved(5) |TypeFlagsAudio(I)|TypeFlagsReserved(l)|TypeF IagsVideo(I)IDataOffset(32)I,括号里是长度,以bit(位)为单位。
[0038] 具体地,Header的长度为9bytes;前三个字节为FLV,用十六进制表示为F:0x46, L:0x4C,V:0x56;Version为FLV视频文件的版本号,一般为 0x01 ;TypeFlagsReserved为保 留位,均为0JypeFlagsAudio为FLV视频文件中是否包括音频数据,1表示有,0表示没有; TypeFlagsVideo为FLV视频文件中是否包括视频数据,1表示有,0表示没有;DataOffset 为Header的长度,为固定值0x00000009。
[0039] FLV视频文件中,Body的内容主要可以由多个Tag(标签)组成,每个Tag的下面 有一块4bytes的空间,用来记录这个Tag的长度,格式可为:|PreviousTagSizeO(32)|Tag I(PreviousTagSizel)IPreviousTagSizel(32)ITag2I......PreviousTagSizeN-I(32)|Tag N(previousTagSizeN)IpreviousTagSizeN(32)I〇
[0040] 具体地,PreviousTagSizeO为0x00000000Jag为每一个内容,目前包括音频、视 频、脚本;PreviousTagSize为前一个Tag的长度。
[0041] 进一步地,Tag是Body的内容,每个Tag同样是由TagHeader和TagData组成其 中,TagHeader的格式可以表不为:|TagType(8) |DataSize(24) |Timestamp(24)ITimestam pExtended(8)IStreamID(24)IData(DataSize)I。
[0042] 具体地,TagType为Tag的类型,常见的类型包括:音频为0x08 ;视频为0x09 ;脚本 数据为0x12 ;DataSize为Data的长度;Timestamp为相对第一个Tag的时间戳,因此第一个 Tag的时间戳为0。也可以将所有Tag的时间戳全配置为0,解码器会自动处理;StreamID为 默认的全为0。Data为具体的数据内容,如果TagType= 0x08,为AudioData;如果TagType =0x09,为VideoData;如果TagType= 0x12,为ScriptDataObject,但该项因为内容不固 定,所以在FLV视频文件中可以没有该Tag内容。本发明实施例不做赘述。
[0043] 由以上描述可知,本领域技术人员可以实现的,用户设备可以对该FLV视频文件 进行格式解析,获得该FLV视频文件的第一描述信息和音视频数据,其中,第一描述信息可 以由FLV视频文件的Header解析出,音视频数据可以由FLV视频文件的Body解析出。 [0044] 可选地,在视频转码装置获取待播放视频文件的第一描述信息和音视频数据之 前,还包括:
[0045] 视频转码装置接收来自系统播放器的视频播放请求,视频播放请求携带待播放视 频的标识,视频播放请求为系统播放器响应于用户的播放操作生成的。标识为URL(Uniform ResourceLocator,本地统一资源定位符),URL包括视频转码装置的IP(Internet Protocol,网络之间互联的协议)地址,视频转码装置的IP地址为127. 0. 0. 1。
[0046] 在上述环境下,根据本发明实施例提供的视频文件的播放方法,在步骤S204中, 用户设备根据第一描述信息中的第一播放参数生成第二描述信息,其中,第二描述信息包 括用户设备上的系统播放器所支持的第二播放格式所对应的第二播放参数。
[0047] 基于商业利益竞争和知识产权规避等因素,目前在主流智能手机平台上,通过系 统API(ApplicationProgrammingInterface,应用程序编程接口)及服务接口可以直接 播放的视频文件(也称协议格式)非常有限。众所周知,AppleIOS和GoogleAndroid 都支持的视频文件格式仅有基于IS0/IEC14496-12的MP4文件格式;进一步地,考虑目前 互联网流量最大来源的在线视频服务,仅有基于HTTP的MP4流媒体格式和基于HLS协议 的TS(TransportStream,传送流)流媒体格式为两大平台所通用。除此之外,基于开源协 议、被广泛使用的MKV文件格式,仅在Android平台上支持;而典型如Windows开发的WMV、 Adobe
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1