У меня есть VIA Technologies Inc. VT1720/24 [Envy24PT/HT] PCI многоканальный аудио контроллер. Я могу нормально передавать потоковое видео, используя v4l2 и имя видеоустройства /dev /video0. аудио, которое я хочу передать, подключено к одному из моих входов envy24. не знаю, какое аудиоустройство я пытаюсь выбрать (/dev /adsp, /dev /audio, /dev /audio1, /dev /dsp, /dev /dsp1) я получаю VLC не может открыть MRL alsa:///dev /[имя устройства]. есть идеи ?
3 ответа
Для меня в большинстве случаев hw:x, 0 работает (x номер звуковой карты), но он не работает для одной карты - мой cakewalk ua-1g - я получаю ту же ошибку. Я не уверен на 100%, но кажется, что формат s16le (16-битный порядковый номер), так что это может подать файл, если ввод не соответствует формату. В моем случае мне, вероятно, нужно 24 бит. Посмотрите в /proc /asound /cardx / ... (например, stream0) или непосредственно в /proc /asound / некоторые сведения о точном формате семпла.
Правильная настройка - использовать образец формата S24_3LE (обратите внимание на 3) для моей звуковой карты (24-битный со старшим порядковым номером со знаком). arecord должен показывать краткое изложение точного формата примера для использования. На alsa user ML я читаю
Чипы зависти забавны, они всегда захватывают что-то вроде 10 каналов, и вам нужно уменьшить его до 2, если вы хотите сохранить в общий 2-канальный файл. "Plughw" может сделать это, поэтому попробуйте,
arecord -f dat -D plughw:0 test.wav
Так как plughw работает и в vlc, вы можете попробовать это в качестве альтернативы записи dsp. Изменение формата примера в vlc требует некоторых копий в вики vlc или документации и, возможно, редактирования ~/.vlc/vlcrc. Вышеуказанный формат не указан в http://wiki.videolan.org/Raw, так что plughw, вероятно, лучший вариант.
с arecord -L у меня есть список каналов, которые я мог бы использовать, но кажется, что независимо от того, что я выбрал, я не могу слышать звуки. я решил проблему, скомпилировав vlc с поддержкой oss и используя эмулированное устройство oss моего alsa /dev /dsp.