mp4box的安装和使用
来源:互联网 发布:ps cs6色环插件 mac 编辑:程序博客网 时间:2024/05/23 13:32
最近研究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一般并不对音频、视频等进行转码操作。
1 通用选项 mp4box -h general
-tmp dir指定生成临时文件的目录
-inter duration 将chunk的media数据按指定间隔进行交错,用于优化流传输或文件访问,所有meta数据放在文件头部,允许在下载的内容内回放。默认交错0.5s,若指定为0,则所有meta数据存在于文件头。
-tight 对媒体轨道执行基于采样的交错(生成文件较大)。在服务器侧为减少磁盘查找时间,用于hint文件时。
-flat 强制采用平坦存储,媒体数据不进行交错,meta数据在于文件结束。当使用-add创建新文件时,将不会创建临时文件
-frag ms 对媒体文件进行分段,分的小段中含有meta及media数据交错而不是存在文件开始或结束。分段将禁止交错。
-isma 把文件处理为isma规范格式
-3gp 移除mpeg4系统信息,转换成3gp规范,保留音、视、文本轨道等3gp支持的
-brand ABCD 设置主brand
-ab ABCD 设置从brand
-rb ABCD 移除从brand
-rem trackID 从文件中移除轨道
-par trackID=PAR
-lang [trackID=lang] 为轨道指定语言,若没有指定ID,则为全部轨道
-delay trackID=time 设置指定轨道延迟时间,单位为微秒
-name trackID=name 设置指定轨道的处理名,处理名有时用来识别内容
-cprt string: 为文件增加版权信息
-chap chap_file 将chap_fil中的chapter信息增加到目的文件中
2 文件转换 mp4box -h import ( 具体支持的文件可以查看官网网页)
文件转换语法如下:mp4box -add file1 -add file2 [-new] dest,通常情况下支持最多20个add
(未完待续)
- mp4box的安装和使用
- mp4box的安装和使用
- Mp4box的下载、安装和使用
- Mp4box的下载、安装和使用
- MP4Box 安装
- MP4Box使用
- linux 安装MP4box遇到的问题
- 编译安装MP4Box
- Ubuntu安装MP4Box
- linux下安装MP4Box
- centos安装mp4box
- centos 系统安装mp4box
- Linux-CentOS 安装MP4Box
- linux下安装MP4BOX
- ubuntu下安装MP4Box
- MP4Box使用一二例
- MP4Box使用命令大全
- MP4Box
- 开发的自测宝典
- 使用python urllib2获取网页信息
- Oracle 数据库数值溢出 value > 99999999999999 || value < 0.0001
- iReport/JasperReport问题总结
- 回首历史的情怀,Ada的学习阶段性的总结
- mp4box的安装和使用
- java中的Cookie 和 Session
- 一点小小积累
- Android4: 旋转屏幕时禁止Activity重启
- 牛顿吼 苹果把老子头砸了 于是 爱翁发现 谭
- POJ 1008 解题报告 Maya Calendar
- 内核窥秘之一:start_kernel()运行过程记录
- MASM 和 Turbo C 2.0 混合编程
- IE/FF表单回车自动提交的问题