2016-12-08 7 views
0

ffmpegで以下の操作を行うのに適切な引数を得るのに数時間努力してきましたが、深さ誰かが私にいくつかの指導を与えることができれば、それは非常に役に立ちます。ffmpegを使用して、ビデオファイルからオーディオストリームを抽出して1つのステレオwavファイルに出力します

入力ファイルは1つのビデオトラックと2つの別々の48k 24b PCMオーディオトラックで構成されています。 オーディオだけを抽出し、最初のトラックを左に、2番目のトラックを右にマッピングし、ステレオウェーブファイルとして出力したいと考えています。

エラーに

与え、私は以下のコマンドのバリエーションをしようとしていますが、ビデオストリームに不満のようだ「mapchan:#0.0はオーディオストリームではないストリームを」ここで

ffmpeg -i test2.mxf -vn -map_channel 0.0.1 output.wav_CH0 -map_channel 0.0.2 output.wav_CH1 

それが役に立つ場合のストリームのffmpegのの分析です:

Stream #1:0: Video: mpeg2video (4:2:2), yuv422p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], max. 50000 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc 
Stream #1:1: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s 
Stream #1:2: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s 
Stream #1:3: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s 
Stream #1:4: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s 
Stream #1:5: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s 
Stream #1:6: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s 
Stream #1:7: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s 
Stream #1:8: Audio: pcm_s24le, 48000 Hz, mono, s32, 1152 kb/s 

答えて

0

フィルターグラフ機能は、トリックを行うようです。

ffmpeg -i test2.mxf -filter_complex "[0:1:0][0:2:0]amerge=inputs=2[aout]" -map "[aout]" output.wav 

0:1:0 INPUT1(-iオプション)を表しているようだ、ストリーム1(トラック)、チャネル(それはステレオだった右の場合/左)。それにもかかわらず、私の解釈は間違っています。

ffmpeg documentationおよびFFmpeg Wiki: Audio Channel Manipulationは非常に役に立ちました。

+1

「0:1:0」はamergeの構文が正しくありません。あなたが参照している構文は 'map_channel'です。 amergeの場合、3つの値は 'input id:stream specifier:stream id'を表します。例えば、 '3:a:7'は、4番目の入力ファイルからの8番目のオーディオストリームを表します(カウントは0から始まります)。 – LordNeckbeard

関連する問題