明らかに 5.1 セットアップで録画されたビデオ ファイルで作業する必要がありますが、2 つのチャンネルのみが 2 つの別々のマイクからのモノラル信号で埋められています。私の考えは、ffmpeg を使用して 4 つの空のチャンネルを削除することですが、わかりません。
すべてのオーディオ ストリームを削除することはできましたが、inf -map、-filter などを使用して何時間も試行錯誤した後も、オーディオ ストリーム内の空のチャネルを削除できませんでした。チャネル 3 と 4 には、個別のモノ トラックとして保持したいオーディオが含まれています。チャネル 1、2、5、6 は削除し、ビデオ ストリームをコピーする必要があります。
これはffprobeの出力です:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2.MOV':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2022-01-21T04:37:49.000000Z
make : Atomos
make-eng : Atomos
encoder : ShogunInferno - 9.11
encoder-eng : ShogunInferno - 9.11
com.atomos.hdr.gamut: Rec709
com.atomos.hdr.gamma: SLog2
com.atomos.hdr.camera: Sony
com.apple.proapps.image.{TIFF}.Make: Atomos
com.apple.proapps.image.{TIFF}.Model: ShogunInferno
com.apple.proapps.image.{TIFF}.Software: 9.11
timecode : 05:11:39:13
Duration: 00:01:14.78, start: 0.000000, bitrate: 1064887 kb/s
Stream #0:0[0x1](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 6 channels, s32 (24 bit), 6912 kb/s (default)
Metadata:
creation_time : 2022-01-21T04:37:49.000000Z
vendor_id : [0][0][0][0]
Stream #0:1[0x2](eng): Video: prores (Standard) (apcn / 0x6E637061), yuv422p10le(tv, bt709/bt709/unknown, progressive), 4096x2160, 1057968 kb/s, SAR 1:1 DAR 256:135, 50 fps, 50 tbr, 5k tbn (default)
Metadata:
creation_time : 2022-01-21T04:37:49.000000Z
vendor_id : appl
encoder : Apple ProRes 422
Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2022-01-21T04:37:49.000000Z
timecode : 05:11:39:13
手伝ってくれてありがとう...
答え1
チャンネルのレイアウトについてはよくわかりませんが、次の構文を試してみてください。
ffmpeg -y -i six_channels.mp4 -filter_complex "[0:a]channelsplit=channel_layout=5.1[FL][FR][FC][LFE][BL][BR];[FC][LFE]amix=inputs=2[a];[FL]anullsink;[FR]anullsink;[BL]anullsink;[BR]anullsink" -map 0:v -map "[a]" -vcodec copy -acodec aac -ar 48000 -ac 2 stereo.mov
[0:a]channelsplit=channel_layout=5.1[FL][FR][FC][LFE][BL][BR]
- 5.1 レイアウトを[FL]
、、、、、、[FR]
という一時的な名前を持つ 6 つのオーディオ チャネルに分割します。[FC]
[LFE]
[BL]
[BR]
[FC][LFE]amix=inputs=2[a]
- チャンネルを結合し[FC]
、[LFE]
一時的な名前にします[a]
。[FL]anullsink;[FR]anullsink;[BL]anullsink;[BR]anullsink
- 冗長なオーディオ チャネルを無視します。-vcodec copy -acodec aac -ar 48000 -ac 2
- オーディオ コーデック、サンプル レート、出力チャンネルの数を選択します。
入力の作成six_channels.mp4
(テスト用):
ffmpeg -y -f lavfi -i testsrc=size=192x108:rate=1 -f lavfi -i sine=frequency=1000 -f lavfi -i sine=frequency=1000 -f lavfi -i sine=frequency=300 -f lavfi -i sine=frequency=400 -f lavfi -i sine=frequency=1000 -f lavfi -i sine=frequency=1000 -filter_complex "join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-LFE|4.0-BL|5.0-BR" -acodec aac -ar 48000 -ac 6 -t 10 six_channels.mp4
アップデート:
2 つの独立したモノラル トラックと PCM24 コーデック:
コマンドラインの例:
ffmpeg -y -i six_channels.mp4 -filter_complex "[0:a]channelsplit=channel_layout=5.1[FL][FR][FC][LFE][BL][BR];[FL]anullsink;[FR]anullsink;[BL]anullsink;[BR]anullsink" -map 0:v -map "[FC]" -map "[LFE]" -vcodec copy -acodec pcm_s24le -ar 48000 -ac 1 two_mono_tracks.mov