MCEBuddy 可以处理音频流,然后再次处理该处理的输出吗?

好的,這是我想到的。免責聲明:我無法測試這段指令,而且我對 ffmpeg 的知識充其量只是中等。但這或許能成為一個不錯的起點,讓其他人加入並提供協助。

將以下內容加入你想要正規化立體聲音訊的設定檔中:

CustomCommandPath=C:\Windows\System32\cmd.exe
CustomCommandParameters="/c ren "%convertedfile%" %convertedfilename%-1.%convertedext% & "C:\Program Files\MCEBuddy2x\ffmpeg\ffmpeg.exe" -i "%workingpath%\%convertedfilename%-1.%convertedext% -map 0:v -c:v copy -map 0:1 -map 0:2 -map 0:3 -af dynaudnorm=f=150 -c:a:1 copy -c:a:2 copy "%convertedfile%" & del "%workingpath%\%convertedfilename%-1.%convertedext%""
CustomCommandHangPeriod=3600
CustomCommandCritical=false
CustomCommandUISession=false
CustomCommandShowWindow=false
CustomCommandExitCodeCheck=false

基本上,這段指令應該會在檔案轉換完成、但尚未移動到目的地之前,先執行 CMD 並帶入指定的參數。我們來拆解這些參數:

/c

執行命令提示字元並在完成後結束。這個不用擔心。

ren “%convertedfile%” %convertedfilename%-1.%convertedext%

這會在當前位置(因為我們使用 CustomCommand,所以會在工作目錄)將轉換後的檔案重新命名,加上 -1 後綴。我們需要重新命名,這樣才能在這些自訂命令完成、MCEBuddy 重新接管後,讓新檔案成為最終需要的檔案名稱。

&

這代表要執行新的命令。不用擔心這個。如果你想執行更多命令,就用 & 分隔。

“C:\Program Files\MCEBuddy2x\ffmpeg\ffmpeg.exe” -i “%workingpath%%convertedfilename%-1.%convertedext% -map 0:v -c:v copy -map 0:1 -map 0:2 -map 0:3 -af dynaudnorm=f=150 -c:a:1 copy -c:a:2 copy “%convertedfile%””

真正的關鍵在這裡,如果需要調整執行方式,就得修改這一段。這應該會原封不動地複製影片,對第一條音軌進行正規化,並原封不動地複製剩下的兩條音軌。

del “%workingpath%%convertedfilename%-1.%convertedext%”

刪除我們在第一個命令中重新命名的原始檔案。只是清理一下。