将两个多通道流合并为一个

问题描述 投票:0回答:0

大家好 FFmpeg 大师。

我正在尽最大努力在我的服务器上合并两个传入的网络流。其中一个包含两 (2) 个单声道音频通道,另外五个 (5)。目标是创建一个包含七 (7) 个通道的流,直接路由到硬件。

在两个传输源,host_a 和 host_b,流生成如下:

host_a:~$ ffmpeg -hide_banner -loglevel error -f jack -channels 1 -i Tonmeister_mic1 -f jack -channels 1 -i Tonmeister_mic2 -nostdin -filter_complex “[0:a][1:a]amerge=inputs=2[ a]" -map "[a]" -codec:a libopus -b:a 128k -vbr on -packet_loss 10 -fec on -compression_level 10 -frame_duration 20 -application audio -f mpegts udp://X.X.X.X:yyyy &

host_b:~$ ffmpeg -hide_banner -loglevel error -f jack -channels 1 -i Tonmeister_mic1 -f jack -channels 1 -i Tonmeister_mic2 -f jack -channels 1 -i Tonmeister_mic3 -f jack -channels 1 -i Tonmeister_mic4 -f jack -channels 1 -i Tonmeister_mic5 -nostdin -filter_complex "[0:a][1:a][2:a][3:a][4:a]amerge=inputs=5[a]" -map "[a ]" -codec:a libopus -b:a 128k -vbr on -packet_loss 10 -fec on -compression_level 10 -frame_duration 20 -application audio -f mpegts udp://X.X.X.X:zzzz &

溪流似乎没问题:

cjr-macbook:~ CJR$ ffprobe -hide_banner -i udp://127.0.0.1:yyyy 输入 #0,mpegts,来自 'udp://127.0.0.1:yyyy': 持续时间:N/A,开始:4759.783900,比特率:N/A 方案一 元数据: 服务名称:Service01 服务提供商:FFmpeg 流 #0:0[0x100]:音频:opus (Opus / 0x7375704F),48000 Hz,立体声,fltp

cjr-macbook:~ CJR$ ffprobe -hide_banner -i udp://127.0.0.1:zzzz 输入 #0,mpegts,来自“udp://127.0.0.1:zzzz”: 持续时间:N/A,开始:4856.559000,比特率:N/A 方案一 元数据: 服务名称:Service01 服务提供商:FFmpeg 流 #0:0[0x100]:音频:opus (Opus / 0x7375704F),48000 Hz,5.0,fltp

但是,我只是不知道如何将这两个传入流中存在的七 (7) 个通道组合成一个七通道流。

在接收端我尝试了各种命令,等等

cjr-macbook:~ CJR$ ffmpeg -hide_banner -loglevel verbose -i udp://127.0.0.1:yyyy -i udp://127.0.0.1:zzzz -filter_complex "[0:a]channelsplit=channel_layout=stereo[ b]";"[1:a]channelsplit=channel_layout=5.0[c]";"[b][c]amerge=inputs=7[d]" -map "[d]" sevenchannels.wav

感谢任何帮助!

ffmpeg audio-streaming
© www.soinside.com 2019 - 2024. All rights reserved.