2016-11-11 171 views
0

我使用ffmpeg製作Windows批處理腳本,可以將音頻文件轉換爲多種格式。使用ffmpeg批量轉換

我希望音頻在這裏以兩種格式轉換。 32kbps和40kbps。

Setlocal EnableDelayedExpansion 
for %%a in ("*.*") do ffmpeg -i "%%a" -b:a 32000 "%%~na - [email protected]" 
for %%a in ("*.*") do ffmpeg -i "%%a" -b:a 40000 "%%~na - [email protected]" 
pause 

但是,看來我得到了三個輸出。

聲音 - [email protected]

聲音 - MP3 @ 40kbps的-MP3

聲音 - MP3 @ 32kbps的 - [email protected]

我知道我必須做的事情這裏錯了,因爲我只想要兩個文件。爲什麼我爲什麼要在這裏獲得第三種格式(sound mp3 @ 32kbps - [email protected])以及如何避免這種情況?


這是更新的代碼我使用:

@echo off 
for %%a in (*.*) do ( 

    ffmpeg -i "%%a" -b:a 32000 -ar 44100 "%%~na - [16-bit 44,100kHz - 32kbps].mp3" 
) 
pause 
+0

對不起,我不使用的ffmpeg,我想這些問題都涉及到你的資源文件和更改後的選項不是批處理文件等。 – LotPings

+0

感謝您的幫助,但是錯誤提示'converter.bat:處理輸入時發現無效數據,這意味着ffmpeg在批處理文件中發現錯誤,而不是音頻文件。 – Arete

回答

2

第二個for循環也從1日爲處理新生成的MP3。 更好地利用只有一個:

Setlocal EnableDelayedExpansion 
for %%a in (*.*) do ( 
    ffmpeg -i "%%a" -b:a 32000 "%%~na - [email protected]" 
    ffmpeg -i "%%a" -b:a 40000 "%%~na - [email protected]" 
) 
pause 
+0

出於某種原因,這給了我'處理輸入時發現無效的數據':https://i.imgur.com/GzQJ4Ax.png這是我使用的代碼https://i.imgur.com/UAzw5ol.png – Arete

+0

@Arete在不知道你的確切代碼或輸入文件的情況下,很難說出任何關於它的信息。我用你的'*。*'這不是一個好主意,因爲它需要每一個可能的擴展。你應該改變它爲mp3或任何你的來源看起來像。如果我的答案是正確的,我會很高興,如果你檢查相應的大綠色標記。乾杯 – LotPings

+0

我已經添加了我正在使用的問題的代碼。至於哪種文件格式我試圖轉換結果是相同的..它可以是WAV,MP3或任何其他音頻格式 – Arete