Протокол подчиненного режима
Опция -slave включает подчиненный режим, в котором MPlayer работает как бэкэнд для других программ.
Вместо того, чтобы перехватывать события клавиатуры, MPlayer будет читать команды,
разделенные символом новой строки (\ n) из стандартного ввода.
Чтобы попробовать режим подчиненного вручную, запустите
mplayer -slave -quiet <movie>
и введите подчиненные команды в окне консоли.
Вы также можете использовать файл FIFO (именованный канал):
mkfifo </tmp/fifofile>
mplayer -slave -input file=</tmp/fifofile> <movie>
Большинство команд режима slave эквивалентны параметрам командной строки, но не обязательно под тем же именем.
Подробные описания можно найти на странице руководства.
Все команды могут иметь один из префиксов: "pausing ", "pausing_keep ", или же "pausing_toggle ".
"pausing " говорит MPlayer сделать паузу как можно скорее после обработки команды.
"pausing_keep " говорит MPlayer сделать это, только если он уже был в режиме паузы.
"pausing_toggle " говорит MPlayer сделать это, только если он еще не был в режиме паузы.
Обратите внимание, что «как можно скорее» может быть до того, как команда будет полностью выполнена.
В качестве временного хака есть также префикс _experimental_ "pausing_keep_force",
с которым MPlayer вообще не будет выходить из цикла паузы.
Таким образом, вы можете избежать эффекта «пошагового изменения кадра» в «pausing_keep»,
но большинство команд либо не будут работать вообще, либо будут вести себя неожиданным образом.
Для "set_mouse_pos" и "key_down_event" "pausing_keep_force" является значением по умолчанию,
так как другие значения не имеют для них большого смысла.
Различные советы и рекомендации (пожалуйста, помогите расширить его!):
- Попробуйте использовать что-то вроде
pausing_keep_force pt_step 1
get_property pause
для переключения на следующий файл. Это позволяет избежать воспроизведения
аудио, начиная с короткого времени, чтобы воспроизвести старый файл перед переключением на новый.
- Чтобы убедиться, что пользователь не может контролировать MPlayer «за вашей спиной», используйте что-то вроде -input nodefault-bindings -noconfig all
Доступные команды ('mplayer -input cmdlist' выведет список):
af_add <список аргументов фильтра> (разделенный запятыми список аудио фильтров с параметрами)
(экспериментальный) Загрузить указанный список аудио фильтров.
af_clr
(экспериментально) Выгрузить все загруженные аудио фильтры.
af_cmdline <имя фильтра> <аргументы фильтра>
(экспериментальный) Отправить новые параметры командной строки в фильтр с указанным именем.
af_del <список имен фильтров> (список имен аудиофильтров через запятую)
(экспериментально) Выгрузить первое вхождение фильтров, если они загружены.
af_switch <список аргументов фильтра> (разделенный запятыми список аудио фильтров с параметрами)
(экспериментально) Удалить все аудио фильтры и заменить их указанным списком.
alt_src_step <значение> (Только список воспроизведения ASX)
Когда доступно более одного источника, он выбирает следующий/предыдущий.
audio_delay <значение> [abs]
Установить/настроить задержку звука.
Если значение [abs] не указано или равно нулю, настроить задержку на <значение> секунд.
Если [abs] не равно нулю, установить задержку в < значение> секунд.
[brightness|contrast|gamma|hue|saturation] <значение> [abs]
Установить/настроить параметры видео.
Если [abs] не задано или равно нулю, изменяет параметр на <значение>.
Если [abs] не равен нулю, для параметра установиться <значение>.
<значение> находится в диапазоне [-100, 100].
capturing [value]
Переключить/установить захват первичного потока, например -dumpstream.
Требуется параметр -capture.
change_rectangle <val1> <val2>
Измените положение прямоугольника фильтра прямоугольника.
<val1> Должно быть одно из следующего:
- 0 = ширина
- 1 = высота
- 2 = х позиция
- 3 = y позиция
<val2>
Если <val1> равен 0 или 1:
- Целое число, которое нужно сложить/вычесть из ширины/высоты.
- Positive values add to width/height and negative values subtract from it.
Если <val1> равен 2 или 3:
- Относительное целое число, на которое можно переместить левый верхний угол прямоугольника.
- Положительные значения перемещают прямоугольник вправо / вниз, а отрицательные-влево/вверх.
dvb_set_channel <номер канала> <номер карты>
Установить канал DVB.
dvdnav <название кнопки>
Нажать данную кнопку dvdnav.
- up
- down
- left
- right
- menu
- select
- prev
- mouse
edl_loadfile <имя файла>
Загрузить новый файл EDL.
edl_mark
Записать текущую позицию в файл EDL.
frame_drop [value]
Переключить / установить режим сброса кадров.
get_audio_bitrate
Вывести битрейт текущего файла.
get_audio_codec
Вывести имя аудиокодека текущего файла.
get_audio_samples
Вывести частоту звука и количество каналов текущего файла.
get_file_name
Вывести имя текущего файла.
get_meta_album
Вывести метаданные "Альбом" текущего файла.
get_meta_artist
Вывести метаданные 'Артист' текущего файла.
get_meta_comment
Вывести метаданные 'Комментарий' текущего файла.
get_meta_genre
Вывести метаданные "Жанр" текущего файла.
get_meta_title
Вывести метаданные 'Название' текущего файла.
get_meta_track
Вывести метаданные 'Номер дорожки' текущего файла.
get_meta_year
Вывести метаданные "Год" текущего файла.
get_percent_pos
Вывести текущую позицию в файле в виде целого процента [0-100).
get_property <property>
Вывести текущее значение свойства.
get_sub_visibility
Вывести видимость субтитров (1 == вкл, 0 = выкл).
get_time_length
Вывести длину текущего файла в секундах.
get_time_pos
Вывести текущую позицию в файле в секундах, как float.
get_vo_fullscreen
Вывести полноэкранный статус (1 == полноэкранный, 0 == оконный).
get_video_bitrate
Вывести битрейт видео текущего файла.
get_video_codec
Вывести имя видеокодека текущего файла.
get_video_resolution
Вывести разрешение видео текущего файла.
gui <Сообщение>
Отправить сообщение оболочки графического интерфейса пользователя <Сообщение>.
(См. документацию по коже на сообщениях GUI для подробностей.)
screenshot <значение>
Сделать снимок экрана. Требуется загрузить фильтр скриншотов.
0 Сделай один скриншот.
1 Начать/остановить снимок экрана каждого кадра.
key_down_event <значение>
Вставить <значение> событие кода ключа в MPlayer.
loadfile <файл|url> <добавлять>
Загрузить данный файл/URL, остановив воспроизведение текущего файла / URL.
Если <добавлять> не равен нулю, воспроизведение продолжается, и вместо этого файл/URL добавляется в текущий список воспроизведения.
loadlist <файл> <добавлять>
Загрузитю данный файл списка воспроизведения, остановив воспроизведение текущего файла.
Если <добавлять> не равен нулю, воспроизведение продолжается и файл списка воспроизведения
добавляется в текущий список воспроизведения.
loop <значение> [abs]
Отрегулировать/установить, сколько раз фильм должен быть зациклен.
-1 означает отсутствие цикла и 0 навсегда.
menu <команда>
Выполнить команду экранного меню.
up Переместить курсор вверх.
down Переместить курсор вниз.
ok Принить выбор.
cancel Отменить выбор.
hide Скрыть экранное меню.
set_menu <название меню>
Отображение меню <название меню>.
mute [value]
Отключение звука или установка [value] при [value] >= 0
(1 == on, 0 == off).
osd [уровень]
Переключить режим экранного меню или установить его в [уровень], когда [уровень] >= 0.
osd_show_progression
Показать строку прогрессии, затраченное время и общую продолжительность фильма на экранном меню.
osd_show_property_text <строка> [продолжительность] [уровень]
Показать развернутую строку свойств в экранном меню, см.-playing-msg для описания доступных расширений.
Если [продолжительность] > = 0, то текст отображается в течение [продолжительность] МС.
[уровень] устанавливает минимальный уровень экранного меню, необходимый для отображения сообщения (по умолчанию: 0 - всегда показывать).
osd_show_text <строка> [продолжительность] [уровень]
Показать <строка> на экранном меню.
panscan <-1.0 - 1.0> | <0.0 - 1.0> <abs>
Увеличьте или уменьшите диапазон панорамирования и сканирования на <значение>, 1.0 - максимум.
Отрицательные значения уменьшают диапазон панорамирования и сканирования.
Если <abs> != 0, то диапазон панорамирования и сканирования интерпретируется как абсолютный диапазон.
pause
Приостановить/возобновить воспроизведение.
frame_step
Воспроизвести один кадр, затем снова сделать паузу.
pt_step <значение> [принудительно]
Перейти к следующей/предыдущей записи в игровом дереве. Знак <значение> указывает направление.
Если в заданном направлении запись недоступна, она ничего не будет делать, если [принудительно] не равно нулю.
pt_up_step <значение> [принудительно]
Аналогичен pt_step, но переходит к следующей / предыдущей записи в родительском списке.
Полезно чтобы вырваться из внутреннего цикла в игровом дереве.
quit [значение]
Выйти из MPlayer. Необязательное целое число [значение] используется в качестве кода возврата для процесса mplayer (по умолчанию: 0).
radio_set_channel <канал>
Переключиться на <канал>. Параметр радио 'channels' должен быть установлен.
radio_set_freq <частота в Мгц>
Установить частоту радио тюнера.
radio_step_channel <-1|1>
Шаг вперед (1) или назад (-1) в списке каналов. Работает только когда был установлен радиопараметр 'channels'.
radio_step_freq <значение>
Настройка частоты по <значение > (положительный-вверх, отрицательный-вниз).
seek <значение> [type]
Искать какое-то место в фильме.
- 0 - относительный поиск +/- <значение> секунд (по умолчанию).
- 1 - это поиск значения <значение>% в фильме.
- 2 - это поиск абсолютной позиции в <значение> секунд.
seek_chapter <значение> [type]
Обратиться к началу главы.
- 0 - относительный поиск глав +/- <значение> (по умолчанию).
- 1 - это поиск главы <значение>.
switch_angle <значение>
Переключиться на угол с идентификатором [значение].
Циклически перебирать доступные углы, если [значение] опущено или отрицательно.
set_mouse_pos <x> <y>
Сообщает MPlayer координаты мыши в окне.
Эта команда не перемещает мышь!
set_property <свойство> <значение>
Задать свойство.
speed_incr <значение>
Добавить <значение> к текущей скорости воспроизведения.
speed_mult <значение>
Умножить текущую скорость на <значение>.
speed_set <значение>
Установить скорость в <значение>.
step_property <свойство> [значение] [направление]
Изменить свойство по значению или увеличить значение по умолчанию, если значение не задано или равно нулю.
Направление меняется на противоположное, если направление меньше нуля.
stop
Остановить воспроизведение.
sub_alignment [значение]
Переключение/установка выравнивания субтитров.
- 0 выравнивание сверху
- 1 выравнивание по центру
- 2 по нижнему краю
sub_delay <значение> [abs]
Отрегулировать задержку субтитров на +/-<значение > секунд или установить ее в <значение> секунд, если [ABS ]не равно нулю.
sub_load <subtitle_file>
Загружает субтитры из <subtitle_file>.
sub_log
Записывает текущий или последний отображаемый субтитр вместе с именем файла и информацией о времени в ~/.mplayer/subtitle_log.
Предназначение состоит в том, чтобы обеспечить удобную маркировку фиктивных субтитров, которые должны быть исправлены во время просмотра фильма.
sub_pos <значение> [abs]
Настройка/установка положения субтитров.
sub_remove [значение]
Если аргумент [значение] присутствует и неотрицателен, удаляет файл субтитров с индексом [значение].
Если аргумент опущен или отрицательный, удаляются все файлы субтитров.
sub_select [значение]
Показать субтитры с индексом [значение]. Отключить отображение субтитров, если значение [значение] равно -1 или больше, чем самый высокий доступный индекс субтитров.
Циклически перебирать доступные субтитры, если [значение] опущено или меньше -1 (соответственно вперед или назад).
Поддерживаемыми источниками субтитров являются параметры -sub в командной строке, VOBsubs, субтитры DVD и текстовые потоки Ogg и Matroska.
Эта команда в основном предназначена для циклического воспроизведения всех субтитров, если вы хотите установить определенный субтитр, используйте sub_file, sub_vob или sub_demux.
sub_source [источник]
Показать первый субтитр из [источник]. Здесь [источник] - целое число:
- SUB_SOURCE_SUBS (0) для вложенных файлов
- SUB_SOURCE_VOBSUB (1) для файлов VOBsub
- SUB_SOURCE_DEMUX (2) для субтитров, встроенных в файл мультимедиа или DVD-субтитры.
- Если значение [источник] равно -1, отображение субтитров отключается.
- Если значение [источник] опущено или меньше -1, будет выполняться цикл между первым подзаголовком каждого доступного в данный момент источника (вперед или назад соответственно).
sub_file [значение]
Отображать субтитры, заданные [значение] для файлов субтитров. [значение] соответствует значениям ID_FILE_SUB_ID, сообщаемым '-identify'.
- Если [значение] равно -1, отключится отображение субтитров.
- Если [значение] опущено или меньше -1, будут циклически повторяться все субтитров файла (соответственно вперед или назад).
sub_vob [значение]
Отобразить субтитры, указанные в [значение] для VOBsubs. [Значение] соответствует значениям ID_VOBSUB_ID, сообщаемым '-identify'.
- Если [значение] равно -1, отключится отображение субтитров.
- Если [значение] опущено или меньше -1, будет выполнено циклическое переключение всех VOBsubs (вперед или назад соответственно).
sub_demux [значение]
Отображать субтитры, заданные [значение] для субтитров с DVD или встроенные в медиа-файл.
- [Значение] соответствует значениям ID_SUBTITLE_ID, сообщаемым '-identify'.
- Если [значение] равно -1, отключится отображение субтитров.
- Если [значение] опущено или меньше -1, будут циклически переключаться все субтитры DVD или встроенные субтитры (соответственно вперед или назад).
sub_scale <значение> [abs]
Отрегулировать размер субтитров с помощью +/- <значение> или установите для него значение <значение>, когда [abs] не равно нулю.
vobsub_lang
Это заглушка, связанная с sub_select для обратной совместимости.
sub_step <значение>
Шаг вперед в списке субтитров на <значение> шагов или назад, если <значение> отрицательно.
sub_visibility [значение]
Переключить/установить видимость субтитров.
forced_subs_only [значение]
Переключать/устанавливать только принудительные субтитры.
switch_audio [значение] (в настоящее время MPEG *, AVI, Matroska и потоки обрабатываются libavformat)
Переключиться на звуковую дорожку с идентификатором [значение].
Циклически перебирает доступные дорожки, если [значение] опущено или отрицательно.
switch_angle [значение] (Только DVD)
Переключиться на угол DVD с помощью идентификатора [значение].
Переберать доступные углы, если [значение] опущено или отрицательно.
switch_ratio [значение]
- Изменить соотношение сторон во время выполнения. [значение] - это новое соотношение сторон, выраженное в виде числа с плавающей запятой (например, 1,77778 для 16/9),
- или специальное значение -1, чтобы восстановить исходное соотношение сторон (то же самое, если [значение] отсутствует),
- или специальное значение 0, чтобы отключить автоматическую компенсацию соотношения сторон видео.
Могут быть проблемы с некоторыми видеофильтрами.
switch_title [значение] (Только DVDNAV)
Переключиться на заголовок DVD с идентификатором [значение]. Циклически перебирать доступные заголовки, если [значение] опущено или отрицательно.
switch_vsync [значение]
Переключить vsync (1 == включено, 0 == выключено). Если [значение] не указано, состояние vsync инвертируется.
teletext_add_digit <значение>
Войти/выйти из режима редактирования номера страницы телетекста и добавьте данную цифру к ранее введенной.
0..9 - Добавить соответствующую цифру. (Включает режим редактирования, если вызывается из обычного режима, и переключается в обычный режим при вводе третьей цифры.)
- - Удалить последнюю цифру из номера страницы. (Эмуляция Backspace, работает только в режиме редактирования номера страницы.)
teletext_go_link <1-6>
Перейти по данной ссылке на текущей странице телетекста.
tv_start_scan
Запустить автоматическое сканирование телеканалов.
tv_step_channel <канал>
Выбрать следующий/предыдущий телеканал.
tv_step_norm
Смена ТВ норм.
tv_step_chanlist
Изменить список каналов.
tv_set_channel <канал>
Установить текущий телеканал.
tv_last_channel
Установить текущий телевизионный канал на последний.
tv_set_freq <частота в МГц>
Установить частоту ТВ-тюнера.
tv_step_freq <сдвиг частоты в МГц>
Установить частоту ТВ-тюнера относительно текущего значения.
tv_set_norm <норма>
Установите норму ТВ-тюнера (PAL, SECAM, NTSC, ...).
tv_set_brightness <-100 - 100> [abs]
Установить яркость ТВ-тюнера или отрегулировать его, если [abs] установлено на 0.
tv_set_contrast <-100 -100> [abs]
Установить контрастность ТВ-тюнера или отрегулировать его, если [abs] установлено на 0.
tv_set_hue <-100 - 100> [abs]
Установить оттенок ТВ-тюнера или настроить его, если [abs] установлено на 0.
tv_set_saturation <-100 - 100> [abs]
Установить насыщенность ТВ-тюнера или отрегулировать ее, если [abs] установлено на 0.
use_master
Переключить регулятор громкости между мастером и PCM.
vo_border [значение]
Переключить/установить отображение без полей.
vo_fullscreen [значение]
Переключить/установить полноэкранный режим.
vo_ontop [значение]
Переключатить/установить пребывание на вершине.
vo_rootwin [значение]
Переключить/установить воспроизведение в корневом окне.
volume <значение> [abs]
Увеличить/уменьшить громкость или установите значение <значение>, если [abs] не равно нулю.
overlay_add <файл> <id> <x> <y> <цвет>
Добавить наложение растрового изображения. <файл> должен быть PGM-файлом без комментариев.
<id> произвольное целое число, используемое для идентификации наложения.
overlay_remove <id>
Удалите все наложения, обозначенные <id>.
Следующие команды действительно полезны только для режима консоли экранного меню:
help
Отображает текст справки, в настоящее время пустой.
exit
Выход из консоли экранного меню. В отличие от 'quit', не завершает работу MPlayer.
hide
Скрывает консоль экранного меню. Нажав на команду меню, вы увидите ее. Другие сочетания клавиш действуют как обычно.
run <строка>
Запустить <строка> со свойствами, расширенными как команда оболочки. В режиме консоли экранного меню stdout и stdin через драйвер вывода видео.
Расширение свойства происходит так же, как и для osd_show_property_text.
Примечание: MPlayer выполнит раскрытие свойства в любом виде ${somevar}, прежде чем оно будет передано в оболочку.
Это означает, что вы не можете использовать этот синтаксис для всего, что вы хотите, чтобы оболочка обрабатывала,
хотя любая другая форма, например $somevar, будет передана и обработана оболочкой.
пример:
run "echo ${filename} ${stream_pos} >> <path_to_file>"
Доступные свойства:
name |
type |
min |
max |
get |
set |
step |
comment |
osdlevel |
int |
0 |
3 |
X |
X |
X |
как -osdlevel |
speed |
float |
0.01 |
100 |
X |
X |
X |
как скорость |
loop |
int |
-1 |
X |
как -loop |
|||
pause |
flag |
0 |
1 |
X |
1, если приостановлено, используйте с pausing_keep_force |
||
filename |
string |
X |
Файл воспроизведение без пути |
||||
path |
string |
X |
Файл воспроизведение |
||||
demuxer |
string |
X |
используется демультиплексор |
||||
stream_pos |
pos |
0 |
X |
X |
положение в потоке |
||
stream_start |
pos |
0 |
X |
стартовая позиция в потоке |
|||
stream_end |
pos |
0 |
X |
конечная позиция в потоке |
|||
stream_length |
pos |
0 |
X |
(конец - начало) |
|||
stream_time_pos |
time |
0 |
X |
текущее положение в потоке (в секундах) |
|||
titles |
int |
X |
количество названий |
||||
chapter |
int |
0 |
X |
X |
X |
выбранная глава |
|
chapters |
int |
X |
количество глав |
||||
angle |
int |
0 |
X |
X |
X |
выбранный угол |
|
length |
time |
X |
длина файла в секундах |
||||
percent_pos |
int |
0 |
100 |
X |
X |
X |
позиция в процентах |
time_pos |
time |
0 |
X |
X |
X |
позиция в секундах |
|
metadata |
str list |
X |
список ключей/значений метаданных |
||||
metadata/* |
string |
X |
значение метаданных |
||||
volume |
float |
0 |
100 |
X |
X |
X |
изменить громкость |
balance |
float |
-1 |
1 |
X |
X |
X |
изменение баланса звука |
mute |
flag |
0 |
1 |
X |
X |
X |
|
audio_delay |
float |
-100 |
100 |
X |
X |
X |
|
audio_format |
int |
X |
|||||
audio_codec |
string |
X |
|||||
audio_bitrate |
int |
X |
|||||
samplerate |
int |
X |
|||||
channels |
int |
X |
|||||
switch_audio |
int |
-2 |
255 |
X |
X |
X |
выбрать аудио-поток |
switch_angle |
int |
-2 |
255 |
X |
X |
X |
выбрать угол DVD |
switch_title |
int |
-2 |
255 |
X |
X |
X |
выбрать название DVD |
capturing |
flag |
0 |
1 |
X |
X |
X |
дамп основного потока, если включен |
fullscreen |
flag |
0 |
1 |
X |
X |
X |
|
deinterlace |
flag |
0 |
1 |
X |
X |
X |
|
ontop |
flag |
0 |
1 |
X |
X |
X |
|
rootwin |
flag |
0 |
1 |
X |
X |
X |
|
border |
flag |
0 |
1 |
X |
X |
X |
|
framedropping |
int |
0 |
2 |
X |
X |
X |
1 = soft, 2 = hard |
gamma |
int |
-100 |
100 |
X |
X |
X |
|
brightness |
int |
-100 |
100 |
X |
X |
X |
|
contrast |
int |
-100 |
100 |
X |
X |
X |
|
saturation |
int |
-100 |
100 |
X |
X |
X |
|
hue |
int |
-100 |
100 |
X |
X |
X |
|
panscan |
float |
0 |
1 |
X |
X |
X |
|
vsync |
flag |
0 |
1 |
X |
X |
X |
|
video_format |
int |
X |
|||||
video_codec |
string |
X |
|||||
video_bitrate |
int |
X |
|||||
width |
int |
X |
ширина дисплея |
||||
int |
X |
высота дисплея |
|||||
fps |
float |
X |
|||||
aspect |
float |
X |
|||||
switch_video |
int |
-2 |
255 |
X |
X |
X |
выбрать видео поток |
switch_program |
int |
-1 |
65535 |
X |
X |
X |
(см. TAB по умолчанию связывание клавиш) |
sub |
int |
-1 |
X |
X |
X |
выбрать поток субтитров |
|
sub_source |
int |
-1 |
2 |
X |
X |
X |
выбрать источник субтитров |
sub_file |
int |
-1 |
X |
X |
X |
выбрать файл субтитры |
|
sub_vob |
int |
-1 |
X |
X |
X |
выбрать VOBsubs |
|
sub_demux |
int |
-1 |
X |
X |
X |
выбрать субтитры из demux |
|
sub_delay |
float |
X |
X |
X |
|||
sub_pos |
int |
0 |
100 |
X |
X |
X |
положение субтитров |
sub_alignment |
int |
0 |
2 |
X |
X |
X |
выравнивание субтитров |
sub_visibility |
flag |
0 |
1 |
X |
X |
X |
показать/скрыть субтитры |
sub_forced_only |
flag |
0 |
1 |
X |
X |
X |
|
sub_scale |
float |
0 |
100 |
X |
X |
X |
размер шрифта субтитров |
tv_brightness |
int |
-100 |
100 |
X |
X |
X |
|
tv_contrast |
int |
-100 |
100 |
X |
X |
X |
|
tv_saturation |
int |
-100 |
100 |
X |
X |
X |
|
tv_hue |
int |
-100 |
100 |
X |
X |
X |
|
teletext_page |
int |
0 |
799 |
X |
X |
X |
|
teletext_subpage |
int |
0 |
64 |
X |
X |
X |
|
teletext_mode |
flag |
0 |
1 |
X |
X |
X |
0 - выкл, 1 - вкл |
teletext_format |
int |
0 |
3 |
X |
X |
X |
0 - непрозрачный, |
teletext_half_page |
int |
0 |
2 |
X |
X |
X |
0 - выключен, 1 - верхняя половина, |