LINUX.ORG.RU

Сообщения termik

 

Как выбрать профиль звуковой карты(например 5.1/7.1) без pulseaudio?

Форум — Multimedia

Всем привет, я использую alsa+jack, но есть проблема - моя звуковая карта ALC892 работает в режиме 5.1, а способна на 7.1, хотелось бы заполучить эти дополнительные два канала. Знаю, что pactl позволяет это сделать, но не ставить же мне pulseaudio только для того, чтобы переключить режим карточки? Есть какое-то более изящное решение? Кстати, сейчас всё-таки поставил Pulseaudio, и обнаружил, что текущий драйвер моей звуковой карты вообще не имеет профиля для звука 7.1 Как такое может быть? Debian самый последний со всеми обновлениями, материнка ASRock H81M-ITX, в характеристиках заявлен звук 7.1, сзади 5 джеков. Неужели только под виндой? Вот вывод pactl list

Profiles:
                input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 60, available: yes)
                output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6000, available: yes)
                output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6060, available: yes)
                output:analog-surround-40: Analog Surround 4.0 Output (sinks: 1, sources: 0, priority: 700, available: yes)
                output:analog-surround-40+input:analog-stereo: Analog Surround 4.0 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 760, available: yes)
                output:analog-surround-41: Analog Surround 4.1 Output (sinks: 1, sources: 0, priority: 800, available: yes)
                output:analog-surround-41+input:analog-stereo: Analog Surround 4.1 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 860, available: yes)
                output:analog-surround-50: Analog Surround 5.0 Output (sinks: 1, sources: 0, priority: 700, available: yes)
                output:analog-surround-50+input:analog-stereo: Analog Surround 5.0 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 760, available: yes)
                output:analog-surround-51: Analog Surround 5.1 Output (sinks: 1, sources: 0, priority: 800, available: yes)
                output:analog-surround-51+input:analog-stereo: Analog Surround 5.1 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 860, available: yes)
                output:iec958-stereo: Digital Stereo (IEC958) Output (sinks: 1, sources: 0, priority: 5500, available: yes)
                output:iec958-stereo+input:analog-stereo: Digital Stereo (IEC958) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5560, available: yes)
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
А вот - aplay -L, и он внушает какие-то надежды
 aplay -L
default
    Playback/recording through the PulseAudio sound server
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
hdmi:CARD=HDMI,DEV=0
    HDA Intel HDMI, HDMI 0
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
    HDA Intel HDMI, HDMI 1
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
    HDA Intel HDMI, HDMI 2
    HDMI Audio Output
dmix:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 0
    Direct sample mixing device
dmix:CARD=HDMI,DEV=7
    HDA Intel HDMI, HDMI 1
    Direct sample mixing device
dmix:CARD=HDMI,DEV=8
    HDA Intel HDMI, HDMI 2
    Direct sample mixing device
dsnoop:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 0
    Direct sample snooping device
dsnoop:CARD=HDMI,DEV=7
    HDA Intel HDMI, HDMI 1
    Direct sample snooping device
dsnoop:CARD=HDMI,DEV=8
    HDA Intel HDMI, HDMI 2
    Direct sample snooping device
hw:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 0
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=7
    HDA Intel HDMI, HDMI 1
    Direct hardware device without any conversions
hw:CARD=HDMI,DEV=8
    HDA Intel HDMI, HDMI 2
    Direct hardware device without any conversions
plughw:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 0
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=7
    HDA Intel HDMI, HDMI 1
    Hardware device with all software conversions
plughw:CARD=HDMI,DEV=8
    HDA Intel HDMI, HDMI 2
    Hardware device with all software conversions
sysdefault:CARD=PCH
    HDA Intel PCH, ALC892 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Front speakers
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Digital
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Direct sample mixing device
dmix:CARD=PCH,DEV=1
    HDA Intel PCH, ALC892 Digital
    Direct sample mixing device
dsnoop:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Direct sample snooping device
dsnoop:CARD=PCH,DEV=1
    HDA Intel PCH, ALC892 Digital
    Direct sample snooping device
hw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Direct hardware device without any conversions
hw:CARD=PCH,DEV=1
    HDA Intel PCH, ALC892 Digital
    Direct hardware device without any conversions
plughw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Hardware device with all software conversions
plughw:CARD=PCH,DEV=1
    HDA Intel PCH, ALC892 Digital
    Hardware device with all software conversions
Подскажите, как получить 7.1 звук в jack))) Сейчас пока только так
jack_lsp
system:capture_1
system:capture_2
system:playback_1
system:playback_2
system:playback_3
system:playback_4
system:playback_5
system:playback_6

 , ,

termik
()

Можно ли из программы инициировать «заблокировать систему», как WIN+L в винде? Не знаю как коротко точнее объяснить.

Форум — General

Привет

У меня есть debian без графической оболочки. При старте системы консоль заблокирована - просит логин и пароль. Я всё это ввожу, и работаю нормально. А можно ли в процессе, не останавливая все запущенные в фоне задачи, заблокировать консоль, чтобы она снова начала требовать пароль, после ввода которого можно работать дальше? Если да, то есть ли какие-то api функции, чтобы это действие могла совершать написанная мной программа?

Извиняюсь за несколько сумбурное объяснение, только начинаю изучать linux)

termik
()

Jack - как сделать так, чтобы mplayer запускался сразу на нужных каналах

Форум — Multimedia

Привет.

Возникла необходимость коммутировать звук в debian, уже второй день разбираюсь сам при помощи гугла.

Задача - запускать в определенные моменты воспроизведение mplayer, в режиме моно(делается опцией -af pan=1:0.5:0.5), да не просто запускать, а так, чтобы он тут же подключался к нужным портам jack, например к system:playback_1 и system:playback_4(я использую звуковую карту 5.1). Огромный геморрой в том, что при каждом новом воспроизведении файла mplayer пересоздает свой выходной поток, и настроенные ранее соединения теряются. И еще - надо иметь возможность всё перенастраивать через консоль и конфиги, но без gui.

По словам разработчиков, сам по себе jack такой функциональности не предоставляет - http://jackaudio.org/faq/persistent_connections.html . Значит, у меня есть два варианта - держать постоянно запущенным некого демона, который, при появлении новых jack-потоков, коммутирует их в соответствии с нужными правилами, или, второй вариант - использовать плеер, который в качестве параметра команды воспроизведения принимает эти правила и сразу же коммутируется куда надо, как только создает свой поток.

По первому варианту, я попробовал следовать этой статье - http://www.rncbc.org/drupal/node/76 . Там используется постоянно запущенный gui qjackctl, в функционал которого входит patchpay, которому задаются правила коммутации, и он их выполняет тут же, при запуске любого приложения, описанного в его правилах. В первом приближении, это полностью решает мою задачу, но во втором - есть пара нюансов: мне не нравится необходимость держать запущенный gui qjackctl, а также раздражает едва уловимый, но всё же заметный лаг в подключении нужных каналов при старте воспроизведения, то есть сначала звук появляется в дефолтных каналах, куда подключается плеер при старте, а потом, спустя небольшое, но неприятное время - в остальных, заданных в patchbay. Хотелось бы, по возможности, обойтись без этих неприятностей.

По второму варианту - я обнаружил, что у mplayer-a есть опция запуска -ao jack:port=<НОМЕР ПОРТА> , мне удается задать туда один порт, и всё отлично работает, но я не могу понять, как туда задать несколько произвольных портов, как ни пробовал. Максимум, что удается - задавать порт в виде port=[1-2] для стереозвука, но это абсолютно не дает возможности коммутировать моно выход плеера на произвольные выходы аудиокарты.

Я думаю, меня бы выручило создание некого виртуального jack-устройства, которое бы состояло тупо из входа и выхода, соединенных между собой, я бы тогда выход этого устройства подцепил один раз к нужным выходам звуковухи, а mplayer запускал бы с параметром запуска на вход устройства. Но, как ни гуглил, не нашел как это можно сделать. Максимум - нашел парочку весьма монструозных гуи-микшеров, которые создают тьму входов и выходов, но это уж очень костыльно получается, как из пушки по воробьям.

Резюмируя, получаются такие вопросы:

1. Есть ли более легкая и быстрая, чем qjackctl, утилита, выполняющая оперативную коммутацию вновь запущенных jack приложений в соответствии с заданными правилами?

2. Можно ли задать в опции mplayer-a несколько jack-портов для вывода моно звука?

3. Можно ли сделать так, чтобы mplayer не пересоздавал jack поток при воспроизведении каждого нового файла?

4. Возможно ли создать виртуальное устройство, которое фактически будет выполнять роль сплиттера-костыля?

Ну и конечно, может есть варианты, о которых я даже не подумал?

 

termik
()

RSS подписка на новые темы