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
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はcopyに設定されます。つまり、変更せずにオーディオとビデオをコピーします。
これを試してください link 。 モノラルオーディオをステレオと逆に変換するまでスクロールダウンします、それを試してください。チャンネルの1つを選択することにより、ステレオトラックをモノラルトラックに変えることができます。