Mplayer linux как пользоваться

Обновлено: 06.07.2024

Вы любите смотреть фильмы? Я — да: «Теория большого взрыва», «The IT Crowd», разное аниме… Все это очень затягивает.
Для просмотра всего этого добра я пользуюсь консольной версией самого всеядного медиаплеера mplayer. (Давайте воздержимся от холивара по поводу красноглазия и GUI vs консоль) Но вот незадача, для каждой новой серии приходится заново набирать длинную команду вроде такой:

Ясное дело, что я не набираю всю эту простыню с нуля, а просто стираю бэкспейсом до номера серии, пишу новый номер и табом дополняю до конца имени файла. Но это ведь долго и неудобно, можно промахнуться и стереть лишнего.
А еще часто смотрится несколько сериалов параллельно, по мере выхода новых серий. И помнить, на какой серии я остановился в прошлый раз, и с какими параметрами и ключами запускал mplayer, становится затруднительно. И поэтому я решил написать себе на шелле простую запускалку плеера, которая будет запоминать параметры, номер последнего просмотренного эпизода и уметь подставлять номер следующего в команду запуска.

Интерфейс

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

А теперь смотрим:

А если у нас имена эпизодов различаются не только номером серии? Тогда используем подстановку shell:

Пишем

Выставим дефолтные значения, это просто:

Где будем хранить данные о состоянии просмотра? В первую очередь приходит мысль записать это прямо в папку, в которой он лежит, но такой вариант не подойдет, если вы смотрите сериал с компакт-диска, который, как известно, read-only. Также защищенными от записи могут быть сетевые папки (nfs/samba) или просто неправильно настроенные права у торрентокачалки.
Поэтому хранить будем в домашней папке, но идентифицировать сериал будем так же по пути в файловой системе, где эпизоды лежат. Для удобства лучше еще взять от него хэш, чтобы не иметь дела с экранированием всяких спецсимволов, которые могут там встретиться.

Создадим директорию, в которой будем хранить все наши состояния сериалов, если её еще нет:

Определим имя файла, в которое будем записывать:

Вот где-то тут меня посетила шальная мысль, что можно использовать полновесную реляционную базу данных вроде sqlite или еще того тяжелее, mysql, но эту мысль я вовремя отогнал, иначе бы вышел большой монстр вместо простой обертки над мплеером.
Теперь о сериализации: как именно хранить данные? Парсить свежепридуманные форматы на языке bash, который предназначается совершенно для других целей, мне совсем не улыбалось, поэтому я просто решил что там будут переменные окружения в таком же sh-формате.
Давайте загрузим файл, если он уже там есть:

Так, а какие действия мы можем выполнить с сериалом? Я остановился на таких:

Приступим к реализации отдельных действий.
Первым делом стоит проверить, настроили ли мы просмотр этого сериала или нет. Так как это действие выполняется почти в каждой команде, я вынес его в функцию, которая смотрит наличие установленной при загрузке параметров переменной, и в случае отсутствия выводит инструкцию, как же это дело настраивается.

Теперь, собственно, запуск, также отдельной функцией:

Сначала заменим вопросы в названии на текущий номер эпизода:

С подстановкой у меня возникли проблемы: оказывается, в баше это не так-то просто… Перепробовав много вариантов разной степени извращенности, я остановился на таком, хотя если честно, так и не понял как он работает, но побочный эффект его в том, что нужно экранировать пробелы при задании маски:

В комментариях можете предложить варианты получше.

Вернемся к реализации функции запуска launch. Сохраним номер последнего проигранного эпизода (а заодно и дату запуска) в файл настроек:

И наконец запустим наш плеер с параметрами, файлом и дополнительными аргументами, которые может передать пользователь после указания эпизода

Отлично, функция launch готова! Осталось совсем малость: заполнить конструкцию case. Самая простая команда — same:

Для просмотра следующего эпизода нужно инкрементировать переменную, но при этом сохранить отбивку нулями сначала. Для этого подошел awk:

mplayer

sudo apt-get install mplayer

Самый простой способ использования плеера выглядит так:

mplayer <путь к видео файлу>

Я для примера запустил фильм со своего компьютера. Команда выглядит так:

Клавиши управления MPlayer

mplayer-video_154

Для более эффективного использования Mplayer желательно настроить плеер при помощи файла конфигурации, который лежит по адресу

/.mplayer/config
Вот некоторые из настроек:

С разными параметрами плеер может делать кучу полезных вещей. Плеер может очень многое, но приведу лишь некоторые примеры:

Подгружаем субтитры к видео:

mplayer -sub sub/video.avi.srt video.avi

Если русские субтитры были созданы в Windows с кодировкой cp1251, то нужно запустить плеер с параметром:

Плеер может работать с плейлистами. Для начала нужно их создать. Если уже есть готовый плейлист, то команда будет такой:

mplayer -playlist <путь к плейлисту playlist.m3u>

Итак. Создаем плейлист и сразу скармливаем его mplayer. Файл playlist.m3u будет находится в Вашем Домашнем каталоге:

/Music/ -type f -name "*.mp3" -print | sort >

/playlist.m3u && mplayer -playlist

Переход на следующий трек производится клавишей Enter. Такой же плейлист можно сделать и для виде файлов.

Слушаем онлайн радиостанцию:

В данном случае полезными могут оказаться две опции, которые отвечают за кэширование потока:

Мы укажем программе, что кэш будет иметь размер 4456 килобайта и начнет воспроизведение потока не раньше, чем будет заполнено 2% от размера кэша.
Можно также смотреть онлайн фильмы и по надобности использовать ключи, приведенные выше:

Воспроизвести все файлы в каталоге

/Music в случайном порядке:

Можно создавать скриншоты из видео файла. В нужный момент жмем клавишу s и в вашем Домашнем каталоге появится скриншот в формате PNG:

mplayer -vf screenshot video.avi

mplayer -monitoraspect 16:9 Terminator_2.avi

Если во время просмотра фильма звук слишком слабый, то можно использовать параметр -softvol , который будет использовать программный микшер, усиливая звуковую дорожку перед отправкой ее на звуковую карту. Например, попробуем увеличить уровень звука на 50%:

mplayer video.avi -softvol -softvol-max 50

mplayer video.avi -af volume=10

Чтобы узнать какие драйвера поддерживает в вашей системе Mplayer выполните команду:

mplayer -vo help

В итоге вы увидите множество драйверов для вывода видео. Можно экспериментальным путем подобрать нужный драйвер, но на как правило на мощных “машинах” можно и не указывать данный параметр, т.к. тот видеодрайвер, который выберет оптимально Mplayer будет работать отлично. Но вот для слабых компьютеров можно побаловаться с данным параметром.

mplayer -vo x11 video.mpg

gl и gl2 (OpenGL). Производительность выше, чем у x11, но ниже, чем у драйвера xv (X11/Xv)
x11 (X11). Выводит видео в X11 без какого-либо ускорения.
xv (X11/Xv). Предпочтительный драйвер. Выводит видео с использованием хардварного ускорения и дает наилучшую производительность в большинстве случаев.
На этом разрешите откланяться и удачи!

Заметка навеяна постом на eax.me, в котором ведущий блога затрагивает тему изучения английского языка. Надо признаться, что вопрошателем, которым был задан вопрос, ответом на который является указанный по ссылке пост (да-да, русский язык велик и могуч, его сложноподчинённые предложения могут быть сколь угодно длинными), является автор сего блога.

Поэтому сегодня предлагается углубиться в дебри английского разговорного посредством просмотра фильмов с оригинальной озвучкой. Курс взят. Осталось лишь найти фильмы и подобрать видеоплеер для их просмотра.

Как искать

Зачастую большинство из киноманов-любителей не задаётся вопросом проверки качества, подходящего формата фильма и уж тем более наличия/отсутствия в нём субтитров или дополнительных звуковых дорожек. Если же вопросом о дорожках задаться, параметры поиска вырисовываются следующие:

  • DUB обозначает дубляж, то есть перевод
  • Original указывает на наличие оригинальной звуковой дорожки
  • SUB знаменует собой субтитры, на каком языке и в какой кодировке должно быть указано в описании

То есть в названии или описании файла должно быть примерно следующее: Dub + Original + Subs(eng,rus).

Выбор видеопроигрывателя

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

Конечно же, это mplayer.

В случае с Gentoo Linux убедитесь, что включены флаги `sse`, `mmx` и `mmxext`, что должно значительно ускорить работу со звуком и видео.

После чего пересобрать mplayer.

Настройки изменять не обязательно, но на случай, если вас не устраивает стандартное поведение программы, файл конфигурации находится по пути /etc/mplayer/mplayer.conf . Его можно скопировать в домашний каталог (

/.mplayer/config ) и изменить, например, дорожку, используемую по-умолчанию. Вот некоторые опции, которые могут быть полезны нам в данный момент:

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

Привязка клавиш должна соответствовать формату

Выбор звуковой дорожки и субтитров

Для начала узнаем, какие дорожки поддерживает видео. В примере наш фильм именуется The_Interpreter.2005.mkv:

Как видно из вывода, в фильме не оказалось оригинальной звуковой дорожки, но есть субтитры.

Если дорожек несколько, выбираем необходимую и запускаем mplayer с указанием её номера (aid для аудио, sid для субтитров).

Если вы скачали дорожку отдельно, подключить её можно так:

При необходимости можно переключиться на русские субтитры:

The Interpreter

Просмотр можно организовать наиболее удобным для вас способом. Либо смотреть фильм частями по 5-20 минут, сначала оригинал без субтитров, затем с переводом. Важно действительно понять о чём идёт речь вплоть до мельчайших подробностей. Либо (что гораздо лучше) взять английские субтитры, перевести и запомнить незнакомые слова, а затем смотреть фильм, не отвлекаясь на перевод.

Дополнительные настройки mplayer

Дополнительно можно отметить возможность установки таких параметров как масштаб субтитров, вывод видео в X11 или же во фреймбуффере, выбор alsa или pusleaudio для вывода звука, управление кэшированием и прочее.

В случаях, когда звук в фильме воспроизводится слишком тихо и виной тому отнюдь не аудио-дорожка, рекомендуется включить принудительную настройку уровня громкости прямо в mplayer:

Параметр softvol-max принимает значения от 10 до 10000. На уровень громкости эти установки влияют существенно, поэтому не выставляйте сразу слишком большое значение: подбирайте с умом. Также можно « подкрутить » параметры при помощи alsamixer.

Чтобы mplayer запоминал позицию при просмотре фильма можно воспользоваться скриптом mplayer.ext.

Если при просмотре DVD-дисков для вас важно видеть меню навигации, открывайте их так:

Опция mouse-movements позволит выбирать пункты меню при помощи мыши.

mplayer DVD

В целом, это всё. По мелочам пост может быть со временем дополнен и расширен, ибо mplayer имеет ещё много, много возможностей. Хотя вряд ли эта заметка сможет заменить man mplayer , да и незачем.

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

Краткое содержание: Проигрывание видео с FTP и из архивов, сохранение потокового видео на жесткий диск, исключение рекламы из видео-файла, обрезание видео по ширине и высоте, проигрывание DVD со звуком 5.1, программное усиление звука, вырезание звука из видео и другие

Проигрывание файлов с FTP

Mplayer умеет проигрывать видео непосредственно с ftp: Если не получается, то вот другой способ: Опцию -cache можно и не указывать, но, в таком случае, все зависит от пропускной способности вашего Интернет канала.

Проигрывание видео из архивов

Вы можете воспроизводить видео не только с FTP, но и из архивов. Большие архивы с видео файлами долго распаковываются. Но можно смотреть видео и без предварительной распаковки:
Для TAR архивов (gz,bz2,xz): Для RAR архивов команда будет выглядеть так: Для ZIP архивов:

Сохранение потокового видео на жесткий диск

Исключение из видео не нужных частей

В Mplayer есть система EDL, которая позволяет пропускать отдельные куски видео, заглушать звук в нужных местах. Это будет полезно, если вы собираетесь посмотреть с семьей фильм и хотите вырезать сцены насилия, не нормативную лексику, рекламу и другие лишние вещи по вашему мнению.

Чтобы воспользоваться системой EDL, необходимо создать EDL файл. Формат таких файлов предельно прост: Например: Цифры, отвечающие за [действие]: 0 - пропустить видео, 1 - заглушить звук.

Обрезание видео по ширине и высоте, отображение нужного участка видео.

Иногда бывает, что видео содержит части, которые занимают лишнее место на экране. Это могут быть черные полосы вверху и внизу экрана, или ужасные субтитры на китайском, встроенные в видео при рендеринге. Mplayer позволяет обрезать видео по ширине и высоте. Делается это так: С этой командой mplayer отрисует на видео прямоугольник шириной 200 и высотой 300 пикселей, который отдален на 50 пикс. от левого и на 100 пикс. от верхнего краев. Подстраивая эти четыре числа, вы можете подобрать участок видео, который нужно оставить. После этого: Теперь будет воспроизводиться только указанный участок. Такой способ можно использовать и при кодировании видео.

Воспроизведение DVD со звуком 5:1

Mplayer поддерживает звук 5:1, но не использует его по-умолчанию, поскольку оборудование со стерео звуком более распространено. Для воспроизведения видео с несколькими каналами звука, используйте опцию -channels, например, для проигрывания DVD 5:1 : Если у вас имеется такое оборудование, вы можете добавить опцию channels=6 в

/.mplayer/config и она будет задействована каждый раз по-умолчанию.

Эмуляция surround звука в наушниках

Конечно, точная имитация окружающего звука невозможна. Плагин HRTF пытается производить пространственный звук на 2-х канальных наушниках, используя данные с проекта MIT. Он создает особое эхо, изменяет разделение стерео и громкость определенных частот. Не могу сказать, что с HRTF звук получается лучше, чем без него, это дело вкуса. Использование HRTF:

Воспроизведение моно файлов, кодированных как стерео с тишиной в одном канале

Иногда бывают ситуации, когда видео файлы со звуком моно перекодируются по ошибке со стерео звуком и в одном из каналов получается тишина. Самый простой способ заставить воспроизводить звук на обеих колонках, будет таким: Этот способ усредняет оба канала, в результате оба становятся в два раза тише. Чтобы увеличить громкость, можно использовать опцию volume:

Программное усиление звука

Иногда, звук в файлах слишком слабый и, если звуковая карта не умеет аппаратно усиливать сигнал, можно использовать опцию -softvol , с которой Mplayer будет использовать программный микшер, усиливая звуковой сигнал перед отправкой его на звуковую карту. К примеру, следующая команда увеличит максимально допустимую громкость звука на 200%: Не забудьте увеличить громкость с помощью клавиш регулировки громкости - 9 и 0.

Еще один способ. Вы можете воспроизвести файл, увеличив громкость на определенное количество децибел, используя опцию (точнее, плагин) volume. Следующая команда воспроизведет звук с усилением в 10 децибел:

Изменение скорости воспроизведения видео

Изменить скорость проигрывания легко - с помощью опции -speed,, например: Но в этом случае звук тоже изменится. Чтобы звук оставался прежним, но проигрывался с той же скоростью, что и видео, нужно использовать фильтр scaletempo:

Вырезать звук из видео-файла.

Создание скриншотов в Mplayer

Очень просто: В нужный момент жмете клавишу s и в вашей домашней директории создастся скриншот в формате PNG.

Какой Video Output использовать в Mplayer?

Получить список драйверов можно командой Вы увидите довольно много различных драйверов для вывода видео. Но какой же использовать в посведневной жизни?
gl и gl2 (OpenGL). Производительность выше, чем у x11, но ниже, чем у драйвера xv (X11/Xv)
x11 (X11). Выводит видео в X11 без какого-либо ускорения.
xv (X11/Xv). Предпочтительный драйвер. Выводит видео с использованием хардварного ускорения и дает наилучшую производительность в большинстве случаев.

Во второй части "Mplayer. Хитрости и трюки" я опишу, также, несколько экзотических драйверов для вывода видео, таких как AAlib.

Читайте также: