Большинство DVD и многие другие файлы содержат окружающий звук. MPlayer поддерживает воспроизведение такого звука, но не задействует его по-умолчанию, поскольку стерео оборудование более распространено. Для воспроизведения файла с более чем двумя каналами звука, используйте опцию -channels. Например, для воспроизведения DVD со звуком 5.1:
mplayer dvd://1 -channels 6
Имейте ввиду, что несмотря на название "5.1" на самом деле присутствует шесть независимых каналов. Если у вас есть соответствующее оборудование, вы спокойно можете добавить опцию channels в конфигурационный файл ~/.mplayer/config MPlayer'а. Например, для установки по умолчанию квадрофонического[quadraphonic] воспроизведения, добавьте такую строку:
channels=4
MPlayer будет выводить четырехканальный звук, если все четыре есть в проигрываемом файле.
По-умолчанию, MPlayer не дублирует никакие каналы, как и большинство звуковых драйверов. Если вы хотите, сделайте это самостоятельно:
mplayer filename
-af channels=2:2:0:1:0:0
Объяснения ищите в разделе копирование каналов.
DVD, как правило, имеют окружающий звук, кодированный в AC-3 (Dolby Digital) или DTS (Digital Theater System[система цифрового кинотеатра]) формате. Некоторое современное аудио оборудование способно самостоятельно декодировать эти форматы. MPlayer может быть сконфигурирован, чтобы передавать данные без их декодирования. Это работает только для наличие в вашей звуковой карте разъема S/PDIF (Sony/Philips Digital Interface[цифровой интерфейс Sony/Philips]).
Если ваше оборудование может декодировать и AC-3, и DTS, выможете спокойно задействовать передачу для обоих форматов. В противном случае включайте передачу только того формата, который поддерживается оборудованием.
Чтобы включить передачу из командной строки:
только для AC-3, используйте -ac hwac3
только для DTS, используйте -ac hwdts
для AC-3 и DTS, используйте -afm hwac3
Чтобы включить передачу в файле настроек MPlayer:
только для AC-3: ac=hwac3,
только для DTS: ac=hwdts,
для AC-3 и DTS: afm=hwac3
Заметьте, что в конце ac=hwac3, и ac=hwdts, присутствует запятая (","). В этом случае MPlayer вернется к кодеку, который он обычно использует, при воспроизведении файла, не содержащего звука AC-3 или DTS. afm=hwac3 запятой не требует; Когда указано семейство аудио, MPlayer вернется к нужному кодеку так или иначе.
Передатчики цифрового ТВ (такие как DVB и ATSC) и некоторые DVD, обычно имеют аудио потоки MPEG (в частности MP2). Некоторые аппаратные MPEG декодеры, такие как полнофункциональные DVB карты и DXR2 адаптеры имеют встроенную возможность декодирования этого формата. MPlayer может быть настроен для передачи аудио данных без из декодирования.
Для использования этого кодека:
mplayer -ac hwmpa
***TODO***
Этот раздел пока не написан, и не может быть завершен, пока кто-нибудь не предоставить нам образцы файлов для тестирования. Если у вас есть matrix-кодированные файлы, знаете где их можно достать или имеете информацию, которая может быть полезна, отошлите сообщение в рассылку MPlayer-DOCS. Укажите в теме письма [matrix-encoded audio].
Если не появятся файлы или какая-нибудь информация, этот раздел будет удален.
Полезные ссылки:
MPlayer содержит плагин HRTF (Head Related Transfer Function), основанный на проекте MIT откуда взяты измерения от микрофонов, вмонтированных в макет человеческой головы.
Хотя точная имитация системы окружающего звука[surround system] невозможна, MPlayer'овский плагин HRTF производит более пространственный окружающий звук на 2-х канальных наушниках. Обычное сведение, просто объединяет канали в два; кроме объединения каналов, hrtf создает хитрое эхо, слегка увеличивает разделение стерео, и меняет громкость некоторых частот. Лучше ли звучит HRTF, зависеть от исходного звука, и является делом личного вкуса, но его определенного стоит попробовать.
Для воспроизведения DVD с HRTF:
mplayer dvd://1 -channels 6 -af hrtf
hrtf работает хорошо тоько с 5-ю или 6-ю каналами. Также, hrtf тербуется 48 kHz звук. DVD аудио уже kHz, но если у вас есть файл, который вы хотите воспроизвести при помощи hrtf , с другой частотой сэмплирования, необходимо его ресэмплировать[resample]:
mplayer filename
-channels 6 -af resample=48000,hrtf
К сожалению, нет стандарта, описывающего порядок следования каналов. Порядки, указанные ниже, таковые из AC-3 и довольно типичны; попробуйте их и увидите совпадают ли они с вашим источником. Каналы нумеруются с нуля.
mono[моно]
center[центральный]
stereo[стерео]
left[левый]
right[правый]
quadraphonic[квадрофонический]
left front[левый передний]
right front[правый передний]
left rear[левый задний]
right rear[правый задний]
surround 4.0[окружение 4.0]
left front[левый передний]
right front[правый передний]
center rear[центральный задний]
center front[центральный передний]
surround 5.0[]окружение 5.0
left front[левый передний]
right front[правый передний]
left rear[левый задний]
right rear[правый задний]
center front[центральный передний]
surround 5.1[окружение 5.1]
left front[левый передний]
right front[правый передний]
left rear[левый задний]
right rear[правый задний]
center front[центральный передний]
subwoofer[сабвуфер]
Опция -channels используется для запроса количества каналов у аудио декодера. Некоторые аудио кодеки используют указанное количество каналов для определения необходимо ли сведение каналов. Заметьте, что это не всегда отражается на количестве выходных каналов. Например, используя -channels 4 для проигрывания стерео MP3 файла будет по-прежнему выводить звук на два канала, поскольку MP3 кодек не создает дополнительных каналов.
Аудио плагин channels может использоваться для создания или удаления каналов, и полезен для управления количеством каналов, отсылаемых на звуковую карту. Смотрите следующие разделы для получения информации о манипуляции каналами.
Моно звук намного лучше звучит, при воспроизведении на двух колонках - особенно при использовании наушников. Аудиофайлы, реально имеющие один канал, автоматически проигрываются через две колонки; к сожалению, множество файлов с моно звуком кодированы как стерео с тишиной в одном из каналов. Простейший и безопасный способ воспроизведения одинакового звука на обеих колонках состоит в использовании плагина extrastereo:
mplayer filename
-af extrastereo=0
Он усредняет оба канала, делая каждый в два раза тише изначального. В следующих разделах приводятся другие способы сделать то же самое без уменьшения громкости, но они сложнее и требуют указания различных опций в зависимости от того, какой канал остается. Если вам действительно требуется управлять громкостью, бутет проще поэкспериментировать с плагином volume и определить верное значение. Например:
mplayer filename
-af extrastereo=0,volume=5
Плагин channels может переместить любой или все каналы. Установка всех подопций плагина channels не так проста и требует определенной аккуратности.
Определитесь, сколько выходных каналов вам необходимо. Это первая подопция.
Посчитайте количество перемещаемых каналов. Это вторая подопция.Каждый канал может быть перемещен в несколько отличных каналов одновременно, но учтите, что исходный канал (даже при перемещении в одно место) будет пуст, пока в него не переместится какой-либо другой. Для копирования канала, оставляя исходный неизменным, просто переместите канал одновременно в требуемый и исходный. Например:
канал 2 --> канал 3 канал 2 --> канал 2
Запишите копии каналов в виде пары подопций. Заметьте, что первый канал - это 0,
второй - 1 и т.д. Порядок следования значений не имеет, пока они правильно сгруппированы
в пары исходный:результирующий
.
Это пример другого способа воспроизвести один канал на обе колонки. В нем предполагается, что левый канал должен воспроизводиться, а правый надо отбросить. Выполняем шаги, описанные выше:
Для создания по каналу на каждую из колонок, первая подопция должна быть 2.
Левый канал надо переместить на правый и на себя, чтобы он не оставался пуст. Всего два перемещения, делаем вторую подопцию тоже равной "2".
Для перемещения левого канала (канал 0) в правый (канал 1) пара подопций имеет вид "0:1", "0:0" перемещает левый канал на себя.
Собираем все вместе:
mplayer filename
-af channels=2:2:0:1:0:0
Преимущество этого примере перед extrastereo состоит в том, что громкость каждого канала такая же как у исходного. Недостаток заключается в необходимости изменить подопции на "2:2:1:0:1:1", если желаемый канал - правый. К тому же его труднее запомнить и набрать.
На самом деле есть более простой способ использования плагина channels для воспроизведения левого канала на обеих колонках:
mplayer filename
-af channels=1
Второй канал отбрасывается и, при отсутствии других подопций, остается единственным. Драйвер звуковой карты автоматически воспроизводит одноканальный звук на обеих колонках. Но это сработает только если желаемый канал - левый.
Другая обычная операция - это дублирование передних каналов и воспроизведение их на задних колонках при квадрофонической настройке.
Выходных каналов должно быть четыре. Первая подопция равна "4".
Каждый из передних каналов надо переместить на соответствующий задний и на себя. Это четыре перемещения, так что вторая подопция равна "4".
Левый передний (канал 0) надо переместить на левый задний (канал 2): "0:2". Левый передний также надо переместить на себя: "0:0". правый передний (канал 1) перемещается на правый задний (канал 3): "1:3", и на себя: "1:1".
Собираем все и получаем:
mplayer filename
-af channels=4:4:0:2:0:0:1:3:1:1
Плагин pan пожет микшировать каналы в указанных пользователем пропорциях. Он может делать все, что channels, и даже больше. К сожалению, подопции намного сложнее.
Определите со скольки каналами будете работать. Вам необходимо указать это при помощи -channels и/или -af channels. Дальнейшие примеры покажут когда какую использовать.
Решите, сколько каналов скормить pan (дополнительные декодированные каналы отбрасываются). Это первая подопция, она также определяет сколько каналов готовится к выводу).
Оставшиеся подопции указывают какая часть каждого входного канала микшируется в в каждый выходной. Это самая сложная часть. Для решения задачи, разделите подопции на несколько наборов, по одному на каждый выходной канал. Каждая подопция в наборе относится к входному каналу.
pan принимает значения от 0 до 512, давая от 0% до 51200% громкости исходного канала. Будьте осторожны, используя значения больше 1, если вы превысить диапазон сэмплинга вашей звуковой карты, вы услышите противный треск и скрежет. Если хотите, можете вслед за pan указать ,volume для задействования обрезки, но лучше держать значения pan достаточно низкими, чтобы не требовалось обрезание.
Это еще один пример воспроизведения левого канала на двух колонках. Следуя инструкциям выше:
pan должен выдать два канала, т.о. первая подопция равна "2".
Поскольку входных каналов два, будет два набора подопций. Так как выходных каналов тоже два, то будет по две подопции в каждом наборе. Левый канал из файла должен перейти с полной громкостью в новые левый и правый. Таким образом, первый набор подопций будет "1:1". правый канал должен быть отброшен, поэтому второй набор равен "0:0". Любые значения 0 в конце могут быть опущены, но для более легкого понимания мы их оставим.
Соединение опций дает:
mplayer filename
-af pan=2:1:1:0:0
Если вместо правого канала нужен левый, подопции для pan будут "2:0:0:1:1".
Как и с channels, существует сокращенный вариант, который работает только для левого канала:
mplayer filename
-af pan=1:1
Поскольку pan имеет только один входной канал (остальные отбрасываются), будет только одна подопция, указывающая, что единственный канал получает 100% собственной громкости.
Декодер MPlayer'а для 6-канального PCM не способен сводить каналы. Здесь описан способ сведения PCM, используя pan:
Количество выходных каналов равно 2, значит первая подопция равна "2".
С шестью входными каналами будем иметь шесть наборов подопций. К счастью, поскольку мы беспокоимся о выводе только первых двух, достаточно создать два набора; оставшиеся можно опустить. Имейте ввиду, что не все многоканальные имеют одинаковый порядок каналов. пример показывает как свести файл с порядком как у AC-3 5.1:
0 - передний левый 1 - передний правый 2 - задний левый 3 - задний правый 4 - центральный передний 5 - сабвуфер
В первом наборе указаны проценты от исходной громкости, в соответствующем порядке, которую каждый выходной канал получит от переднего левого канала: "1:0". Правый передний должен перейти в правый: "0:1". То же для задних: "1:0" и "0:1" Центральный должен попасть в оба с половинной громкостью: "0.5:0.5", и сабвуфер переходит в оба канала с полной громкостью: "1:1".
Все вместе:
mplayer 6-channel.wav
-af pan=2:1:0:0:1:1:0:0:1:0.5:0.5:1:1
Проценты, указанные выше всего лишь пример. подстраивайте их как вам удобно.
Если у вас есть пара огромных передних колонок, нет надобности тратиться на сабвуфер для полноценной системы 5.1. Если использовать -channels 5 для запроса к liba52 на декодирование 5.1 аудио в 5.0, канал сабвуфера просто отбрасывается. Если вы сотите самостоятельно распределить канал сабвуфера, то потребуется ручное сведение при помощи pan:
Поскольку pan надо анализировать все шесть каналов, укажите -channels 6, чтобы liba52 декодировал их все.
pan выводит только пять каналов, первая подопция равна 5.
Шесть входных каналов означает шесть наборов по пять подопций в каждом.
Левый передний дублируется только на себя: "1:0:0:0:0"
То же для правого переднего: "0:1:0:0:0"
То же для левого заднего: "0:0:1:0:0"
И то же для правого заднего: "0:0:0:1:0"
Центральный передний, тоже: "0:0:0:0:1"
И, наконец, мы должны решить что же делать с сабвуфером, например, половина на передний правый и половина на передний левый: "0.5:0.5:0:0:0"
Собирая все подопции месте, получаем:
mplayer dvd://1
-channels 6 -af pan=5:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0:0:0:0:0:1:0.5:0.5:0:0:0
Некоторые звуковые дорожки без усиления слишком тихие для комфортного прослушивания. Это становится проблемой, если звуковое оборудование не способно усиливать сигнал. Опция -softvol указывает MPlayer'у использовать встроенный микшер. После этого вы можете использовать клавиши подстройки громкости (по-умолчанию 9 и 0) чтобы достичь значительно более громкого звучания. Заметьте, что это не исключает использования микшера вашей карты; MPlayer всего лишь усиливает сигнал перед отправкой его на звуковую карту. Следующим пример может являться неплохим началом:
mplayer quiet-file
-softvol -softvol-max 300
Опция -softvol-max указывает максимально допустимый уровень звука в процентах от исходного. Например, -softvol-max 200 позволит увеличивать громкость вдвое по сравнению с оригинальным звуком. Использование больших значений с-softvol-max; высокий уровень громкости не будет достигнуть без использования клавиш регулирования громкости. Единственный минус больших значений заключается в том, что, поскольку MPlayer регулирует громкость в процентах от максимума, вы не будете иметь той же точности при использовании клавиш регулирования громкости. Используйте меньшее значение -softvol-max и/или укажите -volstep 1 если нужна повышенная точность.
Опция -softvol работает, управляя аудио плагином volume. Если вам надо воспроизвести файл с определенной громкостью от начальной, можете указать volume вручную:
mplayer quiet-file
-af volume=10
Будет воспроизведен файл в усилением в 10 децибел. Будьте осторожны, используя плагин volume - вы можете легко повредить ваши уши слишком громким звуком. Начните с маленьких значений и постепенно увеличивайте, пока не почувствуете, что достаточно. Также, если указать черезчур высокие значения, volume может потребоваться обрезать звук, чтобы избежать отправления на карту данных, превышающих допустимые значение; это приведет к искажению звука.