FFMPEG Directshow Несколько Захват аудио

1737
putuyuwono

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

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

0

2 ответа на вопрос

0
Gyan

In this case, you have to expressly map all needed streams, as the auto mapping will only pick up one audio stream. So,

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 
Тем не менее, он не мог захватить звук с микрофона :( putuyuwono 6 лет назад 0
0
putuyuwono

Finally, I figured out that I need to merge the two audio streams. I used amerge to combine those two streams into one and map them to the output. Here is a fully functional script which is able to do the task that I want.

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