用不同的音軌批次取代 .m4v

用不同的音軌批次取代 .m4v

我有一個 .m4v 檔案列表。我有一個 .mp3 檔案列表(恰好與相應的.m4v 檔)。

.m4v 檔案包含品質較低的音訊。 .mp3 檔案包含品質更好的音訊。

我想替換 .m4v 檔案中的音頻相應的.mp3 檔案中的音訊。

我不想在 mkvmerge 或 ffmpeg 中單獨對 10000 多個檔案執行此操作。

我嘗試過使用類似這樣的批次腳本,但無濟於事:

FOR %%a IN ("*.m4v") DO ffmpeg -i "${%%a}" -i "${%%a//.m4v/.mp3}" -vcodec copy -acodec copy "${ %%a //.m4v/.mp4}"

暫停

另外(因為我想要在不同的目錄中輸出):

FOR %%a IN ("*.m4v") DO ffmpeg -i "%%a" -i "%%a" -vcodec copy -acodec copy "outputDirFoo123\%%~na.mp4"

暫停

到目前為止這些都沒有成功(只遇到了錯誤)。我不知道如何解決這個問題。

有人可以指出我如何批量處理我上面想要的東西嗎?還有比我這裡更好的方法嗎?

非常感謝。

答案1

使用

FOR %%a IN ("*.m4v") DO ffmpeg -i "%%a" -i "%%~na.mp3" -map 0:v -map 1:a -c copy "newpath\%%~na.mp4"

pause

相關內容