大家好 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
感谢任何帮助!