09.06.2026
Появилась следующая задача:
- На колонки идёт трансляция аудио с Интернета через браузер. Средств записи приложение не предоставляет.
- Необходимо записать звук этой трансляции в файл.
- Linux Devuan 6.1, микшер звуковых потоков - pulseaudio.
Решение:
-
Команда pactl даёт:
$ pactl list sourcesИсточник №0Состояние: SUSPENDED......Источник №1Состояние: RUNNINGИмя: alsa_output.pci-0000_00_1f.3.analog-stereo.monitorОписание: Monitor of Встроенное аудио Аналоговый стереоДрайвер: module-alsa-card.cСпецификация отсчётов: s16le 2-канальный 4410Схема каналов: front-left,front-right...... - Исходя из результата команды для записи потока надо использовать устройство:
alsa_output.pci-0000_00_1f.3.analog-stereo.monitor - Пишу звук с помощью ffmpeg:
ffmpeg -f pulse -i alsa_output.pci-0000_00_1f.3.analog-stereo.monitor -ac 2 audiofile.mp3
ключ-ac 2указывает, что пишется 2 канала.
При записи можно поиграться скоростью и качеством. Например, ключи ffmpeg:
-codec:a libmp3lame -qscale:a 4
позволят уменьшить размер файла при меньшем качестве.
Параметр за ключом -qscale:a может быть от 0 до 9, где 0 - максимальное качество, 9 - минимальное.
Также можно задать постоянный битрейт:
-b:a 96k