Можно ли захватить несколько аудиоустройств с помощью 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

Захватывает звук только с первого упомянутого аудиоустройства. Я пропускаю некоторые опции в приведенной выше команде?

2 ответа2

0

В этом случае вам необходимо четко отобразить все необходимые потоки, поскольку автоматическое сопоставление будет принимать только один аудиопоток. Так,

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
0

Наконец, я понял, что мне нужно объединить два аудиопотока. Я использовал 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .