2

Я использую ffmpeg версии 2.4.7 на рабочей станции Fedora-21. Я хочу записывать звук одновременно с микрофона и колонок в виде отдельных потоков. Я использую следующую команду для этого.

ffmpeg -f alsa -i pulse -f alsa -i default -acodec libmp3lame -map 0:0 -map 1:0 outfile.mkv

Но после выполнения этой команды в терминале мне нужно перейти к настройкам "Регулировка громкости" в графическом интерфейсе, затем перейти на вкладку "Запись", изменить "захват с" одного канала на "Встроенный аналоговый стереозвук" (например, микрофон) и "захват с" другого канала на "Монитор встроенного аналогового аудио стерео" (т. е. динамики).

Но как это можно сделать полностью из командной строки, чтобы автоматизировать его использование в скриптах.

1 ответ1

4

Наконец, я нашел способ достичь того, чего хотел, используя утилиту PulseAudio "pacmd".

Этот урок поможет мне

$ pacmd list-sources|awk '/index:/ {print $0}; /name:/ {print $0}; /device\.description/ {print $0}'

Запустите указанную выше команду, чтобы получить имена всех системных интерфейсов записи. Пример вывода приведен ниже.

    index: 0
    name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor>
        device.description = "Monitor of Built-in Audio Analog Stereo"
  * index: 1
    name: <alsa_input.pci-0000_00_1b.0.analog-stereo>
        device.description = "Built-in Audio Analog Stereo"

Теперь выполните следующую команду для одновременной записи звука с микрофона и динамиков.

$ ffmpeg -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -f pulse -i alsa_input.pci-0000_00_1b.0.analog-stereo -acodec libmp3lame -map 0:0 -map 1:0 outfile.mkv

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