【0014】【mp4视频打包专题】

使用开源的mp4v2 开源库 打包mp4

【参考文章】

【1】https://www.cnblogs.com/ranson7zop/p/7889272.html

1.摘要

---------------------------------------------------------------------------------

        MP4视频文件封装格式是基于QuickTime容器格式定义的,因此参考QuickTime的格式定义对理解MP4文件格式很有帮助。MP4文件格式是一个十分开放的容器,几乎可以用来描述所有的媒体结构,MP4文件中的媒体描述与媒体数据是分开的,并且媒体数据的组织也很自由,不一定要按照时间顺序排列,甚至媒体数据可以直接引用其他文件。同时,MP4也支持流媒体。MP4目前被广泛用于封装h.264视频和AAC音频,是高清视频的代表。

--------------------------------------------------------------------------------

【1】MP4文件中的媒体描述与媒体数据是分开的

理解:mp4文件的描述信息和实际的媒体数据是分开存放的,与bmp是一致的。

【2】不一定要按照时间顺序排列:例如I P B 帧的顺序是不一样的,播放mp4文件必然存在视频缓存

【3】媒体数据可以直接引用其他文件:可以在mp4数据中直接内嵌其他视频类型的数据;

【4】MP4也支持流媒体:支持边下载边播放;

-------------------------------------------------------------------------------

       MP4文件中的所有数据都装在box(QuickTime中为atom)中,也就是说MP4文件由若干个box组成,每个box有类型和长度,可以将box理解为一个数据对象块。box中可以包含另一个box,这种box称为container box。一个MP4文件首先会有且只有一个“ftyp”类型的box,作为MP4格式的标志并包含关于文件的一些信息;之后会有且只有一个“moov”类型的box(Movie Box),它是一种container box,子box包含了媒体的metadata信息;MP4文件的媒体数据包含在“mdat”类型的box(Midia Data Box)中,该类型的box也是container box,可以有多个,也可以没有(当媒体数据全部引用其他文件时),媒体数据的结构由metadata进行描述

------------------------------------------------------------------------------- 

【5】box中可以包含另一个box,这种box称为container box:类似于结构体中可以包含指针,指向另外一个结构体。

【6】“ftyp”类型的box:存放mp4的文件信息

 -----------------------------------------------------------------------------

【7】可以使用十六进制工具软件打开mp4文件,查看实际的数据,然后修改数据,继续使用VLC或者其他的播放器播放视频。VLC具有定义的容错性。

 

 

------------------------------------------------------------------------------

------------恢复内容开始------------

使用开源的mp4v2 开源库 打包mp4

【参考文章】

【1】https://www.cnblogs.com/ranson7zop/p/7889272.html

1.摘要

---------------------------------------------------------------------------------

        MP4视频文件封装格式是基于QuickTime容器格式定义的,因此参考QuickTime的格式定义对理解MP4文件格式很有帮助。MP4文件格式是一个十分开放的容器,几乎可以用来描述所有的媒体结构,MP4文件中的媒体描述与媒体数据是分开的,并且媒体数据的组织也很自由,不一定要按照时间顺序排列,甚至媒体数据可以直接引用其他文件。同时,MP4也支持流媒体。MP4目前被广泛用于封装h.264视频和AAC音频,是高清视频的代表。

--------------------------------------------------------------------------------

【1】MP4文件中的媒体描述与媒体数据是分开的

理解:mp4文件的描述信息和实际的媒体数据是分开存放的,与bmp是一致的。

【2】不一定要按照时间顺序排列:例如I P B 帧的顺序是不一样的,播放mp4文件必然存在视频缓存

【3】媒体数据可以直接引用其他文件:可以在mp4数据中直接内嵌其他视频类型的数据;

【4】MP4也支持流媒体:支持边下载边播放;

-------------------------------------------------------------------------------

       MP4文件中的所有数据都装在box(QuickTime中为atom)中,也就是说MP4文件由若干个box组成,每个box有类型和长度,可以将box理解为一个数据对象块。box中可以包含另一个box,这种box称为container box。一个MP4文件首先会有且只有一个“ftyp”类型的box,作为MP4格式的标志并包含关于文件的一些信息;之后会有且只有一个“moov”类型的box(Movie Box),它是一种container box,子box包含了媒体的metadata信息;MP4文件的媒体数据包含在“mdat”类型的box(Midia Data Box)中,该类型的box也是container box,可以有多个,也可以没有(当媒体数据全部引用其他文件时),媒体数据的结构由metadata进行描述

------------------------------------------------------------------------------- 

【5】box中可以包含另一个box,这种box称为container box:类似于结构体中可以包含指针,指向另外一个结构体。

【6】“ftyp”类型的box:存放mp4的文件信息

 -----------------------------------------------------------------------------

【7】可以使用十六进制工具软件打开mp4文件,查看实际的数据,然后修改数据,继续使用VLC或者其他的播放器播放视频。VLC具有定义的容错性。

 

 

------------------------------------------------------------------------------

------------恢复内容结束------------

posted @ 2020-07-28 20:01  OzTaking  阅读(479)  评论(0)    收藏  举报