從影片檔案中刪除音軌

從影片檔案中刪除音軌

我有一堆有 2 個音軌的影片檔。它們是 avi 檔案。音軌沒有標籤,當我嘗試播放它們時,預設音軌沒有音訊。還有 2 首曲目,第二首是有音訊的。

我可以運行一個命令來從每個檔案中刪除軌道 1 和 3 嗎?

他們在 Ubuntu 伺服器上。僅限 CLI。

avprobe version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2007-2014 the Libav developers
  built on Mar 16 2015 13:19:10 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
[mpeg4 @ 0xd1dac0] Invalid and inefficient vfw-avi packed B frames detected
Input #0, avi, from 'Video004.avi':
  Metadata:
    encoder         : VirtualDubMod 1.5.10.2 (build 2540/release)
  Duration: 00:49:16.99, start: 0.000000, bitrate: 1937 kb/s
    Stream #0.0: Video: mpeg4 (Advanced Simple Profile), yuv420p, 640x480 [PAR 1:1 DAR 4:3], 23.98 tbn, 23.98 tbc
    Stream #0.1: Audio: mp3, 32000 Hz, 1 channels, s16p, 96 kb/s
    Stream #0.2: Audio: mp3, 32000 Hz, 1 channels, s16p, 96 kb/s
    Stream #0.3: Audio: mp3, 32000 Hz, 1 channels, s16p, 96 kb/s
# avprobe output

答案1

avconv 似乎是解決方案

avconv -i $file -map 0:0 -map 0:2 -acodec copy -vcodec copy $outfile

我把它放入一個循環中

dir="*.avi"
for file in $dir
do 
 avconv -i $file -map 0:0 -map 0:2 -acodec copy -vcodec copy $outfile
done

我沒有嘗試保存到相同的文件名,但我認為它不起作用。您可以輕鬆地刪除舊檔案並重新命名新檔案。我只是輸出到具有相同名稱的臨時目錄,然後將它們全部移動以覆蓋原始目錄。

解釋地圖arg。告訴 avconv 要複製哪些曲目。 0:0 是視頻,0:2 是第二個音軌。然後將 acodec 和 vcodec 設為複製,這意味著它會複製音訊和視訊而不更改它。

答案2

嘗試這個關聯。向下滾動直到到達將單聲道音訊轉換為立體聲,反之亦然並嘗試一下。它允許您透過選擇其中一個通道將立體聲軌道轉換為單聲道軌道。

相關內容