批量转换rmvb的音频为MP3

想把一批的rmvb视频的声音提出来,放在手机上播,网上找了很多的什么rm转mp3啊,等等,不同的软件,基本上都是国产的,并且,都是带了一大堆的什么广告啊,工具栏的~,亏死了。

有那么一两个国外的,开始转换的时候,不是压根没反应,就是直接就100%的cpu,然后呢,就动不了了。

rma

如果只是简单的分离rmvb的视频和音频,有个小程序rma可以使用,很简单,命令行

rma –s xxx.rmvb

结果是两个文件

xxx.000 xxx.001

就是分离两个流,一个大,一个小,小的是音频,rm格式的,大的就是视频部分,修改为rmvb格式,就可以直接播放画面了,可以只分离出某个视频流

rma –sx1 xxx.rmvb

就是分离出xxx.001,音频是0

下载:

http://www.236.xdowns.com/uploadFile/2008-9/ha_RealMediaAnalyzer%28rma%29.rar

利用mplayer的mencoder

mplayer和mencoder都有一大堆的参数

参考 全能编码器 MEncoder(mencoder.exe)命令行常用方法

用mencoder 提取和转换音频

mencoder -o out.mp3 -ovc frameno -oac mp3lame -lameopts cbr:br=128 -of rawaudio -ss 1:30 -endpos 2:45 test.rmvb
-o out.mp3 输出的目标文件名称
-ovc frameno 不处理视频编码
-oac mp3lame 输出的音频编码格式为mp3
-lameopts cbr:br=128 音频附件选项,cbr(常量比特率)编码格式,音频码流为128bps(对于mp3来说,128已经足够了)
-of rawaudio 输出文件为原始音频流
-ss 1:30 音频截取的起始时间(表示从影片的第1分30秒开始截取)
-endpos 2:45 预截取音频的长度(表示预截取的音频长度是2分45秒,那么可以计算出其结束时间是4:15)
test.rmvb 输入源文件
-ss参数使用参考示例:
-ss 10 从10秒开始
-ss 10:10 从10分10秒开始
-ss 1:10:10 从1小时10分10秒开始
-endpos参数使用

 

在Windows下,批量转换的bat

FOR /F "usebackq delims==" %%i IN (`dir /b *.rmvb`) DO    @mencoder -o %%~ni.mp3 -ovc frameno -oac mp3lame -lameopts cbr:br=128 -of rawaudio %%i

就是转换当前目录下的rmvb文件,当然,mencoder要在path路径中,不然就修改为绝对路径。

 

mplayer和mencoder可从sourceforge下载http://sourceforge.net/projects/mplayer-win32/

或者如果有安装了smplayer之类的mplayer内核的播放器,都是有的。

 

总体上来说,速度还算可以,一个200m的,30分钟长度的,大概就是三分钟的样子,如果是用mplayer的音频输出,那就是要把视频播放一遍,就是30分钟了。

用批处理启动,然后让它慢慢转换就可以了。

批量转换rmvb的音频为MP3》有一个想法

发表回复

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据