ffmbc——广播电视以及专业用途量身定制的FFmpeg

时间:2024-11-12 10:35:44

做项目遇到针对于mpegts多节目流转码的问题,看遍了ffmpeg的参数都得不到解决办法,最后在雷神的博客中看到了ffmbc;

结果,还是没解决问题,但是看起来改改ffmbc的代码还是相对简单一些,抽时间分析一下ffmbc.c:2762~2765行,应该就可以解决问题了。

先标记一下,免得之后忘了;

ffmbc虽然不大,还是要FQ才能下得到,为了方便下载,我已经上传到****:

http://download.****.net/detail/wangzekun_wolf/9696334

在Centos6上做得尝试:

ffmbc的编译:

前半部分与ffmpeg相同参考:http://trac.ffmpeg.org/wiki/CompilationGuide

然后(由于libvpx没有编译成功,而且和我要完成的任务不相关,所以也没添加libvpx的参数)

PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib -ldl" --bindir="$HOME/bin" --enable-gpl --enable-nonfree --enable-libfreetype --enable-libmp3lame --enable-libvorbis --enable-libx264 --enable-debug=
make

当然不管你成不成功,反正我是没成功,于是,我还改了configure文件:

 { use_pkg_config x264 "stdint.h x264.h" x264_encoder_encode ||
{ require libx264 x264.h x264_encoder_encode -lx264 &&
warn "using libx264 without pkg-config"; } }
#if test $pkg_config != false; then
#enabled libx264 && require_pkg_config x264 "inttypes.h x264.h" x264_encoder_encode &&
# { check_cpp_condition x264.h "X264_BUILD >= 115" ||
# die "ERROR: libx264 version must be >= 0.115."; }
#else
#enabled libx264 && require libx264 "x264.h" x264_encoder_encode -lx264 &&
# { check_cpp_condition x264.h "X264_BUILD >= 115" ||
# die "ERROR: libx264 version must be >= 0.115."; }
#fi

前面有#号注释掉的是之前的写法,2906~2908是新加的。