linux环境下安装mencoder转码工具

linux环境下安装mencoder转码工具1 下载解编码工具 nbsp 下载地址 http www mplayerhq hu MPlayer releases codecs 必要的解码器是 essential tar bz2 而所有解码器为 all tar bz2 为了支持更多的格式 选择下载 all tar bz2 下载后解压到某个目录 如 usr local lib codecs nbsp 命令如下

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224527.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午11:44
下一篇 2026年3月17日 上午11:44


相关推荐

  • MATLAB绘图—如何局部放大图

    MATLAB绘图—如何局部放大图标题 MATLAB 绘图 如何局部放大图直接上代码 先仅局部放大绘图 N 20000 i 1 1 N a sqrt 100 randn 1 N 4 b randn 1 N c a b h1 plot i c i m LineWidth 0 7 legend h1 signal xlabel t s ylabel signal xlim 0 20000 设置坐标轴范围 ylim 40 80 title signal 生

    2026年3月16日
    2
  • 谷歌YSlow准则

    谷歌YSlow准则谷歌 YSlow 准则 YSlow 可以对网站的页面进行分析 并告诉你为了提高网站性能 如何基于某些规则而进行优化 测试个人站点通过测试个人站点可以获得下面的数据 23 条准则 MakefewerHT

    2026年3月17日
    1
  • python使用蒙特卡洛树(MCTS)算法实现黑白棋miniAlphaGo for Reversi[通俗易懂]

    python使用蒙特卡洛树(MCTS)算法实现黑白棋miniAlphaGo for Reversi[通俗易懂]黑白棋(reversi),也叫苹果棋,翻转棋,是一个经典的策略性游戏。一般棋子双面为黑白两色,故称“黑白棋”。因为行棋之时将对方棋子翻转,变为己方棋子,故又称“翻转棋”。棋子双面为红、绿色的成为“苹果棋”。它使用8*8的棋盘,由两人执黑子和白子轮流下棋,最后子多方为胜。规则:(1)黑方先行,双方交替下棋。(2)一步合法的棋步包含:在一个空格新落下一个棋子,并且反转对手一个或多个棋子。(3)新落下的棋子与棋盘上已有的同色棋子间,对方被夹住的所有棋子都要反转过来。可以横着夹,竖着夹,斜着夹。夹住的

    2022年6月18日
    40
  • 告别“降智编程”:Claude Code 终极指南与平替方案

    告别“降智编程”:Claude Code 终极指南与平替方案

    2026年3月16日
    2
  • cocos2dx tolua传递参数分析

    cocos2dx tolua传递参数分析

    2022年1月9日
    292
  • startActivityForResult用法

    startActivityForResult用法startActivityForResult用法startActivityForResult主要用来从FirstActivity跳转到SecondActivity然后返回FirstActivity并且获取从SecondActivity传回来的参数。使用方法:如下从ClockManagerActivity跳转到NewMapActivity并且传address值ClockManagerActiv…

    2022年7月11日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号