做项目遇到针对于mpegts多节目流转码的问题,看遍了ffmpeg的参数都得不到解决办法,最后在雷神的博客中看到了ffmbc;
结果,还是没解决问题,但是看起来改改ffmbc的代码还是相对简单一些,抽时间分析一下ffmbc.c:2762~2765行,应该就可以解决问题了。
先标记一下,免得之后忘了;
ffmbc虽然不大,还是要FQ才能下得到,为了方便下载,我已经上传到CSDN:
http://download.csdn.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=0 make
当然不管你成不成功,反正我是没成功,于是,我还改了configure文件:
2906 { use_pkg_config x264 "stdint.h x264.h" x264_encoder_encode || 2907 { require libx264 x264.h x264_encoder_encode -lx264 && 2908 warn "using libx264 without pkg-config"; } } 2909 #if test $pkg_config != false; then 2910 #enabled libx264 && require_pkg_config x264 "inttypes.h x264.h" x264_encoder_encode && 2911 # { check_cpp_condition x264.h "X264_BUILD >= 115" || 2912 # die "ERROR: libx264 version must be >= 0.115."; } 2913 #else 2914 #enabled libx264 && require libx264 "x264.h" x264_encoder_encode -lx264 && 2915 # { check_cpp_condition x264.h "X264_BUILD >= 115" || 2916 # die "ERROR: libx264 version must be >= 0.115."; } 2917 #fi
前面有#号注释掉的是之前的写法,2906~2908是新加的。