2 つのオーディオ トラックを含むビデオ ファイルがたくさんあります。これらは avi ファイルです。オーディオ トラックにはラベルがなく、再生しようとすると、デフォルトのトラックにはオーディオがありません。あと 2 つのトラックがあり、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
同じファイル名で保存しようとはしていませんが、うまくいかないと思います。古いファイルを削除して新しいファイルの名前を変更するのは簡単です。同じ名前で一時ディレクトリに出力し、すべてを移動して元のファイルを上書きしました。
説明すると、マップ引数は、どのトラックをコピーするかを avconv に指示します。0:0 はビデオで、0:2 は 2 番目のオーディオ トラックです。次に、acodec と vcodec がコピーに設定され、オーディオとビデオを変更せずにコピーすることを意味します。
答え2
これを試してリンクスクロールダウンしてモノラルオーディオをステレオに変換、またはその逆試してみてください。チャンネルの 1 つを選択することで、ステレオ トラックをモノラル トラックに変換できます。