Mplayer linux как пользоваться
Вы любите смотреть фильмы? Я — да: «Теория большого взрыва», «The IT Crowd», разное аниме… Все это очень затягивает.
Для просмотра всего этого добра я пользуюсь консольной версией самого всеядного медиаплеера mplayer. (Давайте воздержимся от холивара по поводу красноглазия и GUI vs консоль) Но вот незадача, для каждой новой серии приходится заново набирать длинную команду вроде такой:
Ясное дело, что я не набираю всю эту простыню с нуля, а просто стираю бэкспейсом до номера серии, пишу новый номер и табом дополняю до конца имени файла. Но это ведь долго и неудобно, можно промахнуться и стереть лишнего.
А еще часто смотрится несколько сериалов параллельно, по мере выхода новых серий. И помнить, на какой серии я остановился в прошлый раз, и с какими параметрами и ключами запускал mplayer, становится затруднительно. И поэтому я решил написать себе на шелле простую запускалку плеера, которая будет запоминать параметры, номер последнего просмотренного эпизода и уметь подставлять номер следующего в команду запуска.
Интерфейс
Для начала определимся, какой интерфейс должен быть у этой обертки.
Номера сериалов практически всегда двузначные, поэтому я не стал заморачиваться с поддержкой однозначных или трехзначных чисел.
Вот так будет выглядеть первоначальная настройка, которую нужно выполнить только один раз:
А теперь смотрим:
А если у нас имена эпизодов различаются не только номером серии? Тогда используем подстановку shell:
Пишем
Выставим дефолтные значения, это просто:
Где будем хранить данные о состоянии просмотра? В первую очередь приходит мысль записать это прямо в папку, в которой он лежит, но такой вариант не подойдет, если вы смотрите сериал с компакт-диска, который, как известно, read-only. Также защищенными от записи могут быть сетевые папки (nfs/samba) или просто неправильно настроенные права у торрентокачалки.
Поэтому хранить будем в домашней папке, но идентифицировать сериал будем так же по пути в файловой системе, где эпизоды лежат. Для удобства лучше еще взять от него хэш, чтобы не иметь дела с экранированием всяких спецсимволов, которые могут там встретиться.
Создадим директорию, в которой будем хранить все наши состояния сериалов, если её еще нет:
Определим имя файла, в которое будем записывать:
Вот где-то тут меня посетила шальная мысль, что можно использовать полновесную реляционную базу данных вроде sqlite или еще того тяжелее, mysql, но эту мысль я вовремя отогнал, иначе бы вышел большой монстр вместо простой обертки над мплеером.
Теперь о сериализации: как именно хранить данные? Парсить свежепридуманные форматы на языке bash, который предназначается совершенно для других целей, мне совсем не улыбалось, поэтому я просто решил что там будут переменные окружения в таком же sh-формате.
Давайте загрузим файл, если он уже там есть:
Так, а какие действия мы можем выполнить с сериалом? Я остановился на таких:
Приступим к реализации отдельных действий.
Первым делом стоит проверить, настроили ли мы просмотр этого сериала или нет. Так как это действие выполняется почти в каждой команде, я вынес его в функцию, которая смотрит наличие установленной при загрузке параметров переменной, и в случае отсутствия выводит инструкцию, как же это дело настраивается.
Теперь, собственно, запуск, также отдельной функцией:
Сначала заменим вопросы в названии на текущий номер эпизода:
С подстановкой у меня возникли проблемы: оказывается, в баше это не так-то просто… Перепробовав много вариантов разной степени извращенности, я остановился на таком, хотя если честно, так и не понял как он работает, но побочный эффект его в том, что нужно экранировать пробелы при задании маски:
В комментариях можете предложить варианты получше.
Вернемся к реализации функции запуска launch. Сохраним номер последнего проигранного эпизода (а заодно и дату запуска) в файл настроек:
И наконец запустим наш плеер с параметрами, файлом и дополнительными аргументами, которые может передать пользователь после указания эпизода
Отлично, функция launch готова! Осталось совсем малость: заполнить конструкцию case. Самая простая команда — same:
Для просмотра следующего эпизода нужно инкрементировать переменную, но при этом сохранить отбивку нулями сначала. Для этого подошел awk:
sudo apt-get install mplayer
Самый простой способ использования плеера выглядит так:
mplayer <путь к видео файлу>
Я для примера запустил фильм со своего компьютера. Команда выглядит так:
Клавиши управления MPlayer
Для более эффективного использования 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 для субтитров).
Если вы скачали дорожку отдельно, подключить её можно так:
При необходимости можно переключиться на русские субтитры:
Просмотр можно организовать наиболее удобным для вас способом. Либо смотреть фильм частями по 5-20 минут, сначала оригинал без субтитров, затем с переводом. Важно действительно понять о чём идёт речь вплоть до мельчайших подробностей. Либо (что гораздо лучше) взять английские субтитры, перевести и запомнить незнакомые слова, а затем смотреть фильм, не отвлекаясь на перевод.
Дополнительные настройки mplayer
Дополнительно можно отметить возможность установки таких параметров как масштаб субтитров, вывод видео в X11 или же во фреймбуффере, выбор alsa или pusleaudio для вывода звука, управление кэшированием и прочее.
В случаях, когда звук в фильме воспроизводится слишком тихо и виной тому отнюдь не аудио-дорожка, рекомендуется включить принудительную настройку уровня громкости прямо в mplayer:
Параметр softvol-max принимает значения от 10 до 10000. На уровень громкости эти установки влияют существенно, поэтому не выставляйте сразу слишком большое значение: подбирайте с умом. Также можно « подкрутить » параметры при помощи alsamixer.
Чтобы mplayer запоминал позицию при просмотре фильма можно воспользоваться скриптом mplayer.ext.
Если при просмотре DVD-дисков для вас важно видеть меню навигации, открывайте их так:
Опция mouse-movements позволит выбирать пункты меню при помощи мыши.
В целом, это всё. По мелочам пост может быть со временем дополнен и расширен, ибо 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.
Читайте также: