2024/04/29

FFmpeg刪減影片音軌

得到了有多重音軌的影片,想要把聽不懂的去除掉,怎辦?

又是FFmpeg出動的時候了。

假設,影片格式是mkv,我們不想動到其他所有部份,只想刪除兩條音軌──中的期中的第一條。

影片的音軌是從0開始,如果只有一條,就是「audio0」,兩條就是「audio0」和「audio1」,八條就是「0」到「7」了。

找音軌的次序基本上用播放器中的檢視功能即可。這裡就不特別寫了。

今次我們假設這影響的第一和第二軌分別是:

  • 音軌一 :(audio0),印地語
  • 音軌二 :(audio1),英文

我們只想保留英文。

指令如下──

ffmpeg -i "input-video-with-2-tracks.mkv" -map 0 -map -0:a:0 -c copy "output-video-with-1-track.mkv"

另外,如果是在Synology DSM上跑,不用相當老的DSM原裝附帶的舊版本,而另外安裝的社群版FFmpeg6的話,要用上完整路徑才能調用到新版的ffmpeg:

/var/packages/ffmpeg6/target/bin/ffmpeg {command...}

原文:Stackoverflow