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

Linux服务器
企业IT节能之用好Linux高级电源管理
ubuntu服务器工作记录(远程控制)
Apache虚拟主机快速搭建攻略
Linux服务器的远程控制技术及实战
Ubuntu下配置PHP服务器
Apache下的目录共享访问和认证
linux系统下cron运行php程序
Ubuntu8.04快速搭建nginx+php系统
RHEL5下NFS服务器配置与应用
教你完全免费自建Linux防火墙
一个完备的个人邮件解决方案
网站故障处理记实:apache引起的麻烦
搭建apache+svn+trac平台
Squid代理服务器部署使用攻略
建立可全面监控Squid代理服务器
Ubuntu和DHCP的兼容性问题
OpenSuSE国内最大镜像服务器:lizardsource.cn
Linux系统下如何配置e-mail服务器?
在Linux系统下配置WU-FTP服务器
LinuxApacheWeb服务器配置教程

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 43 ::
收藏到网摘: 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

都可以。