Skip to content

themylogin/theMediaShell

Repository files navigation

theMediaShell

Описание

theMediaShell — это простая выбиралка/смотрелка видео для HTPC. Если вам хочется просто по-линуксовому скачать фильм/сериал с торрентов и посмотреть его через mpv, данная программа вполне может подойти. Её философия такова:

  • Телевизор/проектор 1080p + HTPC на Intel Atom. Я не понимаю как можно пользоваться XBMC на Intel Atom, вся эта красота там тормозит жутко. theMediaShell написан на Qt — тоже не самый производительный вариант, но пользоваться можно вполне комфортно.
  • Клавиатура. Не смог найти адекватных пультов для HTPC по адекватной цене, поэтому купил Logitech K400 и жду такой же, но с подсветкой как в K800.
  • mpv. Лучший плеер для Linux, полностью управляющийся с клавиатуры и через FIFO. Через то, что встроено в XBMC, только экранки с озвучкой Кураж Бамбей можно смотреть, по-моему.

Возможности

Сразу после запуска мы видим нашу фильмотеку (можно прямо папку downloads, видно будет только видео и каталоги с видео):

1 Это просто файловая система. Перемещаемся вверх-вниз стрелочками, открываем-закрываем каталоги ими же, запускаем просмотр Enter'ом. Помимо размера и даты скачивания, у видео, которые смотрели, показывается их длина и место, на котором их в последний раз закрыли (соответственно, запускаются они с этого же места). Видео, просмотренные больше, чем на 85%, выделяются цветом и запускаются с начала.

Просмотр видео идёт через mpv. Сайдбар theMediaShell скрывается и прячется при помощи клавиши O (OSD):

1

В самом верху сайдбара отображается текущее время, а так же значок автоматического выключения ТВ после завершения плейлиста. Включается и выключается этот режим при помощи клавиши P (Power). Скрипт выключения ТВ лежит в hooks/power-off.

Далее идёт список серий и времени их окончания. Те серии, что включены в текущий плейлист, отмечены цветом, управлять плейлистом можно при помощи клавиш A/S, о чём сказано в справке внизу сайдбара. Если опенинги и титры в сериале длинные (но постоянной длины), существует возможность их автоматически проматывать по времени — для этого в конце опенинга нажмите W, а в начале титров — E. Информация об их положении глобальна для всего каталога.

После окончания каждой серии в фоне запускается hooks/post-mpv, в stdin которого пишется JSON, содержащий данные о просмотренном видеофайле. Тот скрипт, что лежит в git, сохраняет эту информацию и скриншоты на мой ныне мёртвый персональный веб-сайт.

Файлы и каталоги можно удалять при помощи клавиши Delete.

На будущее

  • Выбор внешних субтитров, которые mpv автоматически не смог подгрузить
  • Встроенный twitter-клиент с возможностью постинга скриншотов
  • Портирование на Qt 5 (ждём, когда 5.1 станет мейнстримом, т.к. для удерживания английской раскладки нужны Qt X11 Extras). Возможно, тамошняя переписанная QFileSystemModel будет лагать меньше; возможно — нет, и нужно будет искать другой способ для дальнейшего увеличения производительности.

Установка и запуск

Помимо Qt 4, для сборки потребуется libqxt:

qmake
make
./theMediaShell ~/Storage/Torrent/downloads