Не работает звук (Arch)
Просто не работает. Странный вывод MPlayer при запуске:
MPlayer SVN-r36285-4.8.1 (C) 2000-2013 MPlayer Team Cannot test OS support for SSE, disabling to be safe. 205 audio & 424 video codecs mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing Зима.mp3. libavformat version 55.7.100 (internal) Audio only file format detected. Load subtitles in ./ ========================================================================== Opening audio decoder: [mpg123] MPEG 1.0/2.0/2.5 layers I, II, III AUDIO: 44100 Hz, 2 ch, s16le, 320.0 kbit/22.68% (ratio: 40000->176400) Selected audio codec: [mpg123] afm: mpg123 (MPEG 1.0/2.0/2.5 layers I, II, III) ========================================================================== [AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory [AO_ALSA] alsa-lib: pcm_hw.c:1557:(snd_pcm_hw_open) open '/dev/snd/pcmC0D0p' failed (-2): No such file or directory [AO_ALSA] alsa-lib: pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave [AO_ALSA] Playback open error: No such file or directory AO: [pulse] Init failed: Connection refused [JACK] cannot open server [AO SDL] Samplerate: 44100Hz Channels: Stereo Format s16le [AO_ALSA] alsa-lib: pcm_hw.c:1557:(snd_pcm_hw_open) open '/dev/snd/pcmC0D0p' failed (-2): No such file or directory [AO_ALSA] alsa-lib: pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave [AO SDL] Unable to open audio: No available audio device DVB card number must be between 1 and 4 AO: [null] 44100Hz 2ch s16le (2 bytes per sample) Video: no video Starting playback. A: 90.5 (01:30.4) of 246.0 (04:06.0) 1.5%
00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Wrestler HDMI Audio [Radeon HD 6250/6310] 00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD] FCH Azalia Controller (rev 01)
Alsa mplayer блокирует звук
Все приложения работают нормально, даже с одновременным звуком из разных приложений. Но smplayer стерео фильмы проигрывает нормально, а 5.1 — если выставить в настройках alsa, то звука нет, если выставить alsa(0,0) — номер устройства — то звук есть, но отрубается звук других приложений. ЧЯНТД?
Но smplayer стерео фильмы проигрывает нормально, а 5.1 — если выставить в настройках alsa, то звука нет…
А если не smplayer а mplayer и изкансольки 😉
[AO_ALSA] Невозможно получить sw-параметры: Invalid argument
Не могу инициализировать аудио драйвер ‘alsa’
Не могу открыть/инициализировать аудиоустройство -> без звука.
Прочитай man mplayer затем ao=alsa в файл ~/.mplayer/config И запускай из консольки и именно mplayer. Читай что не так. Гугли, Фикси. 😉
В исходниках mplayer для вывода звука 5.1 захардкожено устройство surround51, которое идет в обход микширования. Так сделано потому, что default (dmix) в конфигурации по умолчанию не понимает 5.1 — т.е. выбор у разработчиков был между обрезкой до стерео и потерей возможности микшировать. У тебя есть выбор между установкой PulseAudio и использованием -ao pulse, или написанием длинного конфига в .asoundrc, который заставляет dmix понимать 5.1. Давай решим, по какому пути пойдем.
Я бы пошел по второму, если бы уже не поставил пульс. Теперь проблема в том, как убрать из пульса дребезги и сделать нормальным его звук. Буду дальше ковырять daemon.conf
PULSE_NO_SIMD=1 в /etc/environment должно убрать глюк со свистом
А какой конфиг для dmix’а можно сделать для 5.1?
>написанием длинного конфига в .asoundrc, который заставляет dmix понимать 5.1
Реквестирую длинный конфиг. Очень уж хочется попробовать жить без пульса.
Отвечаю. Этот конфиг отличается для различных карт. Т.е. конфиг для ca0106 (X-fi xtreme audio) и для Intel HDA будет разным. Для ca0106 см. http://www.linux.org.ru/forum/desktop/5130232#comment-5132595 , для Intel HDA см. http://www.linux.org.ru/forum/general/5012622#comment-5013911 (к сожалению, с опечаткой — вместо «dsnoop:0,0» надо писать «plug:dsnoop»). Для других карт напишу по требованию. Нужно название карты, название драйвера и вывод команды
aplay -f S16_LE -c 6 -r 48000 -D surround51 -vv /dev/zero
Вдогонку: после составления конфига надо явно отучить mplayer использовать устройство surround51:
mplayer -ao alsa:device=default film.mkv
и если это работает, то приписать в /etc/mplayer/config:
Звук в фильме работает, а в стереомузыке одновременно с ним — нет.
Пока сижу на пульсе, все вроде ничего, но на большой громкости начинает немножко хрипеть. Причем иногда начинает, а иногда нет, и когда — неясно.
> Звук в фильме работает, а в стереомузыке одновременно с ним — нет.
Командную строку mplayer’а, его вывод и название плеера, который проигрывает стереомузыку — в студию
На вылет можно не обращать внимания, это у него всегда при закрытии файла. А стереомузыку играет mpd с дефолтными настройками для альсы.
У mpd есть одна важная настройка — тип запуска (от залогиненного пользователя или init-скриптом). От нее зависит дальнейший ход отладки.
А pastebin.com лежит, так что прошу перепостить,
Уже не лежит. Итого — имеем два вида граблей:
1?) Стандартные грабли с mpd, который запускается не от того же пользователя, что mplayer. Лечится либо перемещением всего из ~/.asoundrc в /etc/asound.conf и добавлением в /etc/asound.conf строчки ipc_key_add_uid false после ipc_key 1024, либо заменой mpd на плеер с более классическим способом запуска.
2) mplayer не настроен на 5.1, надо в командную строку добавить -channels 6.
>2) mplayer не настроен на 5.1, надо в командную строку добавить -channels 6.
Теперь он заикается, то есть между секундами звука появляется задержка.
Пробовал параллельно амарок, звука все равно нет.
Значит, у нас разное представление о настройках звука на твоей машине. Для тестов будем использовать только aplay, никаких монстрообразных плееров с настройками. Прошу выполнить команды:
aplay -vv -c 6 -f S16_LE -r 48000 /dev/zero
aplay -vv -c 2 -f S16_LE -r 44100 /dev/zero
в двух терминалах одновременно. Звука, естественно, не будет (т.к. в /dev/zero тишина), интересует вывод в каждой консоли. В зависимости от вывода, будем искать либо опечатку в конфиге alsa (его прошу тоже поместить в pastebin), либо править конфиги плееров.
А это двухканальный, запущенный через секунду после 6-канального: http://pastebin.com/BxbDmzPW
Ничего не понимаю — такого просто не может быть. Прошу проделать опыт с двумя aplay еще раз (есть подозрение, что либо pulseaudio удален не до конца, либо кто-то еще вмешивается в процесс, и надо выяснить, кто именно). Если опять появится «unable to open slave», прошу выполнить команду:
Прошу извинить за такую задержку с рабочим конфигом. Он предполагает, что все программы работают от одного пользователя и настроены на использование ALSA (а не OSS и не pulseaudio) через устройство «default» (а не «hw:0» и не «HDA Intel»), тогда как обеспечение этого условия на практике оказывается самым сложным делом.
Pulseaudio не удален. Это критично? Ведь я в плеерах насильно указываю, что они должны проигрывать pulseaudio. Если да, мне его удалить или просто убрать из USE и перекомпилировать все приложения? А то негоже по двадцать раз в день удалять-ставить пульс чтобы потестить альсу или посмотреть кино.
Таки да, fuser показывает пульс. Попробую выпилить его и отпишусь.
> Pulseaudio не удален. Это критично?
Да. Но достаточно только сделать mv /usr/bin/pulseaudio /usr/bin/pulseaudio.disabled , чтобы он не запускался в неподходящий момент.
vurdalak@vurdalak-pc ~ $ fuser -v /dev/snd/* /dev/dsp
ПОЛЬЗ-ЛЬ PID ДОСТУП КОМАНДА
/dev/snd/controlC0: vurdalak 12563 F. knotify4
/dev/snd/pcmC0D0p: vurdalak 13046 F. m aplay
/dev/snd/timer: vurdalak 13046 f. aplay
Пульс удален чуть более, чем полностью.
Я здесь вижу только один aplay. Второй дает ту же ошибку «unable to open slave»? Если так — это баг в alsa-lib, обнови до версии 1.0.23 (из ~x86 или ~amd64).
Обновил. Никаких изменений.
Попутно вопрос: что для моей карты указывать в daemon.conf для пульса? А именно sample-formats, default-fragments и default-fragment-size-msec. А то с пульсом все отлично, но он немного создает дребезг звука.
Дребезг (если мы имеем в виду одно и то же) никак не связан с daemon.conf. Это баг в C-коде, который применяет громкость и баланс к звуку с использованием инструкций SSE2.
Насчет неработоспособности dmix и падения mplayer — похоже на переоптимизированную систему. Подробности в jabber (см. мой профиль).
Re: mplayer + MPEG TS, нет звука
фиг знает где этот avisynth.dll искать — те, что в нахоятся в гугле, тащут за собой avifil32.dll, потом gdi32.dll, а потом mplayer просто падает. Но не в dll-ке проблема, после обработки mencoder-ом (тупое копирование аудио и видео потоков) звук внезапно появляется.
кусочек потока можно взять тут (~2Mb, поток ~500Kbps): http://kostik.nest.cx/HTB.ts.bz2
Re: mplayer + MPEG TS, нет звука
Re: mplayer + MPEG TS, нет звука
avisynth.dll нет в кодеках и не должно быть.
Re: mplayer + MPEG TS, нет звука
Странно, у меня начал воспроизводиться звук, когда alang=ru в .mplayer/config закомментировал.
Re: mplayer + MPEG TS, нет звука
. TRIED UP TO POSITION 0, FOUND 47, packet_size= 188, SEEMS A TS? 1 GOOD CC: 32, BAD CC: 0 Обнаружен TS формат файла! . VIDEO MPEG2(pid=1126)AUDIO MPA(pid=1127) NO SUBS (yet)! PROGRAM N. 26 ==> Нашёл видео поток: 0 ==> Нашёл аудио поток: 0 Opened TS demuxer, audio: 50(pid 1127), video: 10000002(pid 1126). POS=2256, PROBE=2000000 . Открываю декодер аудио: [mp3lib] MPEG layer-2, layer-3 dec_audio: Захватываю 4608 + 65536 = 70144 байт(а/ов) для буфера вывода. mp3lib: made decode tables with MMX optimization mp3lib: using 3DNow!Ex optimized decore! MP3lib: init layer2&3 finished, tables done MPEG 1.0, Layer II, 48000 Hz 256 kbit Stereo, BPF: 768 Channels: 2, copyright: No, original: Yes, CRC: Yes, emphasis: 0 AUDIO: 48000 Hz, 2 ch, s16le, 256.0 kbit/16.67% (ratio: 32000->192000) Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3) . Андрей Григорьев, телекомпания НТВ, Киев. . И все замечательно воспроизводится. Со звуком. Вывод, у Вас какой то неправильный mplayer или конфиг к нему, где описано какой кодек в каких случаях юзать. Про неправильный дистр говорить не буду.
Re: mplayer + MPEG TS, нет звука
http://kilolife.spbrpc.ru/mplayer.conf Вот мой конфиг для mplayer Штатный, дистр - Gentoo