1、 先安装faac和x264 faac 编译方式为:#./configure --prefix=/usr 报错:mpeg4ip.h:126: error: new declaration 'char* strcasestr(const char*, const char*)’ 解决方法: 从123行开始修改此文件mpeg4ip.h,到129行结束。 修改前: #ifdef __cplusplus extern "C" { #endif char *strcasestr(const char *haystack, const char *needle); #ifdef __cplusplus } #endif 修改后: #ifdef __cplusplus extern "C++" { #endif const char *strcasestr(const char *haystack, const char *needle); #ifdef __cplusplus } #endif 2、x264 编译方式为:./configure --prefix=/usr --enable-shared 3 、下一步就是安装 libavfilter svn checkout svn://svn.mplayerhq.hu/soc/libavfilter cd libavfilter/ ./checkout.sh checkout时可能会报:Reversed (or previously applied) patch detected! Assume -R? [n] 忽略 cd ffmpeg/ ./configure --enable-libx264 --disable-ffplay --enable-gpl --enable-pthreads --enable-libfaac --enable-nonfree --enable-postproc 3 最后编译mplayer,为了防止下载ffmpeg,在configure文件中注释掉了git下载部分,可参考源码包 ./configure --enable-ass-internal --prefix=/usr/local/mplayer 比较全的http://blog.csdn.net/yue_wu151/article/details/6054126#viewSource #!/bin/sh infile="test.flv" outfile="test.mp4" options="-vcodec libx264 -b 512k -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4" #ffmpeg -y -i "$infile" -acodec libfaac -ar 44100 -ab 96k -pass 2 -threads 2 $options "$outfile" 接下来介绍视频选项: -b 指定码率注意单位是bit/s,所以我们一般要加k,比如 -b 1000k 就是1000kb/s -g 设置组的大小 -vframes 指定要编码的帧数,比如-vframes 1 就是编码1帧,截图的时候就这样写. -r 指定帧率,默认是25 -s 指定图像分辨率,用wxh的格式,比如320×240 -aspect 指定宽高比 可以些16:9这种,也可以写小数比如1.3333 -croptop 指定顶部裁减多少像素,类似的还有-cropleft -cropright -cropbuttom -bt 设置比特率容许的误差,默认4000k,在第一阶段时使用这个参数会告诉码率控制器能够偏移平均码率多远,这个选项和最大最小码率无关.设太小了不利于质量 -maxrate 和-minrate 指定允许的最大和最小码率,一般如果要用cbr模式编码的话会用这个: ffmpeg -i myfile.avi -b 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k out.m2v 否则用处不大 -vcodec 强制使用某种编码器 -sameq 使用和源文件相同的质量,这个选项是动态码率的 -pass 指定编码阶段,这个只有1和2,第一阶段的时候应该不处理音频,并且把输出导向空,比如 音频部分: -ar 设置采样频率,默认44100hz -ab 设置比特率,默认64k -an 禁用音频录制 -acodec 指定音频编码器 支持添加字幕:需要安装libass 首先安装freetype2 yum install freetype* 安装libass tar zxvf libass-0.9.11.tar.gz cd libass-0.9.11 ./configure make make install vi /etc/ld.so.conf 添加/usr/local/lib ldconfig 重新编译安装mplayer cd mplayer ./configure --enable-ass-internal --prefix=/usr/local/mplayer make make install 测试: /usr/local/mplayer/bin/mencoder -ass 查看是否支持ass /usr/local/mplayer/bin/mencoder -voc -help 查看mencoder是否正确 mplayer/bin/mencoder -sub 222.ass -ass -subcp utf8 -vf ass -oac pcm -ovc x264 -mc 0 -nobps 1202DQZTXXYWTCYJ610060.mp4 -o 222.avi 如果报错找不到字幕文件ass 将字幕添加到安装用户的根目录下,例:/root/.mplayer/subfont.ttf |
|