PulseAudio运行时的通道映射

我可以在运行时映射(交换)频道。

我正在使用ffmpeg来录制来自两个罗技凸轮/麦克风和蓝牙麦克风的video和音频。 现在目前处于录制蓝牙的开始是关闭罗技的音频来自left_channel和right_channel.And如果蓝牙是ON,那么只有来自left_channel的蓝牙音频和来自right_channel的两个logitech音频。

再次关闭蓝牙,left_channel变为空白,两个logitech音频仅来自right_channel。 So if bluetooth is turned off then I wanted to replace the logitech audio to both the left_channel and right_channel.

此外,如果蓝牙是ON,那么我将其设置为默认值,我使用以下命令将其设置为默认值:

 pacmd set-default-source bluez_source.00_1D_DF_44_DB_A6 > /dev/null 

此外,如果蓝牙关闭,那么我将一个罗技设置为默认值。 我使用以下命令将其设置为默认值:

 pacmd set-default-source alsa_input.usb-046d_0823_D81A0330-00-U0x46d0x823_1.analog-stereo > /dev/null 

我使用以下ffmpeg命令来录制音频和video。 如果在开始时bletooth为OFF,则生成此命令:

 ffmpeg -loglevel warning -y -f v4l2 -s 544x288 -i /dev/video0 -vstats -vstats_file '/home/left_cam-stats' -f pulse -name 'Unknown source 0' -i alsa_input.pci-0000_00_1b.0.analog-stereo -filter lowpass -f pulse -name 'left_mic 0' -i alsa_input.usb-046d_0823_D81A0330-00-U0x46d0x823_1.analog-stereo -f pulse -name 'right_mic 1' -i alsa_input.usb-046d_0823_4B709030-00-U0x46d0x823.analog-stereo -f pulse -name 'default 0' -i default -f mpegts -crf 20 -r 24 -pix_fmt yuv420p -vcodec libx264 -vprofile baseline -t 02:00:00 -map 0:0 -map 1:0 -map 2:0 -map 3:0 -map 4:0 /home/left_cam.mp4 

如果启动时蓝牙为ON,则生成以下ffmpeg命令:

 ffmpeg -loglevel warning -y -f v4l2 -s 544x288 -i /dev/video0 -vstats -vstats_file '/home/left_cam-stats' -f pulse -name 'Unknown source 0' -i alsa_input.pci-0000_00_1b.0.analog-stereo -filter lowpass -f pulse -name 'left_mic 0' -i alsa_input.usb-046d_0823_D81A0330-00-U0x46d0x823_1.analog-stereo -f pulse -name 'right_mic 1' -i alsa_input.usb-046d_0823_4B709030-00-U0x46d0x823.analog-stereo -f pulse -name 'default 0' -i bluez_source.00_1D_DF_44_DB_A6 -f mpegts -crf 20 -r 24 -pix_fmt yuv420p -vcodec libx264 -vprofile baseline -t 02:00:00 -map 0:0 -map 1:0 -map 2:0 -map 3:0 -map 4:0 /home/left_cam.mp4 

如果蓝牙关闭,如果蓝牙打开,我想将logitech音频替换为left_channel和right_channel,只有来自left_channel的蓝牙音频和来自right_channel的两个logitech。