[Comm] Многоканальный звук, или как заставить работать mplayer с внешним декодером.

Maksim N. Reziapkin =?iso-8859-1?q?Maksim=2EReziapkin_=CE=C1_avalon=2Eru?=
Пн Янв 19 12:46:50 MSK 2004


Ситуация такая. 
Имеем установленный мастер 2.2 

Из аппаратуры: 
звук на Live! Value, который подключается через s/pdif к внешнему декодеру (понимает обычный PCM, DD, DTS). 
DVD combo (lite-on). 
К декодеру, который на самом деле является ресивером, подключены 5 колонок + саб. 

В связи с выходом релизной alsa слил source оной и кой-как скомпелил. Звук работает (модули поднимаются без сложностей). Пока стерео. 
При компиляции alsa обнаружены  интересные тулзы: ac3dec & extract_ac3 (или как там ее, ну в общем первая выдает поток в устройство, а вторая вытаскивает звуковой поток из .vob файлов). 

Теперь берем источник (файлик со звуковой дорожкой АС3). С помощью тулзы ac3dec выдаем на 
устройство по дефолту. Итог - звук стерео... не фонтан. 
Читаем хелп к тулзе, выясняем что нужно задействовать 4 или 6 дорожек (если есть они, в данном 
случае есть). в общем ставим опцию "-6" - все равно стерео... 
Дальше читаем, обнаруживаем что нужно указать такой тип чипа "для декодирования потоков" 
использовать (по названиям уже не помню, но три варианта опций, в моем случае работает только 
опция "-P"). 
Ура товарищи. Многоканальный звук есть. Ура, Ура, Ураааа! 

Полная строчка получается "ac3dec -6 -P source.ac3". 
И получаем на ресивере поток DD, о чем он (ресивер) нам радостно сообщает. 

Ок. идем дальше... 
Берем DVD диск (в моем случае это пиратка с лицензионного диска от студии Союз, где есть  следующие звуковые треки: Русский дублированный перевод (DD), Русский закадровый перевод (DD), 
Французский (DD), Русский (DTS)). 
Берем какой либо файл vob, вытаскиваем из него звуковой поток с помощью extract_ac3, и отдаем на съедение ac3dec. Ура. Все КарасО! 

Вот только я не понял как вытянуть поток dts... Ну этим займемся позже... 

Теперь нужно видео посмотреть с dvd-диска. 

Берем любимый mplayer. Из мастера 2.2. Версия кажется 0.90... 
Если нечего не указывать... то играет видео и играет звук... звук только стерео. Нам такого не надо... 
Ок. читаем доки (в том числе с сайта atmsk.ru) выясняем что нам нужны опции "-channels 6" и "-ac hwac3". Если с первой все проходит, т.е. mplayer рюхает что у него поток 5.1 но вывести он 
пытается только то что у него допустимо... и т.о. образом получает стерео, то при указывании 
второй опции мне mplayer что-то говорит (не помню на память), ну в общем в корку по сигналу 11. 
Не нашел он толи фильтра hwac3 толь чего еще... ну вобщем труба. 

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

Была идея собрать mplayer последний из сизифа, но что то он у меня ругнулся, а именно: при 
конфигурировании он мне сказал что у меня нету alsa, что есть неправда... 
Есть у меня alsa-lib... Просмотр логов дал выводы, что конфигуратор нашел alsa-lib, что-то там 
скомпилил код какой-то 3 раза, и после этого заключение дал, alsa у меня нету, и mplayer будет 
компилиться без поддержки оного... 
Вот я пока и не скомпилил mplayeer поновее. 

Хочется услышать общие и уточняющие рекомендации как заставить mplayer играть многоканальный 
поток через s/pdif на внешний декодер. Мы выяснили что это возможно. 

Вапрос 2. Очень конкретный вопрос. 
А что с микшерами у alsa 1.0.1??? Запускаю alsammixer, aumix etc... никакого результата... любой ползунок двигать в любую сторону, хоть все ползунки в нуль убрать... ничего не меняется... 
Что читать господа посоветуют??? 

Вопрос 3. Очень такой вопрос. 
как заставить играть DTS? 

Дополнение: 
вчерась решил попробовать поиграться с xine. 
получилось... в смысле многоканальный звук получился... 
DD даже был корректен. 
Поигрался с DTS - xine стал выводить поток (ресивер даже переключился в DTS). Пару секунд какого-то хлама... и тишина... xine`ну говорю давай теперь играй DD. Он соглашается, но ресивер не переключается... перерубаю ресивер (т.е. переключаю с цифры в аналог и обратно в   цифру) ресивер определяет поток как DD и все пучком. 

У кого нибудь получилось заставить корректно работать mplayer??? 

С какими опциями (обязательными для многоканального звука) его нужно собирать, чтобы корректно игрались DD и DTS. 

ЗЫ: с регулировка звука пока все тихо, что обидно.

Спасибо. 
Макс.



Подробная информация о списке рассылки community