# Использование

## Командная строка

MPlayer использует составное дерево воспроизведения. Опции, указанные в командной строке, могут применяться ко всем файлам/URL или только к некоторым, в зависимости от местоположения. Например

    mplayer -vfm ffmpeg movie1.avi movie2.avi

, будет использовать FFmpeg декодеры для каждого из двух файлов, а

    mplayer -vfm ffmpeg movie1.avi movie2.avi -vfm dmo

будет воспроизводить второй файл, используя DMO декодер.

Вы можете группировать файлы/URL'ы вместе, используя `{` и `}`. Это полезно, например, с опцией `-loop`:

    mplayer { 1.avi -loop 2 2.avi } -loop 3

Эта команда проиграет файлы в таком порядке: 1, 1, 2, 1, 1, 2, 1, 1, 2.

Воспроизведение файла:

    mplayer [опции] [путь/]имя_файла

Другой способ:

    mplayer [опции] file:///uri-escaped-path

Воспроизведение множества файлов:

    mplayer [общие опции] [путь/]имя_файла1 [опции для имя_файла1] имя_файла2 [опции для имя_файла2] ...

Воспроизведение VCD:

    mplayer [опции] vcd://номер_дорожки [-cdrom-device /dev/cdrom]

Воспроизведение DVD:

    mplayer [опции] dvd://номер_ролика [-dvd-device /dev/dvd]

Воспроизведение из WWW:

    mplayer [опции] http://site.com/file.asf

(так же можно использовать и списки проигрывания (плейлист[playlist]) )

Воспроизведение по RTSP:

    mplayer [опции] rtsp://server.example.com/streamName

Примеры:

    mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
    mplayer vcd://2 -cdrom-device /dev/hdc
    mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
    mplayer dvd://1 -dvd-device /dev/hdc
    mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi

## Субтитры и OSD

Вместе с фильмом MPlayer может показывать и субтитры. В настоящий момент поддерживаются следующие форматы:

- VOBsub

- OGM

- CC (closed caption[скрытые титры])

- MicroDVD

- SubRip

- SubViewer

- Sami

- VPlayer

- RT

- SSA

- PJS (Phoenix Japanimation Society)

- >MPsub

- AQTitle

- JACOsub

MPlayer может конвертировать вышеперечисленные форматы субтитров (кроме первых трёх) в следующие форматы с помощью соответствующих опций:

- MPsub: `-dumpmpsub`

- SubRip: `-dumpsrtsub`

- MicroDVD: `-dumpmicrodvdsub`

- JACOsub: `-dumpjacosub`

- Sami: `-dumpsami`

MEncoder может выдавать DVD субтитры в VOBsub формате.

Опции значительно различаются для различных форматов:

### VOBsub субтитры

VOBsub субтитры состоят из большого (несколько мегабайт) `.SUB` файла, и необязательных `.IDX` и/или `.IFO` файлов. Использование: если у Вас, например, есть файлы `sample.sub`, `sample.ifo` (необязательно), `sample.idx` - Вы должны указать MPlayer'у опции `-vobsub sample [-vobsubid id]` (можно указать полный путь). Опция `-vobsubid` похожа на `-sid` для DVD, с её помощью, Вы можете выбирать между дорожками субтитров (языками). В случае, если `-vobsubid` пропущена, MPlayer попытается использовать языки, полученные через опцию `-slang` и перейти к пункту langidx в `.IDX` файле, чтобы выбрать язык субтитров. Если и это не удаётся, то субтитров не будет.

### Другие субтитры

Прочие форматы субтитров состоят из единого текстового файла, содержащего информацию о синхронизации, местоположении и тексте субтитра. Использование: Если у Вас есть, например, файл `sample.txt`, Вы должны указать опцию `-sub sample.txt` (можно указать полный путь).

### Регулировка синхронизации и местоположения субтитров:

`-subdelay sec`

  Задерживает субтитры на `sec` секунд. Это значение может быть отрицательным.

`-subfps RATE`

  Указывает количество кадров/сек для файла субтитров (вещественное число)

`-subpos 0-100`

  Указывает позицию субтитров.

Если Вы наблюдаете увеличивающуюся задержку между фильмом и субтитрами, используя файл субтитров в формате MicroDVD, наиболее вероятно, что частота кадров у фильма и файла субтитров не совпадают. Пожалуйста, обратите внимание, что формат MicroDVD использует абсолютные номера кадров для синхронизации, но в нем нет информациио частоте кадров и поэтому опция `-subfps` не может использоваться с этим форматом. Вы должны, если хотите навсегда решить эту проблему, вручную конвертировать частоту кадров файла субтитров. MPlayer может сделать для вас это преобразование:

    mplayer -dumpmicrodvdsub -fps subtitles_fps -subfps avi_fps \
        -sub subtitle_filename dummy.avi

О DVD субтитрах, читайте в секции DVD.

## Управление

MPlayer использует полностью конфигурируемый, основанный на понятии команды, уровень управления, позволяющий манипулировать MPlayer'ом с клавиатуры, мышью, джойстиком или с пульта дистанционного управления (используя LIRC). Полный список кнопок для управления с клавиатуры см. на man-странице.

### Конфигурация управления

MPlayer позволяет повесить любую MPlayer'овскую команду на любую кнопку, используя простой конфигурационный файл. Синтаксис файла состоит из имени кнопки, сопровождающегося командой. По умолчанию конфигурационный файл находится в `$HOME/.mplayer/input.conf`, но это можно изменить, указав опцию `-input conf` (относительный путь указывается относительно `$HOME/.mplayer`).

#### Простой файл конфигурации ввода

    ##
    ## MPlayer input control file
    ##

    RIGHT seek +10
    LEFT seek -10
    - audio_delay 0.100
    + audio_delay -0.100
    q quit
    > pt_step 1
    < pt_step -1
    ENTER pt_step 1 1

### Управление через LIRC

Linux Infrared Remote Control[Инфракрасное Удалённое Управление Linux'ом] — используйте легко собираемый в домашних условиях IR-приёмник, (почти) любой пульт управления и управляйте с их помощью Вашей Linux машиной. Подробности на www.lirc.org.

Если у Вас установлен ракет lirc, configure само его обнаружит. Если Всё прошло хорошо, MPlayer при старте напечатает сообщение, похожее на "`Setting up lirc support...`". Если произошла ошибка, он Вам сообщит. Если он не говорит ничего про LIRC, то поддержка LIRC не была скомпилирована. Вот так :-)

Имя приложения для MPlayer — угадайте — `mplayer`. Вы можете использовать все команды mplayer'а и даже можете использовать более одной команды, разделив их символами `\n`. Не забудьте включить флаг repeat[повтор] в `.lircrc`, когда это имеет смысл (перемещение, громкость и т.п.). Вот выдержка из моего `.lircrc`:

    begin
         button = VOLUME_PLUS
         prog = mplayer
         config = volume 1
         repeat = 1
    end

    begin
        button = VOLUME_MINUS
        prog = mplayer
        config = volume -1
        repeat = 1
    end

    begin
        button = CD_PLAY
        prog = mplayer
        config = pause
    end

    begin
        button = CD_STOP
        prog = mplayer
        config = seek 0 1\npause
    end

Если Вам не нравится стандартное место Вашего конфигурационного файла lirc (`~/.lircrc`), используйте опцию `-lircconf filename`, чтобы указать другой файл.

### Подчинённый ("рабский") режим

Наличие подчинённого режима позволяет Вам создавать простые приложения к MPlayer'у. Когда режим включён (опцией `-slave`), MPlayer читает со стандартного входа команды, разделяемые символом конца строки (\n). Команды документированы в файле slave.txt.

## Сетевые потоки и каналы

MPlayer может проигрывать файлы по сети, используя HTTP, FTP, MMS или RTSP/RTP протокол.

Проигрывание включается добавлением URL'а в командную строку. Также, MPlayer учитывает переменную среды `http_proxy` и использует прокси[proxy], если это возможно. Также можно заставить использовать прокси:

    mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf

MPlayer может считывать данные со стандартного входа (а не из поименованных каналов). Это может, например, использоваться при проигрывании файлов по FTP:

    wget ftp://micorsops.com/something.avi -O - | mplayer -

Мы рекомендуем включать `-cache` при проигрывании из сети:

    wget ftp://micorsops.com/something.avi -O - | mplayer -cache 8192 -

### Сохранение потоковых данных

Как только вам удалось воспроизвести любимый интернет-поток, вы можете воспользоваться опцией `-dumpstream`, чтобы сохранить его в файл. Например:

    mplayer http://217.71.208.37:8006 -dumpstream -dumpfile stream.asf

сохранит данные из потока http://217.71.208.37:8006 в stream.asf. Это работает для всех протоколов, поддерживаемых MPlayer, таких как MMS, RSTP, и других.

## Приводы CD/DVD

Современные приводы CD-ROM могут работать на очень высоких скоростях, некоторые из них способны регулировать скорость чтения. Несколько аргументов за использование этой возможности:

- На высоких оборотах возрастает вероятность ошибки при чтении, особенно с плохо штампованных дисков. Уменьшение скорости может предотвратить потерю данных в этом случае.

- Многие CD-ROM приводы ужасно шумят, а снижение скорости может привести к уменьшению шума.

### Linux

Вы можете уменьшить скорость вращения IDE CD-ROM приводов программами `hdparm`,`setcd` или `cdctl`. Это работает так:

    hdparm -E [скорость] [устройство cdrom]

    setcd -x [скорость] [устройство cdrom]

    cdctl -bS [скорость]

Если используется эмуляция SCSI, Вам следует применять настройки к реальному IDE устройству, а не сэмулированному SCSI.

Если у Вас есть привилегии администратора, следующая команда тоже может оказаться полезной:

    echo file_readahead:2000000 > /proc/ide/[устройство cdrom]/settings

Таким образом, предварительно считывается 2 мегабайта (полезно при дисках с царапинами). Если поставить слишком большое значение, то постоянный запуск и остановка вращения диска ужасно снизят эффективность. Рекомендуется также подстроить привод, используя `hdparm`:

    hdparm -d1 -a256 -u1 [устройство cdrom]

Этой командой включается прямой доступ к памяти[DMA], предварительное чтение и размаскировка IRQ (прочтите man-страницу `hdparm`, с более подробным описанием).

Обратитесь к "`/proc/ide/[устройство cdrom]/settings`" для подстройки Вашего CD-ROM привода.

Вы можете настроить скорость SCSI CD-ROM приводов с помощью `sdparm`, необходима версия 1.03 или выше:

    sdparm --command=speed=[скорость в кБ/с] [устройство cdrom]

Скорость должна быть указана в килобайтах в секунду, привод округлит её надлежащим образом. Пожалуйста, обратитесь с странице руководства sdparm для деталей.

There is also a dedicated tool that works for Plextor SCSI drives.

### FreeBSD

Скорость:

    cdcontrol [-f устройство] speed [скорость]

DMA:

    sysctl hw.ata.atapi_dma=1

## Воспроизведение DVD

Полный список возможных опций можно прочитать в man странице. Синтаксис для воспроизведения стандартного DVD таков:

    mplayer dvd://<ролик> [-dvd-device устройство]

Пример:

    mplayer dvd://1 -dvd-device /dev/hdc

Если вы собрали MPlayer с поддержкой dvdnav, синтаксис тот же, просто укажите dvdnav:// вместо dvd://.

Устройство DVD по умолчанию — это `/dev/dvd`. Если Ваши настройки отличаются, создайте символическую ссылку или укажите правильное устройство в командной строке, используя опцию `-dvd-device`.

MPlayer использует библиотеки libdvdread и libdvdcss для воспроизведения и расшифровки DVD. Эти две библиотеки содержатся в дереве исходного кода MPlayer'а, так что отдельно устанавливать их не нужно. Вы также можете использовать уже установленные в системе версии библиотек, но это не рекомендуется, так как может приводить к ошибкам, несовместимости и потере скорости.

В случае проблем с декодированием DVD, попробуйте отключить supermount или другие подобные удобства. Некоторые RPC-2 устройства могут требовать уcтановку кода региона.

### Расшифровка DVD

Расшифровка DVD осуществляется библиотекой libdvdcss. Метод может быть указан переменной окружения `DVDCSS_METHOD`, подробную информацию смотрите на странице руководства man.

### Региональный код

Современные DVD приводы имеют дурацкое ограничение, называемое региональным кодом. Это — способ заставить DVD приводы воспроизводить DVD диски, созданные для одного из шести различных регионов, на которые разделен мир. Как может группа людей сесть за стол, придумать подобное и при этом ожидать, что мир 21-го века поклонится их воле — это за пределами человеческого понимания.

Приводы, реализующие региональную защиту исключительно при помощи программного обеспечения, известны как RPC-1 приводы, реализующие ее аппаратно — RPC-2. RPC-2 приводы позволяют пять раз изменить код региона, после чего он фиксируется навсегда. В Linux Вы можете воспользоваться утилитой regionset для установки регионального кода Вашего DVD привода.

К счастью, возможна переделка RPC-2 приводов в RPC-1, через обновление прошивки. Укажите модель Вашего DVD привода в Вашем любимом поисковике или посмотрите на форуме и разделах загрузок на "Странице прошивок". Хотя обычные предостережения, касающиеся обновления прошивки, остаются в силе, опыт избавления от региональной защиты в основном положителен.

## Воспроизведение VCD

Полный список возможных опций можно прочитать в man. Синтаксис для обычного Видео-CD (VCD):

    mplayer vcd://<дорожка> [-cdrom-device <устройство>]

Пример:

    mplayer vcd://2 -cdrom-device /dev/hdc

Устройство VCD по умолчанию — `/dev/cdrom`. Если Ваши настройки отличаются, создайте символическую ссылку добавьте правильное название в командной строке после опции `-cdrom-device`.

По крайней мере Plextor'ы и некоторые Toshiba SCSI CD-ROM приводы показывают ужасную производительность при чтении VCD'ов. Это объясняется тем, что CDROMREADRAW ioctl на этих приводах реализован не полностью. Если Вы имеете некоторые познания в сфере программирования SCSI, пожалуйста помогите нам в написании поддержки SCSI generic для VCD.

В настоящий момент Вы можете извлечь данные с VCD, используя readvcd, и воспроизвести получившийся файл MPlayer 'ом.

### Структура VCD

VCD составлен из секторов CD-ROM XA, т.е. дорожек CD-ROM mode 2 form 1 и form 2:

- Первая дорожка записана в mode 2 form 2 формате, что, в частности, означает использование коррекции ошибок L2. Дорожка содержит файловую систему ISO-9660 с секторами по 2048 байт. Там содержатся метаданные VCD, и картинки, часто использующиеся в меню. Здесь также могут храниться фрагменты MPEG для меню, но каждый из них должен быть разбит на кусочки по 150 секторов. Еще файловая система может хранить файлы или программы, не имеющие отношения к работе с VCD.

- Вторая и остальные дорожки содержат MPEG-поток секторами по 2324 байта, по одному пакету MPEG PS на сектор вместо файловой системы. Это дорожки в формате mode 2 form 1 и хранят больше информации на один сектор за счет потери возможности некоторой коррекции ошибок. После первой дорожки также допустимо присутствие дорожки CD-DA. В некоторых ОС используются различные трюки, чтобы сделать эти не-ISO-9660 дорожки видимыми в файловой системе. Но Linux — это не тот случай (пока). Здесь MPEG данные не могут быть смонтированы. (Вы когда-нибудь монтировали аудио диск для того, чтобы его воспроизвести?) Так как большинство фильмов находится именно на таких дорожках, попробуйте сначала `vcd://2`.

- Существуют VCD диски без первой дорожки (единственная дорожка без файловой системы). Они проигрываются, но не монтируются.

- Описание стандарта Video CD называется Philips "White Book" и, как правило, недоступна в онлайн, т.к. должна приобретаться у Philips. Более подробная информация о Video CD может быть найдена в документации vcdimager.

### Про файлы .DAT

Файл примерно в 600 мегабайт на первой дорожке не настоящий! Это так называемый ISO-переход, созданный, чтобы позволить Windows обрабатывать эти дорожки (Windows вообще запрещает приложениям использовать прямой доступ к устройствам). Под Linux Вы не можете копировать эти файлы (они выглядят, как мусор). Под Windows это возможно, поскольку там iso9660 эмулирует прямой доступ к дорожкам через этот файл. Чтобы проигрывать .DAT файл Вам нужен драйвер, из Linux версии PowerDVD. Это модифицированный драйвер iso9660 файловой системы (`vcdfs/isofs-2.4.X.o`), который способен эмулировать прямой доступ к дорожкам через этот файл. Если Вы замонтируете диск, используя их драйвер, Вы можете копировать и даже проигрывать .DAT файлы MPlayer'ом. Но это не будет работать со стандартным драйвером iso9660 из ядра Linux! Используйте вместо этого `vcd://`. Альтернативами для копирования VCD может послужить новый драйвер cdfs (не входит в официальное ядро) который показывает дорожки[сессии] на диске как файлы образов и cdrdao, приложение для побитового чтения/копирования CD.

## Редактируемые списки решений [Edit Decision Lists] (EDL)

Система редактируемых списков решений [edit decision list] (EDL) позволяет Вам автоматически пропускать или заглушать части при воспроизведении, основываясь на специфичном для каждого фильма конфигурационном файле.

Это полезно для тех, кто может захотеть посмотреть фильм в "семейном" режиме. Вы можете исключить любые проявления насилия, ненормативной лексики, Jar-Jar Binks, и т. п. из фильмов, сообразуясь с Вашими личными предпочтениями. Помимо этого, существуют другие применения, например автоматический пропуск рекламы при просмотре фильмов.

Формат EDL файлов пока элементарен. в каждой строке находится одна команда, которая указывает, что делать (пропустить/выключить звук) и когда (используя pts в секундах).

### Использование EDL файлов

Включите опцию `-edl <имя_файла>`, когда Вы запускаете MPlayer, с именем EDL файла, который Вы хотите использовать с видео.

### Создание EDL файлов

Текущий формат файлов EDL:

    [начальная секунда] [конечная секунда] [действие]

Где секунды - это числа с плавающей точкой (вещественные числа), а действие - это или `0` для пропуска или `1` для заглушения звука. Пример:

    5.3   7.1    0
    15    16.7   1
    420   422    0

Это вызовет пропуск видео с 5.3 секунды до 7.1 секунды, затем заглушит звук на 15 секунде, включит обратно в 16.7 секунд и пропустит видео с 420 по 422 секунды. Эти действия будут происходить, когда таймер проигрывания достигнет указанных в файле значений.

Чтобы начать создать EDL файл, используйте опцию `-edlout <filename>`. При проигрывании, когда Вы хотите отметить предыдущие две секунды для пропуска, нажмите i. Соответствующая запись для этого времени будет добавлена в файл. Затем Вы можете вернуться и подстроить сгенерированный EDL файл также как и поправить действие по-умолчанию (пропуск блока, указанного в строке).

## Расширенные возможности аудио

### Окружающее/Многоканальное[Surround/Multichannel] воспроизведение

#### DVD'шники

Большинство 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

Объяснения ищите в разделе копирование каналов.

#### Передача AC-3/DTS

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 вернется к нужному кодеку так или иначе.

#### Передача MPEG аудио

Передатчики цифрового ТВ (такие как DVB и ATSC) и некоторые DVD, обычно имеют аудио потоки MPEG (в частности MP2). Некоторые аппаратные MPEG декодеры, такие как полнофункциональные DVB карты и DXR2 адаптеры имеют встроенную возможность декодирования этого формата. MPlayer может быть настроен для передачи аудио данных без из декодирования.

Для использования этого кодека:

     mplayer -ac hwmpa

#### Matrix-кодированное[matrix-encoded] аудио

***TODO***

Этот раздел пока не написан, и не может быть завершен, пока кто-нибудь не предоставить нам образцы файлов для тестирования. Если у вас есть matrix-кодированные файлы, знаете где их можно достать или имеете информацию, которая может быть полезна, отошлите сообщение в рассылку MPlayer-DOCS. Укажите в теме письма [matrix-encoded audio].

Если не появятся файлы или какая-нибудь информация, этот раздел будет удален.

Полезные ссылки:

- http://electronics.howstuffworks.com/surround-sound5.htm

- http://www.extremetech.com/article2/0,1697,1016875,00.asp

#### Эмуляция окружающего звука в наушниках

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

#### Решение проблем

Если вы ничего не слышите при использовании окружающего звука, проверьте настройки вашего микшера при помощи такой как alsamixer программы; очень часто по-умолчанию выходной звук выключен или его уровень установлен в ноль.

### Манипуляции с каналами

#### Общая информация

К сожалению, нет стандарта, описывающего порядок следования каналов. Порядки, указанные ниже, таковые из AC-3 и довольно типичны; попробуйте их и увидите совпадают ли они с вашим источником. Каналы нумеруются с нуля.

##### mono[моно]

1. center[центральный]

##### stereo[стерео]

1. left[левый]

2. right[правый]

##### quadraphonic[квадрофонический]

1. left front[левый передний]

2. right front[правый передний]

3. left rear[левый задний]

4. right rear[правый задний]

##### surround 4.0[окружение 4.0]

1. left front[левый передний]

2. right front[правый передний]

3. center rear[центральный задний]

4. center front[центральный передний]

##### surround 5.0[]окружение 5.0

1. left front[левый передний]

2. right front[правый передний]

3. left rear[левый задний]

4. right rear[правый задний]

5. center front[центральный передний]

##### surround 5.1[окружение 5.1]

1. left front[левый передний]

2. right front[правый передний]

3. left rear[левый задний]

4. right rear[правый задний]

5. center front[центральный передний]

6. subwoofer[сабвуфер]

Опция `-channels` используется для запроса количества каналов у аудио декодера. Некоторые аудио кодеки используют указанное количество каналов для определения необходимо ли сведение каналов. Заметьте, что это не всегда отражается на количестве выходных каналов. Например, используя `-channels 4` для проигрывания стерео MP3 файла будет по-прежнему выводить звук на два канала, поскольку MP3 кодек не создает дополнительных каналов.

Аудио плагин `channels` может использоваться для создания или удаления каналов, и полезен для управления количеством каналов, отсылаемых на звуковую карту. Смотрите следующие разделы для получения информации о манипуляции каналами.

#### Воспроизведение моно на двух колонках

Моно звук намного лучше звучит, при воспроизведении на двух колонках - особенно при использовании наушников. Аудиофайлы, реально имеющие один канал, автоматически проигрываются через две колонки; к сожалению, множество файлов с моно звуком кодированы как стерео с тишиной в одном из каналов. Простейший и безопасный способ воспроизведения одинакового звука на обеих колонках состоит в использовании плагина `extrastereo`:

    mplayer filename -af extrastereo=0

Он усредняет оба канала, делая каждый в два раза тише изначального. В следующих разделах приводятся другие способы сделать то же самое без уменьшения громкости, но они сложнее и требуют указания различных опций в зависимости от того, какой канал остается. Если вам действительно требуется управлять громкостью, бутет проще поэкспериментировать с плагином `volume` и определить верное значение. Например:

    mplayer filename -af extrastereo=0,volume=5

#### Копирование/перемещение каналов

Плагин `channels` может переместить любой или все каналы. Установка всех подопций плагина `channels` не так проста и требует определенной аккуратности.

1. Определитесь, сколько выходных каналов вам необходимо. Это первая подопция.

2. Посчитайте количество перемещаемых каналов. Это вторая подопция.Каждый канал может быть перемещен в несколько отличных каналов одновременно, но учтите, что исходный канал (даже при перемещении в одно место) будет пуст, пока в него не переместится какой-либо другой. Для копирования канала, оставляя исходный неизменным, просто переместите канал одновременно в требуемый и исходный. Например:

       канал 2 --> канал 3
       канал 2 --> канал 2

3. Запишите копии каналов в виде пары подопций. Заметьте, что первый канал - это 0, второй - 1 и т.д. Порядок следования значений не имеет, пока они правильно сгруппированы в пары исходный:результирующий.

Пример: один канал на две колонки

Это пример другого способа воспроизвести один канал на обе колонки. В нем предполагается, что левый канал должен воспроизводиться, а правый надо отбросить. Выполняем шаги, описанные выше:

1. Для создания по каналу на каждую из колонок, первая подопция должна быть 2.

2. Левый канал надо переместить на правый и на себя, чтобы он не оставался пуст. Всего два перемещения, делаем вторую подопцию тоже равной "2".

3. Для перемещения левого канала (канал 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

Второй канал отбрасывается и, при отсутствии других подопций, остается единственным. Драйвер звуковой карты автоматически воспроизводит одноканальный звук на обеих колонках. Но это сработает только если желаемый канал - левый.

Пример: дублирование передних каналов на задние

Другая обычная операция - это дублирование передних каналов и воспроизведение их на задних колонках при квадрофонической настройке.

1. Выходных каналов должно быть четыре. Первая подопция равна "4".

2. Каждый из передних каналов надо переместить на соответствующий задний и на себя. Это четыре перемещения, так что вторая подопция равна "4".

3. Левый передний (канал 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`, и даже больше. К сожалению, подопции намного сложнее.

1. Определите со скольки каналами будете работать. Вам необходимо указать это при помощи `-channels` и/или `-af channels`. Дальнейшие примеры покажут когда какую использовать.

2. Решите, сколько каналов скормить `pan` (дополнительные декодированные каналы отбрасываются). Это первая подопция, она также определяет сколько каналов готовится к выводу).

3. Оставшиеся подопции указывают какая часть каждого входного канала микшируется в в каждый выходной. Это самая сложная часть. Для решения задачи, разделите подопции на несколько наборов, по одному на каждый выходной канал. Каждая подопция в наборе относится к входному каналу.

   `pan` принимает значения от 0 до 512, давая от 0% до 51200% громкости исходного канала. Будьте осторожны, используя значения больше 1, если вы превысить диапазон сэмплинга вашей звуковой карты, вы услышите противный треск и скрежет. Если хотите, можете вслед за `pan` указать `,volume` для задействования обрезки, но лучше держать значения `pan` достаточно низкими, чтобы не требовалось обрезание.

Пример: один канал на две колонки

Это еще один пример воспроизведения левого канала на двух колонках. Следуя инструкциям выше:

1. `pan` должен выдать два канала, т.о. первая подопция равна "2".

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% собственной громкости.

Пример: сведение 6-канального PCM

Декодер MPlayer'а для 6-канального PCM не способен сводить каналы. Здесь описан способ сведения PCM, используя `pan`:

1. Количество выходных каналов равно 2, значит первая подопция равна "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 на больших колонках без сабвуфера

Если у вас есть пара огромных передних колонок, нет надобности тратиться на сабвуфер для полноценной системы 5.1. Если использовать `-channels 5` для запроса к liba52 на декодирование 5.1 аудио в 5.0, канал сабвуфера просто отбрасывается. Если вы сотите самостоятельно распределить канал сабвуфера, то потребуется ручное сведение при помощи `pan`:

1. Поскольку `pan` надо анализировать все шесть каналов, укажите `-channels 6`, чтобы liba52 декодировал их все.

2. `pan` выводит только пять каналов, первая подопция равна 5.

3. Шесть входных каналов означает шесть наборов по пять подопций в каждом.

   - Левый передний дублируется только на себя: "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` может потребоваться обрезать звук, чтобы избежать отправления на карту данных, превышающих допустимые значение; это приведет к искажению звука.

## TV вход

В этой секции описывается, как включить просмотр/захват с V4L-совместимого TV тюнера. См. man страницу, для описания TV опций и кнопок управления.

### Компиляция

1. Во-первых, Вам нужно перекомпилировать MPlayer, `./configure` автоматически обнаружит заголовки ядра, относящиеся к v4l, и наличие `/dev/video*` устройств. Если они существуют, будет собрана поддержка TV (см. вывод `./configure`).

2. Убедитесь, что Ваш тюнер работает с другими TV приложениями под Linux, например XawTV.

### Советы по использованию

Полный список опций доступен на страницах руководства (man). Вот всего несколько советов:

- Используйте опцию `channels`. Пример:

      -tv channels=26-MTV1,23-TV2

  Объяснение: При использовании такой опции, будут использоваться только каналы 26 и 23, и, кроме того, будет приятный OSD текст при переключении между каналами, отображающий название канала. Пробелы в названиях каналов должны быть заменены символом "_".

- Выберите разумные размеры изображения. Размеры полученного изображения должны делиться на 16.

- Если Вы захватываете видео с вертикальным разрешением выше половины полного разрешения (т.е. 288 для PAL или 240 для NTSC), то получаемые вами 'кадры' на самом деле будут чередующимися[interleaved] парами полей. В зависимости от того, что вы собираетесь делать с видео, можно оставить их в таком виде, произвести разрушающую (с возможной потерей качества) построчную развёртку, либо разделить пары обратно в отдельные поля.

  Иначе Вы получите фильм с сильными искажениями в сценах с быстрыми движениями, и управление битпотоком, скорее всего, будет даже не в состоянии поддерживать необходимый уровень битпотока, поскольку артефакты чересстрочной развёртки создают огромное количество мелких деталей и поэтому отнимают большую часть полосы пропускания. Вы можете включить преобразование в построчную развёртку, используя `-vf pp=DEINT_TYPE`. Обычно `pp=lb` работает хорошо, но это уже субъективное мнение. Другие алгоритмы преобразования в построчную развёртку см. на man-странице и попробуйте их.

- Обрежьте пустое пространство. Когда вы захватываете видео, зоны по краям, как правило, черны или содержат просто шум. Это опять съедает часть битпотока. Точнее, это не сами чёрные зоны, а контрастный переход от чёрного к более светлому видео, но это сейчас не важно. Прежде чем Вы начнёте захватывать, подстройте аргументы опции `crop`, чтобы обрезать весь мусор по краям. Ещё раз, не забудьте сохранить получившиеся размеры изображения разумными.

- Отслеживайте загрузку CPU. Она не должна пересекать 90% границу большую часть времени. Если у Вас большой размер буфера захвата, MEncoder переживёт перегрузку в течение нескольких секунд, но не более того. Лучше отключить 3D OpenGL, хранители экрана и другую подобную гадость.

- Не меняйте системные часы. MEncoder использует системные часы для A/V синхронизации. Если Вы переведёте системные часы (особенно назад), MEncoder запутается, и Вы начнёте терять кадры. Это особенно важный вопрос, если Вы подключены к сети и используете какие-нибудь программы синхронизации времени, в духе NTP. Вы должны отключить NTP во время захвата, если Вы действительно хотите сделать хорошую запись.

- Изменяйте значение `outfmt` только если Вы знаете, что Вы делаете, или Ваши карта/драйвер не поддерживают значение по умолчанию (пространство цветов YV12). В старых версиях MPlayer/ MEncoder было необходимо выставлять нужное значение формата вывода. Эта проблема должна быть решена в текущих версиях и опция `outfmt` больше не требуется, поскольку значение по умолчанию подходит в большинстве случаев. Например если Вы будете захватывать в DivX, используя libavcodec и укажете `outfmt=RGB24` для улучшения качества полученного изображения, то Вы увидите, что в действительности, изображение все равно будет перекодировано в YV12, поэтому все что Вы получите, это огромная загрузка CPU.

- Чтобы использовать пространство цветов I420 (`outfmt=i420`), Вы должны указать опцию `-vc rawi420` в связи с конфликтом fourcc с видео кодеком Intel Indeo.

- Есть несколько путей захвата аудио. Вы можете получить звук, либо используя Вашу звуковую карту и внешний кабель, соединяющий видео карту и линейный вход[line-in], либо используя встроенный АЦП на чипе bt878. В этом случае, Вы должны загрузить драйвер btaudio. Читайте файл `linux/Documentation/sound/btaudio` (в дереве ядра, не MPlayer'а) с некоторыми инструкциями по использованию этого драйвера.

- Если MEncoder не может открыть аудио устройство, убедитесь, что оно действительно доступно. Возможны некоторые трудности со звуковыми серверами, например arts (KDE) и esd (GNOME). Если у Вас полнодуплексная звуковая карта (почти все современные карты это поддерживают), и Вы используете KDE, попробуйте отметить галочку "full duplex" в меню настроек звукового сервера.

### Примеры

Фиктивный вывод, AAlib :)

    mplayer -tv driver=dummy:width=640:height=480 -vo aatv://

Ввод со стандартного V4L:

    mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://

Более изощрённый пример. Это заставляет MEncoder захватывать полное PAL изображение, обрезать края и изменить развёртку картинки на построчную, используя алгоритм линейного смешивания. Аудио сжимается до постоянного битпотока 64 кБ/с, используя LAME кодек. Эти установки подходят для захвата фильмов.

    mencoder -tv driver=v4l:width=768:height=576 -oac mp3lame -lameopts cbr:br=64\
         -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
         -vf crop=720:544:24:16,pp=lb -o output.avi tv://

Здесь, изображение будет дополнительно масштабировано до 384x288 и сжато с битпотоком 350 кБ/с в режиме высокого качества. Опция vqmax даёт волю квантайзеру и позволяет компрессору видео действительно достичь столь низкого битпотока, правда ценой качества. Это может быть полезно для захвата длинных TV серий, где качество не особенно важно.

    mencoder -tv driver=v4l:width=768:height=576 \
        -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
        -oac mp3lame -lameopts cbr:br=48 -sws 1 -o output.avi \
        -vf crop=720:540:24:18,pp=lb,scale=384:288 tv://

Также возможно указать меньшие размеры изображения в опции `-tv` и пропустить программное масштабирование, но приведённый подход использует максимальное доступное количество информации и чуть более устойчив к шуму. Чипы bt8x8 из-за аппаратных ограничений могут усреднять пиксели только по горизонтали.

## Телетекст

На данный момент телетекст доступен только в MPlayer для v4l и v4l2 драйверов.

### Замечания реализации

MPlayer поддерживает обычный текст, псевдографику и навигационные ссылки. К сожалению, цветные страницы поддерживаются пока не полностью - все страницы отображаются оттенками серого. Страницы с субтитрами (еще известные как Closed Captions) тоже поддерживаются.

MPlayer начинает кешировать все страницы телетекста с момента начала просмотра TV, так что вам не потребуется ожидать загрузки интересующий страницы.

Замечание: Использование телетекста с `-vo xv` приводит к появлению странных цветов.

### Использование телетекста

Чтобы включить декодирование телетекста, вы должны указать VBI устройство, из которого следует читать данные (обычно `/dev/vbi0` в Linux). Это можно сделать, указав `tdevice` в вашем файле конфигурации:

    tv=tdevice=/dev/vbi0

Вам может потребоваться указать код языка телетекста для вашей страны. Чтобы получить список всех доступных языковых кодов, используйте

    tv=tdevice=/dev/vbi0:tlang=-1

Вот пример для Русского:

    tv=tdevice=/dev/vbi0:tlang=33

## Радио

### Радио вход

В этой секции описывается как включить прослушивание радио при помощи V4L совместимого Радио тюнера. Смотрите man страницу для описания опций и кнопок управления.

#### Компиляция

1. Во-первых, вам необходимо перекомпилировать MPlayer при помощи `./configure` с указанием опций `--enable-radio` и (если хотите включить поддержку записи) `--enable-radio-capture`.

2. Убедитесь, что ваш тюнер работает с другими приложениями в Linux, например XawTV.

#### Советы по использованию

Полный список опций доступен на страницах руководства (man). Вот всего несколько советов:

- Использование `channels` опции. Пример:

      -radio channels=104.4-Sibir,103.9-Maximum

  Объяснение: при указании этой опции, будут доступны только радиостанции 104.4 и 103.9. Кроме того, будет приятный OSD текст при переключении между каналами, отображающий название канала. Пробелы в названиях каналов должны быть заменены символом "_"

- Есть несколько путей захвата аудио. Вы можете получить звук, либо используя Вашу звуковую карту и внешний кабель, соединяющий видео карту и линейный вход[line-in], либо используя встроенный ADC на в чипе saa7134. В этом случае, Вы должны загрузить драйвер saa7134-alsa или saa7134-oss.

- MEncoder не может быть использован для захвата звука, поскольку он требует обязательного наличия видео-потока.Таким образом, вы можете производит захват либо используя программу arecord из проекта ALSA, либо используя `-ao pcm:file=file.wav`. Во втором случае вы не будете слышать ничего во время захвата (за исключение случая, когда вы используете line-in кабель, и слушаете звук непосредственно с линейного входа).

#### Примеры

Вход со стандартного V4L (используя line-in кабель, запись отключена.):

    mplayer radio://104.4

Вход со стандартного V4L (используя line-in кабель, запись отключена. Используется интерфейс V4Lv1):

    mplayer -radio driver=v4l radio://104.4

прослушивание второй радиостанции из списка:

    mplayer -radio channels=104.4=Sibir,103.9=Maximm  radio://2

Получение звука через шину pci с внутреннего ADC радио тюнера. В этом примере тюнер используется как вторая звуковая карта (ALSA устройство hw:1,0). Для карт, основанных на saa7134, либо saa7134-alsa, либо saa7134-oss модуль должен быть загружен.

    mplayer -rawaudio rate=32000 radio://2/capture \
        -radio adevice=hw=1.0:arate=32000:channels=104.4=Sibir,103.9=Maximm

При использовании имен устройств ALSA, двоеточия необходимо заменить на равенства, запятые - на точки.