当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 利用ffmpeg在linux下将mp3文件转换为wma

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 利用ffmpeg在linux下将mp3文件转换为wma


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 46 ::
收藏到网摘: n/a

现在网络朝宽带网发展越来越快了,但服务器托管环境要变化还是要很多的¥,所以能节省一分就是一分。在网络上音频文件通常使用mp3格式存储,mp3格式音质可以压得比较好,但体积稍嫌有些大,而压低了音质的话就比较难听,而且也压得还不够小。wma文件在这点上相比mp3优化很多。经测试,使用24k码率下,5MB的mp3文件可压到1MB左右的wma,在我这样的烂耳朵下虽然分得出音质的胜负,但还尚能听。如果有朋友要做一个翻唱或乱录音的网站,那么把文件压成wma格式就合适不过了。

在网上搜了几十页,都是讲述如何将wma转换为mp3的,零星有几个mp3转wma的例子,可惜都是windows下的版本,有些还需要花钱。

于是干脆祭出ffmpeg,ffmpeg相信很多处理媒体文件的朋友都用过,是非常之强大,不但可以处理流行的flv等格式,我之前一直用来转换视频格式(asf、3gp、rm……)到wmv的,wmv既然能转,那么wma当然也一定能!

在网上搜寻一阵,找到了ffmpeg转wma的执行命令:

ffmpeg -y -ab 24 -ar 22050 -acodec wmav2 -i test.mp3 test.wma

其中-y参数是指直接覆盖存在文件而不用确认;-ab参数是码率;-ar参数采样率;-acodec是指定压缩格式;-i是指输入的文件;最后在敲上输出的文件就可以了。

对文件字节数影响最大的就是码率,wma文件最小的码率就是24k,不能再小了,唉,我还想用12k一试呢。

于是在命令行运行该命令,没有能成功,因为我两年前编译的这个ffmpeg并没有能支持wma。

于是到ffpeg的源码目录下(嘿嘿,这么多年了,这个源码目录居然还存在),忘了怎么编译?执行:

ffmpeg | head

就找回了原先的编译参数,是不是要加一个参数就能支持wma,难道还要装一个lame这样的东东么?敲上

./configure --help | grep wma

没有结果,仔细看了一遍help,也确实没有发现有关的东西。

于是在源码目录敲一下:

ss

请允许我有如此跳跃性的思维,其实我是没思路的时候,习惯性随手敲的,ss在我的机器上配置为svn up的快捷键。

这样一敲结果出现神奇现象,这个目录居然是一个svn拿下来的目录,而且,那么多年了,居然还能从这个svn地址check下东西,svn团队居然能把一个svn地址维护那么多年,一直没中断,实在是一大奇迹。

看一下这个传奇的svn地址:

svn://svn.mplayerhq.hu/ffmpeg/trunk

朋友们可以直接敲:

svn co svn://svn.mplayerhq.hu/ffmpeg/trunk

就可以拿下ffmpeg的所有东西了,我不知道ffmpeg现在有没有出tar.gz的包裹,前些年我就是直接从这个svn地址checkout下来的了。

多年没更新了,svn up的时间还比较长……

拿下最新的源码后,直接编译一下看看,我的编译参数是极简的:

./configure --enable-gpl --disable-debug --prefix=/data/ffmpeg --enable-libmp3lame --enable-pthreads --enable-nonfree

我用的系统是ubuntu,在ubuntu下有ffmpeg的apt,但当时安上去后发现没有声音,于是下载了ffmpeg的svn,并自己装上lame,才创出了声音。lame记得是用apt安装的,不很麻烦:

apt-get install lame liblame-dev

注意要安上liblame-dev的开发包,否则还是会不能支持mp3。

然后就是:

make; make install

无聊的过程。

装完后可以一测,嗯,这回能支持了。

总结(写到后面我总有点不耐烦):

###############################

#系统是ubuntu6

apt-get install lame liblame-dev

svn co svn://svn.mplayerhq.hu/ffmpeg/trunk

cd trunk

./configure --enable-gpl --disable-debug --prefix=/data/ffmpeg --enable-libmp3lame --enable-pthreads --enable-nonfree

make -j10; make install

###

然后就可以用了:

/data/ffmpeg/ffmpeg -y -ab 24 -ar 22050 -acodec wmav2 -i test.mp3 test.wma

附带转wmv的,我怕不支持,也小测一把:

ffmpeg -y -acodec mp3 -vcodec wmv2 -i test.rm test.wmv

ffmpeg -y -acodec wmav2 -vcodec wmv2 -i test.rm test.wmv

都可以。