MP4Box 的问题及Linux下编译

来源:互联网 发布:qq 取消软件授权 编辑:程序博客网 时间:2024/05/19 08:01

1. MP4Box 官方版本问题

    最近转手机视频时,发现把H.264的Profile设为Baseline时,将引起最终生成的MP4文件音视频不同步,最初怀疑是更新x264所致,但更换几个版本x264后依然如此,后来搜索发现有不少人遇到这个问题,问题事实上出在MP4Box,后来用golgol维护的一个版本解决问题。

     由这个原因引起的不同步的视频是可以修复的,不必重新转码。先用一个工具把不同步的MP4文件分离成两个音视频原始流,比如.264和.acc文件,然后再用正常的MP4Box封装起来就可以解决问题。如果不先分离成原始音视频流,直接用MP4Box重新封装就没有效果。


2. MP4Box 在Linux下的编译

    颇为麻烦,容易出问题,把过程记录于此:

    (1)  首先安装依赖的库,以Ubuntu为例:

sudo apt-get install zlib1g-dev xulrunner-1.9.2-dev libfreetype6-devlibjpeg62-dev libpng12-dev libopenjpeg-dev libmad0-dev libfaad-devlibogg-dev libvorbis-dev libtheora-dev liba52-0.7.4-dev libavcodec-devlibavformat-dev libavutil-dev libswscale-dev libxv-dev x11proto-video-devlibgl1-mesa-dev x11proto-gl-dev linux-sound-base libxvidcore-devlibwxbase2.8-dev libwxgtk2.8-dev wx2.8-headers libssl-dev libjack-devlibasound2-dev libpulse-dev libsdl1.2-dev dvb-apps
    (2) 如果源代码库是用SVN checkout的需要安装SVN,如果用的Git,则安装Git,版本控制工具在这里的作用是产生gpac/include下的version.h文件,否则编译会失败。

    (3) 配置时 用 ./configure --use-js=no