好的,這是我想到的。免責聲明:我無法測試這段指令,而且我對 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%”
刪除我們在第一個命令中重新命名的原始檔案。只是清理一下。