大家好,欢迎来到IT知识分享网。
最近研究mp4文件的转码与分割合并,需要使用mp4box这个工具。目前这个工具合并到gpac开源项目中,如果需要下载安装的话需要到GPAC的官网去。
首先介绍下GPAC项目吧,这个项目的目标是致力实现一个mpeg4 system,成为MPEG-4标准的实现参考,合并现在一些标准到其框架下等,项目目前每天都有代码提交,比较活跃。其他信息可以到其主页查看:http://gpac.wp.institut-telecom.fr/。
下面说下mp4box的安装,官网提供每日最新的编译安装包,支持windows、Linux、Andoid、Mac等平台,可以直接下载2进制格式直接使用。不过其提供的Linux二进制包是基于deb的,只支持ubuntn10.10以上版本。所以其他的Linux系统只能从源代码进行安装。
首先下载代码,需要使用svn进行同步:svn co https://gpac.svn.sourceforge.net/svnroot/gpac/trunk/gpac gpac
然后到http://sourceforge.net/projects/gpac下载其所依赖的三方库gpac extr libs,当前是最新的是0.4.5版本,把下载下来的压缩包解压,并将其中的子目录复制到gpac源代码目录的extra_lib/下。
按照官方文档的说明,此时只需要在gpac的源代码目录里,执行./configure;make;make install即可。不过根据不同的平台,config生成的makefile可能有问题,多数情况下编译会出各种问题。至少我在centos5.4和ubuntu8.04系统中都没顺利编译通过。
遇到的多数问题是缺少外部依赖,最重要的几个依赖为freetype 、freeglut以及zlib,这些依赖需要进入extra_lib目录,按照其中的说明文档逐个编译,在编译三方库的时候也不是很顺利,有时候不得不yum install和apt-get从源中下载,把大数的依赖都搞定了,问题算解决了一半。在编译gpac时依然编不过,不得不把编不过的模块在./configure时去掉,并把gpac配置生成为static,mp4box生成为非static。需要./configure –help仔细一下,经过一翻调整,gpac才生成最终的lib和mp4box以及mp4client,其他的应用依不能成功编过。不过我只要mp4box和mp4client,其他的东西并不关心,没有生成就算了。
mp4client的使用比较简单,它可以播放本地的mp4文件,远程http播放存在问题,一直不成功。
mp4box使用比较复杂,具有许多功能,它可以进行mp4文件的合并、切割、提取其中的track及相关信息,还可以对mp4文件的物理格式进行改写,对mp4文件的每个结构进行改写如版权、语言等等。具体可以查看:http://gpac.wp.institut-telecom.fr/mp4box/mp4box-documentation/
下面对一些较常用的选项进行说明:
文件转换语法如下:mp4box -add file1 -add file2 [-new] dest,通常情况下支持最多20个add
(未完待续)
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/119092.html