mencoder的作用主要在视频转码方面,同时可以对视频进行压缩以及音质,画面性能的提高。

 

  1. 1.  编译所需软件和环境  
  2. 操作系统:Cnetos6 (64bit)  
  3. GCC4.x  
  4. yasm-1.0.1(汇编语言Nasm代替)  
  5. MPlayer-1.0rc4.tar.bz2(Mplayer主程序)  
  6. coder-all-20110131.tar.bz2(Mplayer编解码包)  
  7. lame-3.98.4.tar.gz(Mp3解码包与ffmepg共用)  
  8. 2.  编译及安装  
  9. 1)  使用命令yum -y install gcc gcc-c++ autoconf libtool* openssl openssl-devel make  
  10. 安装完成后使用gcc –version查看安装版本  
  11. 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的目录。  
  12. 3)  解压yasm-1.0.1.tar.gz 进入解压后的目录yasm-1.0.1使用以下命令进行编译:  
  13. ./configure --prefix=/usr --enable-shared然后使用make && make install clean 编译后使用whereis yasm查看yasm的目录  
  14. 4)  解压tar –vxf coder-all-20110131.tar.bz2进入到解压后的目录all-20110131拷贝目录中所有的文件到/usr/lib/all-codec(目录自己建立,路径位置任意符合linux路径规则即可)  
  15. 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     
  16. 参数说明:使用./ configure –help 查看需要的详细参数  
  17. --prefix 为最终编译要使用的二进制文件的目录  
  18. --codecsdir 为编译时需要的编解码包得路径  
  19. --libdir 为最终生成二进制文件需要的编解码包的路径  
  20. --enable-mp3lame 支持mp3编解码(一定要加上这个参数)  
  21. --yasm=YASM 使用Yasm作为汇编编译  
  22. 然后执行make && make install clean 进行编译  
  23. 3.  修改环境变量  
  24. 修改/etc/profile中加入  
  25. export PATH=/usr/vm/media/mplayer/bin:$PATH  
  26. 如果在编译时找不到相关的已安装的包在环境变量中加入  
  27. export PATH=/usr/bin/yasm:$PATH  
  28. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/lib  
  29. 4.  所需软件包见当前目录  
  30. lame-3.98.4.tar.gz,MPlayer-1.0rc4.tar.bz2,coder-all-20110131.tar.bz2,yasm-1.0.1.tar.gz  
  31. 5.  其他  
  32. 如果编译时需要其他的功能进入解压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参数.可以指定细节以决定视频音频质量和转换速率.具体的细节可以参看专业的技术文档."