3.2. Управление

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

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

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

Пример 3.1. Простой файл конфигурации ввода

##
## 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

3.2.1.1. Названия кнопок

Вы можете получить полный список, запустив mplayer -input keylist.

Клавиатура

  • Все печатные символы
  • SPACE
  • ENTER
  • TAB
  • CTRL
  • BS
  • DEL
  • INS
  • HOME
  • END
  • PGUP
  • PGDWN
  • ESC
  • RIGHT
  • LEFT
  • UP
  • DOWN

Мышь (поддерживается только под X'ами)

  • MOUSE_BTN0 (Левая кнопка)
  • MOUSE_BTN1 (Правая кнопка)
  • MOUSE_BTN2 (Средняя кнопка)
  • MOUSE_BTN3 (Колёсико)
  • MOUSE_BTN4 (Колёсико)
  • ...
  • MOUSE_BTN9

Джойстик (поддержка должна быть включена при компиляции)

  • JOY_RIGHT или JOY_AXIS0_PLUS
  • JOY_LEFT или JOY_AXIS0_MINUS
  • JOY_UP или JOY_AXIS1_MINUS
  • JOY_DOWN или JOY_AXIS1_PLUS
  • JOY_AXIS2_PLUS
  • JOY_AXIS2_MINUS
  • ...
  • JOY_AXIS9_PLUS
  • JOY_AXIS9_MINUS

3.2.1.2. Команды

Вы можете получить полный список известных команд, запустив mplayer -input cmdlist.

  • seek (int) val [(int) type=0]

    Переместиться в какое-то место фильма. Type 0 — это относительное перемещение на +/- величина секунд. Type 1 — это перемещение к val, выраженному в процентах от длины фильма.

  • audio_delay (float) val

    Подстроить задержку звука на заданное количество секунд

  • quit

    Выйти из MPlayer

  • pause

    остановить/продолжить воспроизведение

  • grap_frames

    Кто-нибудь знает ?

  • pt_step (int) val [(int) force=0]

    Перейти к следующему/предыдущему элементу дерева. Знак val указывает направление. Если в этом направлении нет доступных элементов, то ничего не произойдёт, если force равно нулю.

  • pt_up_step (int) val [(int) force=0]

    Почти как pt_step, но перемещается на следующий/предыдущий элемент в родительском списке. Полезно, чтобы выйти из внутреннего цикла в дереве.

  • alt_src_step (int) val

    Если доступно более одного источника, выбирает следующий/предыдущий (поддерживается только в asx списках проигрывания).

  • sub_delay (float) val [(int) abs=0]

    Подстройка задержки субтитров на +/- val секунд или установить в val секунд, если abs не ноль.

  • osd [(int) level=-1]

    Переключить osd режим или установить его в level, если level > 0.

  • volume (int) dir

    Увеличить/уменьшить громкость.

  • contrast (int) val [(int) abs=0]
  • brightness (int) val [(int) abs=0]
  • hue (int) val [(int) abs=0]
  • saturation (int) val [(int) abs=0]

    Установить/подстроить параметры видео. Val изменяется от -100 до 100.

  • frame_drop [(int) type=-1]

    Изменить/установить режим пропуска кадров.

  • sub_visibility

    Отрегулировать видимость субтитров.

  • sub_pos (int) val

    Подстроить позицию субтитров.

  • vobsub_lang

    Изменить язык VOBsub субтитров.

  • vo_fullscreen

    Переключить полноэкранность режима.

  • vo_ontop

    Переключает stay-on-top(оставаться на поверхности). Поддерживается всеми драйверами, использующими X11, кроме SDL, и directx, и gl2 под Windows.

  • tv_step_channel (int) dir

    Выбрать следующий/предыдущий канал.

  • tv_step_norm

    Изменить стандарт TV.

  • tv_step_chanlist

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

  • gui_loadfile
  • gui_loadsubtitle
  • gui_about
  • gui_play
  • gui_stop
  • gui_playlist
  • gui_preferences
  • gui_skinbrowser

    Действия с GUI

3.2.2. Управление через 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, чтобы указать другой файл.

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

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