linux环境下安装mencoder转码工具

1、下载解编码工具

 

下载地址:http://www.mplayerhq.hu/MPlayer/releases/codecs/

必要的解码器是essential-********.tar.bz2,而所有解码器为all-********.tar.bz2,为了支持更多的格式,选择下载all-********.tar.bz2下载后解压到某个目录,如/usr/local/lib/codecs

 

命令如下:

# tar jxvf all-********.tar.bz2

# mv all-******* /usr/local/lib/codecs

 

2. 下载解压MPlayer源码
下载链接:http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc4.tar.bz2

 

# tar jxvf mplayer-checkout-snapshot.tar.bz2

 

3.编译安装MPlayer
进入源码目录,进行编译配置,重要的两个参数--prefix=/usr/local/mplayer安装目录和--codecsdir=/usr/local/lib/codecs解码器目录。如需要添加其它参数请使用./configure --help获取帮助。最后再编译安装。

# cd mplayer-checkout-****-**-**

# ./configure --prefix=/usr/local/mplayer --codecsdir=/usr/local/lib/codecs

# make

# make install

安装完成后,此时执行转码命令,会报错

mplayer: error while loading shared libraries: libmp3lame.so.0: cannot open shared object file: No such file or directory

这是由于缺少mp3lame支持

解决方案:

下载最新版本lame  http://sourceforge.net/projects/lame/files/lame/

然后安装

# tar zxvf lame-3.99.tar.gz
# cd lame-3.99
# ./configure --prefix=/usr
# make
# make install

找到libmp3lame.so.0路径,如/usr/lib/libmp3lame.so 然后:
ldconfig  /usr/lib/libmp3lame.so(这一步很重要)

进入 MPlayer-1.0rc4重新编译安装一下

#cd MPlayer-1.0rc4

# make clean

#./configure     

#make

#make install

至此linux下的mencoder转码工具安装完成

第一条命令为我的项目(windows环境)代码中写的,但是在执行过程中,发现mencoder不识别-xvidencopts,怀疑可能是版本mencoder版本问题,在百度中查询mencoder的-ovc指令中也没有-xvidencopts选项,因此将该编码格式更换为 x264 -x264encopts bitrate=500(下方第二条命令)

①mencoder /xxx.rm -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=600 -of avi -o /01.avi

 

②mencoder /xxx.rm -oac mp3lame -lameopts preset=64 -ovc x264 -x264encopts bitrate=500 -of avi -o /01.avi

 

 ---------------------------------------------------------------------------------------------------------------------------------

ldconfig几个需要注意的地方

1. 往/lib/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到

2. 想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到

比如安装了一个mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,这时就需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存过后ldconfig一下,新的library才能在程序运行时被找到。

3. 如果想在这两个目录以外放lib,但是又不想在/etc/ld.so.conf中加东西(或者是没有权限加东西)。那也可以,就是export一个全局变量LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找library。一般来讲这只是一种临时的解决方案,在没有权限或临时需要的时候使用。

4. ldconfig做的这些东西都与运行程序时有关,跟编译时一点关系都没有。编译的时候还是该加-L就得加,不要混淆了。

5. 总之,就是不管做了什么关于library的变动后,最好都ldconfig一下,不然会出现一些意想不到的结果。不会花太多的时间,但是会省很多的事。

./configure

make

make install

[root@localhost libusb-1.0.8]# ldconfig

[root@localhost libusb-1.0.8]# ldconfig -v | grep libusb

libusb-1.0.so.0 -> libusb-1.0.so.0.0.0

libusb-0.1.so.4 -> libusb-0.1.so.4.4.4

libusbpp-0.1.so.4 -> libusbpp-0.1.so.4.4.4

你可能感兴趣的:(linux)