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

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

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


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

都可以。