MP4Box hint mp4容错性优于mp4creator及CentOS linux下编译gpac

众所周知,Apple的Darwin Streaming Server流媒体服务器,只能播放hint后的mp4文件,因此离不开hint工具。能用于hint的工具包括:MP4Box和mp4creator
MP4Box语法:
MP4Box -hint xxx.mp4

mp4creator语法:
mp4creator -hint=1 xxx.mp4
mp4creator -hint=2 xxx.mp4

最近在做流媒体服务器,通过实践,发现mp4creator对很多mp4文件无能为力,报错:
MP4ERROR: MP4Array::[]: index xxx of xx: Numerical result out of range
mp4creator: error hinting track 1

但同时使用MP4Box却非常正常。

附上CentOS 5下编译gpac(编译后会包含有MP4Box)的文字:
(摘自chinaunix博客http://blog.chinaunix.net/uid-10697776-id-2935583.html)
yum -y install freeglut
yum -y install freeglut-devel
wget http://downloads.sourceforge.net/gpac/gpac-0.5.0.tar.gz
wget http://downloads.sourceforge.net/gpac/gpac_extra_libs-0.4.5.tar.gz
tar zxvf gpac-0.5.0.tar.gz
tar zxvf gpac_extra_libs-0.4.5.tar.gz

cd gpac

cp -r ../gpac_extra_libs/* extra_lib/
chmod +x configure
./configure
make
make lib
make apps
make install

whereis MP4Box

最后,分享一条很实用的经验,对于一些DVD格式的片源(mp4 h264,非avc1格式), MP4Box也会失败,报错:
Hinting file with Path-MTU 1450 Bytes
Cannot create hinter (Feature Not Supported)
Error: Feature Not Supported
解决方法如下,利用ffmpeg进行快速转码(视频音频参数都是拷贝: -vcodec copy -acodec copy),把转码后的mp4文件再用MP4Box hint即可:
ffmpeg -i xxx.mp4 -vcodec copy -acodec copy xxx_new.mp4
MP4Box -hint xxx_new.mp4

回复

你的邮件地址不会被公开(Your email address will not be published.) Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>