『漫游』酷论坛>『影音数码技术学习交流』>[请教]怎样批量地把AVI ..
[请教]怎样批量地把AVI里的PCM音频转换为MP3
芽菜@2007-07-02 14:18
如题,原AVI里的音频为22KHz,352kbps的PCM
偶只知道用VDM转换,不过每打开一个文件都要重新设置Stream list的音频压制参数
如果用Load processing settings的话,生成文件的播放时间固定在最初的那个一样>_<
badchris@2007-07-02 15:00
全部用AVI Mux GUI把音频Demux出来用Lame一压然后再用AVI Mux GUI一个一个Mux回去
雷鸣@2007-07-02 15:01
用到dos指令for,工具bepipe,avisynth和lame
首先在命令提示符进入avi们所在的文件夹(avi文件不要有空格等让人必须加上引号的东西)
for %a in (*.avi) do bepipe --script "avisource(^%a^)" | lame --preset medium - %a.mp3
完成。
芽菜@2007-07-02 20:10
居然提示“'bepipe' 不是内部或外部命令,也不是可运行的程序或批处理文件。”
我下载的是:
Name CRC32 Bytes
---------- -------- ------
BePipe.exe ABC9E42C 20,480
----------------------------
Total 1 Files 20,480 Bytes
不知道有无问题>_<
雷鸣@2007-07-02 20:47
crc相同,你的bepipe和lame放在哪里?是不是命令提示符没找到文件……放avi一起吧,反正一个exe好找。lame也一样。
命令贴进去之前先输入 cd /d空格,然后拖入avi所在文件夹(文件夹拖进去),回车,然后贴入命令敲回车。
芽菜@2007-07-02 21:35
sorry!犯了个低级错误>_< 是命令提示符没找到文件。
恩,接着DOS界面提示找不到音频流>_<
E:\temp\01>for %a in (*.avi) do bepipe --script "avisource(^%a^)" | lame --prese
t medium - %a.mp3
E:\temp\01>bepipe --script "avisource(^1-01-round-ref-1.avi^)" | lame --preset
medium - 1-01-round-ref-1.avi.mp3
***************************************
BePipe by dimzon
***************************************
Script used:
# BEGIN
avisource("1-01-round-ref-1.avi")
# END
Scanning for Audio Stream...
ERROR: Can't find audio stream!
Assuming raw pcm input file
LAME 3.98 (alpha 3, Jan 23 2006 17:03:12) 32bits (http://www.mp3dev.org/)
warning: alpha versions should be used for testing only
CPU features: MMX (ASM used), 3DNow! (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 17249 Hz - 17782 Hz
Encoding to 1-01-round-ref-1.avi.mp3
Encoding as 44.1 kHz VBR(q=4) j-stereo MPEG-1 Layer III (ca. 10x) qval=3
转换后生成1-01-round-ref-1.avi.mp3的625字节的文件,并且原文件不能播放。
原文件信息:
Video: TSCC 1024x768 20.00fps [00) Camtasia Recorder_capture1e21de.avi 跌癟 ]
Audio: PCM 22050Hz mono 352Kbps [01) Microsoft Waveform: Camtasia Recorder_capture1e21fd.wav]
雷鸣@2007-07-02 22:08
引用
最初由 芽菜 发布
sorry!犯了个低级错误>_< 是命令提示符没找到文件。
恩,接着DOS界面提示找不到音频流>_<
E:\temp\01>for %a in (*.avi) do bepipe --script "avisource(^%a^)" | lame --prese
t medium - %a.mp3
E:\temp\01>bepipe --script "avisource(^1-01-round-ref-1.avi^)" | lame --preset
medium - 1-01-round-ref-1.avi.mp3
***************************************
BePipe by dimzon
***************************************
Script used:
# BEGIN
avisource("1-01-round-ref-1.avi")
# END
Scanning for Audio Stream...
ERROR: Can't find audio stream!
Assuming raw pcm input file
LAME 3.98 (alpha 3, Jan 23 2006 17:03:12) 32bits (http://www.mp3dev.org/)
warning: alpha versions should be used for testing only
CPU features: MMX (ASM used), 3DNow! (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 17249 Hz - 17782 Hz
Encoding to 1-01-round-ref-1.avi.mp3
Encoding as 44.1 kHz VBR(q=4) j-stereo MPEG-1 Layer III (ca. 10x) qval=3
转换后生成1-01-round-ref-1.avi.mp3的625字节的文件,并且原文件不能播放。
原文件信息:
Video: TSCC 1024x768 20.00fps [00) Camtasia Recorder_capture1e21de.avi 跌癟 ]
Audio: PCM 22050Hz mono 352Kbps [01) Microsoft Waveform: Camtasia Recorder_capture1e21fd.wav]
奇怪……avi的话……应该可以啊
再试试这个吧
for %a in (*.avi) do bepipe --script "directshowsource(^%a^,video=false)" | lame --preset medium - %a.mp3
lame的命令行可以根据压制需要修改。
芽菜@2007-07-02 22:53
还是不行>_<
我上传到免空,有空的话你试试。
http://www.51files.com/?MSUPXYKYODTF0BCYMLCD
雷鸣@2007-07-03 09:42
引用
原来这么简单我怎么没有想到……
for %a in (*.avi) do ffmpeg -i %a -vn -acodec mp3 -ab 64000 -f mp3 %a.mp3
你去下载一个ffmpeg吧。
http://www.live-share.com/files/237390/ffmpeg.exe.html
| TOP