FFMPEG: параметри командної лінії для запису аудіо з мікрофона та динаміків


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

Але після виконання цієї команди в терміналі я повинен перейти в налаштування «регулювання гучності» в GUI, потім перейти на вкладку «Запис», змінити «захоплення з» одного каналу на «вбудований аудіо-аналоговий стерео» (тобто мікрофон) і "захоплення" іншого каналу на "Монітор вбудованого аудіо-аналогового стерео" (тобто динаміки).

Але як це можна зробити повністю з командного рядка, для автоматизації його використання в скриптах.

Відповіді:


6

Нарешті я знайшов спосіб досягти того, що хотів, використовуючи утиліту 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.