我正在尝试录制并传输屏幕以及麦克风和扬声器的音频。到目前为止,我可以使用以下代码从麦克风或扬声器录制。
ffmpeg -f gdigrab -framerate 7.5 -i desktop -f dshow -i audio="Microphone Array (Realtek High Definition Audio)" -b:a 64k -f mpegts -t 60 - | ffmpeg -f mpegts -i - -c copy -f mpegts udp://192.168.0.242:1234?pkt_size=1316 -c copy -b 400k TestFFmpegPy.mkv
还需要录制扬声器的音频以及麦克风音频。
audio="Stereo Mix (Realtek High Definition Audio)"
如何同时录制两个音频流。
答案1
这对我有用。
> ffmpeg -video_size 1600x900 -framerate 30 -f x11grab -i :0.0 \
-f pulse -thread_queue_size 512k -i alsa_input.pci-0000_00_1f.3.analog-stereo \
-f pulse -thread_queue_size 512k -i alsa_output.pci-0000_00_1f.3.analog-stereo.monitor \
-filter_complex "[1:a:0][2:a:0]amix=2[aout]" -map 0:V:0 -map "[aout]" ${OUTPUT}.mkv
为了确定我们的input
,output
我们可以使用:
> pacmd list-sources | perl -lne '/(?<=name: <)alsa[^>]+/ && print $&'
alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
alsa_input.pci-0000_00_1f.3.analog-stereo
还有这部分:
-filter_complex "[1:a:0][2:a:0]amix=2[aout]" -map 0:V:0 -map "[aout]"