FFMPEG - 带麦克风和扬声器音频的屏幕捕获

FFMPEG - 带麦克风和扬声器音频的屏幕捕获

我正在尝试录制并传输屏幕以及麦克风和扬声器的音频。到目前为止,我可以使用以下代码从麦克风或扬声器录制。

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

为了确定我们的inputoutput我们可以使用:

> 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]"

是关于连接12。这也是一种快速而粗糙的方法,您可能需要更改一些选项。

相关内容