mencoder的作用主要在视频转码方面,同时可以对视频进行压缩以及音质,画面性能的提高。
- 1. 编译所需软件和环境
- 操作系统:Cnetos6 (64bit)
- GCC4.x
- yasm-1.0.1(汇编语言Nasm代替)
- MPlayer-1.0rc4.tar.bz2(Mplayer主程序)
- coder-all-20110131.tar.bz2(Mplayer编解码包)
- lame-3.98.4.tar.gz(Mp3解码包与ffmepg共用)
- 2. 编译及安装
- 1) 使用命令yum -y install gcc gcc-c++ autoconf libtool* openssl openssl-devel make
- 安装完成后使用gcc –version查看安装版本
- 2) 解压 tar –vxf lame-3.98.4.tar.gz 进入解压后的目录lame-3.98.4,使用以下命令进行编译:./configure --prefix=/usr --enable-shared然后使用make && make install clean 编译后使用whereis lame查看lame的目录。
- 3) 解压yasm-1.0.1.tar.gz 进入解压后的目录yasm-1.0.1使用以下命令进行编译:
- ./configure --prefix=/usr --enable-shared然后使用make && make install clean 编译后使用whereis yasm查看yasm的目录
- 4) 解压tar –vxf coder-all-20110131.tar.bz2进入到解压后的目录all-20110131拷贝目录中所有的文件到/usr/lib/all-codec(目录自己建立,路径位置任意符合linux路径规则即可)
- 5) 解压tar –vxf MPlayer-1.0rc4.tar.bz2 进入解压后的目录MPlayer-1.0rc4使用以下命令进行编译:./configure --prefix=/usr/vm/media/mplayer --codecsdir=/usr/lib/all-codec --libdir=/usr/mplayer/codec --enable-mp3lame --language=zh_CN --yasm=yasm
- 参数说明:使用./ configure –help 查看需要的详细参数
- --prefix 为最终编译要使用的二进制文件的目录
- --codecsdir 为编译时需要的编解码包得路径
- --libdir 为最终生成二进制文件需要的编解码包的路径
- --enable-mp3lame 支持mp3编解码(一定要加上这个参数)
- --yasm=YASM 使用Yasm作为汇编编译
- 然后执行make && make install clean 进行编译
- 3. 修改环境变量
- 修改/etc/profile中加入
- export PATH=/usr/vm/media/mplayer/bin:$PATH
- 如果在编译时找不到相关的已安装的包在环境变量中加入
- export PATH=/usr/bin/yasm:$PATH
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/lib
- 4. 所需软件包见当前目录
- lame-3.98.4.tar.gz,MPlayer-1.0rc4.tar.bz2,coder-all-20110131.tar.bz2,yasm-1.0.1.tar.gz
- 5. 其他
- 如果编译时需要其他的功能进入解压Maplayer目录使用./ configure –help查看,并安装使用功能中所需要的包。
mencoder进行操作的常用方法: mencoder infile.* -o outfile.* [-ovc 目标视频格式] [-oac 目标音频格式] [-of 目标文件格式]
1.转换成flv文件: mencoder infile.* -o outfile.flv -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=150:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -srate 22050
mencoder infile.rmvb -o outfile.flv -vf scale=-3:150 -ofps 12 -oac mp3lame -ovc xvid -xvidencopts bitrate=112
2.转换成avi文件: mencoder infile.* -o outfile.avi -of avi -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=600
3.转换成wmv文件(复杂写法,其中高级参数可以省去): mencoder infile.* -o outfile.wmv -of lavf -ofps 25 -oac mp3lame -lameopts cbr:preset=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=768:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=320:240 -srate 22050 -sws 9 -subcp cp936 -subpos 0 -subalign 0 -subfont-text-scale 3 -lavfopts i_certify_that_my_video_strea
4.截图: mplayer infile -ss START_TIME -noframedrop -nosound -vo jpeg -frames N
其中-ovc,-oac和-of是必须的,-ovc是指定视频codec,指定了ovc之后通常带一个该codec的opt参数,-oac是指定音频codec,也会在其后带一个codec的opt参数.可以指定细节以决定视频音频质量和转换速率.具体的细节可以参看专业的技术文档."