[url]http://pengyou.:8080/node/1634
[/url] 下面的命令读出来就是把input.wma文件转换成平均比特率(ab=average bitrate)为32k的文件名为output.mp3的mp3文件。 当然,你也可以指定采样率(sampling rate),使用ar,应该是average rate之类的。 ffmpeg -i input.wma -ab 64 -ar 22050 output.mp3 命令读出来就是用ffmpeg将input.wma文件转换成平均比特率为64kb每秒,采样率为22050hz的mp3文件。 如果你转mp3是为了让网上的flash播放器播放,那么-ar请设置为11khz的倍数,比如 11025 22050 44100 ,就是我们常说的多少千赫,前几个分别是11khz 22khz 44khz。 【补充说明】如果遇到ffmpeg所涉及以外的视频格式,可以使用其他转换工具先转换,例如mencoder。
附录一(ffmpeg参数说明):
利用ffmpeg在linux下将mp3文件转换为wma百度权重查询 站长交易 友情链接交换 网站建设,网站设计,企业建站就找313 现在网络朝宽带网发展越来越快了,但服务器托管环境要变化还是要很多的¥,所以能节省一分就是一分。在网络上音频 文件通常使用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 都可以。 关于ffmpeg 的总结(一个linux 下 集 屏幕录像录音,音频视频转换,合并音频视频文件,格式转换于一身的命令)
当然先安装了 gentoo 下一条命令搞定 emerge ffmpeg 格式转换 (将file.avi 转换成output.flv) ffmpeg -i file.avi output.flv -i 表示输入文件 :现在有个视频video.avi,有个音频 audio.mp3,将其合并成output.avi 两个命令 ( video2.avi 是中间文件 ,用完可删) ffmpeg -i video.avi -vcodec copy -an video2.avi -i 表示输入文件 -vcodec copy 表示 force video codec ('copy' to copy stream) 这个不知怎么译 ,估计是直接copy -acodec
copy 这个说的应该是音频了 跟上面一样 -an : 表示 disable audio 估计是audio no 之类的缩写 表示去掉video.avi 原有的音频 方法2 好像可以直接指定两个输入文件 , ffmpeg -i /tmp/a.wav -i /tmp/a.avi /tmp/a.avi 两个文件 的顺序很重 从视频里提取声音(声音与视频的分离) ffmpeg -i 人生若只如初见.flv -vn r.mp3 从flv 文件 中提取声音并保存为mp3 格式 -vn : 表示忽略视频 估计是video no 之类的缩写 ffmpeg
-i 人生若只如初见.flv -an r.flv 只留视频不留声音
-an : 表示 忽略 声音 估计是audio no 之类的缩写
从视频里提取图片( ) ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350x240 test.jpg
压缩mp3 文件 如果你觉得mp3 文件 有点大,想变小一点那么可以通过-ab 选项改变音频的比特率 (bitrate) ffmpeg -i input.mp3 -ab 128 output.mp3 //这里将比特率设为128 你可以用file 命令查看一下源文件 的信息 z.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, Stereo 其中的192 kbps 就是这个东西 mp3中比特率的含义是:在压缩音频文件至mp3时,由压缩软件所确定数码文件在播放时每秒传 送给播放器大小,其单位是:千位/秒;英文的含义是:kbps - = kilobits per second。现在mp3文件的最高数位率是320 kbps。这样的文件体积很大,每分钟的音乐超过两兆字节。如果采用可变比特率(VBR)编码来生成mp3文件,获得与320 kbps相当音质,文件的体积会缩小25~50%。请注意:播放时间相同,而歌曲不同,所获的压缩mp3文件的一般不相同,这是因为VBR编码所生成的 mp3文件的大小不仅仅取决于播放时间的长度,还取决于源音频文件的其它因素。
录音(要有可用的麦克风,并且如果用alsa 的话,好像得安alsa-oss,重启)
ffmpeg -f oss -i /dev/dsp out.avi (should hava oss or alsa-oss) ffmpeg -f alsa -ac 2 -i hw:0,
0 out.avi (should ) ffmpeg -f alsa -ac 2 -i pulse (should hava PulseAudio)
oss 是linux 下的声音相关的东西,与alsa 一样,不过oss 是商业的, 而/dev/dsp 是oss 用到的麦克的设备吧,可以这样理解 屏幕录像 ffmpeg -f x11grab -s xga -r 10 -i :0.0+0+0 wheer.avi ffmpeg -f x11grab -s 320x240 -r 10 -i :0.0+100+200 wheer.avi :0:0 表示屏幕(个人理解,因为系统变量$DISPLAY值就是:0.0) 而100,表示距左端100象素,200表示距上端200 -s 设置窗口大小 -r 10 好像是设置频率,不懂 ffmpeg -f x11grab -s xga -qscale 5 -r 10 -i :0.0+0+0 wheer.avi -qscale 8 设定画面质量,值 越小越好 屏幕录像,同时录音 ffmpeg -f oss -i /dev/dsp -f x11grab -r 30 -s 1024x768 -i :0.0 output.mkv ffmpeg -ac 2 -f oss -i /dev/dsp -f x11grab -r 30 -s 1024x768 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output.mkv 看到这,你会发现这个命令有多强大, 如果我屏幕上打开了一个窗口,我只想录这个窗口的内容,如何确定这个窗口的坐标位置呢 可以用另外一个命令 xwininfo 输入这个命令后,用鼠标点选目标窗口, 就会出现目标窗口的坐标,宽高等一系列信息 Absolute upper-left X: 276
比如根据上面的信息 ffmpeg -f oss -i /dev/dsp -f x11grab -r 30 -s 1280x752 -i :0.0+0+23 output.avi
这个 -r 30 应该是每秒钟取样几次,估计是一秒截三十次屏, 切头去尾 ffmpeg -ss 00:00:10 -t 00:01:22 -i 五月天-突然好想你.mp3 output.mp3
只要 从第10秒开始截取,共截取1:22时长的内容 视频文件的连接,如两个flv 文件 连接成一
好像必须先将文件 转成mpg ,dv 等格式的文件后才能进行连接
ffmpeg -i input1.avi -sameq inputfile_01.mpg -r 20 参数FFmpeg可使用众多参数,参数内容会根据ffmpeg版本而有差异,使用前建议先参考参数及编解码器的叙述。此外,参数明细可用 下列为较常使用的参数。 [编辑 ] 主要参数
[编辑 ] 影像参数
[编辑 ] 声音参数
[编辑 ] 注意事项
[编辑 ] 范例
ffmpeg -i inputfile.mpg -f mp4 -acodec libfaac -vcodec mpeg4 -b 256k -ab 64k outputfile.mp4
ffmpeg -i inputfile.mp3 -f mp4 -acodec libaac -vn -ab 64k outputfile.mp4
ffmpeg -i inputfile.vob -f mpeg -acodec mp2 -vcodec mpeg1video -s 352x240 -b 1152k -ab 128k outputfile.mpg
DV格式亦可连接)、 |
|