FFMPEG Directshow 多音频捕获

FFMPEG Directshow 多音频捕获

是否可以使用 ffmpeg dshow 捕获多个音频设备?我正在尝试使用 gdigrab 捕获我的桌面,并使用 dshow 捕获麦克风和扬声器音频。我尝试使用以下命令,但它不起作用:

ffmpeg -f dshow -i audio="Stereo Mix (Realtek High Definition Audio)" -f dshow -i audio="Microphone Array (Creative VF0800)" -f gdigrab -framerate 10 -video_size 1920x1080 -draw_mouse 1 -i desktop screen.avi

它仅从第一个提到的音频设备捕获音频。我是否遗漏了上述命令中的某些选项?

答案1

最后,我发现我需要合并两个音频流。我使用 amerge 将这两个流合并为一个并将它们映射到输出。这是一个功能齐全的脚本,可以完成我想要的任务。

ffmpeg -f dshow -i audio="Stereo Mix (Realtek High Definition Audio)" -f dshow -i audio="Microphone Array (Creative VF0800)" -f gdigrab -framerate 10 -video_size 1920x1080 -draw_mouse 1 -i desktop -filter_complex "[0:a][1:a]amerge=inputs=2[a]" -map 2 -map "[a]" screen.avi

答案2

在这种情况下,您必须明确映射所有需要的流,因为自动映射只会选择一个音频流。因此,

ffmpeg -f dshow -i audio="Stereo Mix (Realtek High Definition Audio)"
       -f dshow -i audio="Microphone Array (Creative VF0800)"
       -f gdigrab -framerate 10 -video_size 1920x1080 -draw_mouse 1 -i desktop
       -map 2 -map 0 -map 1 screen.avi

相关内容