Смотрим MKV на Apple TV из Plex

Всем привет!

Продолжая цикл Apple-related статей, сегодня хочу поделиться удивительным способом, как можно заставить приставку Apple TV полюбить распространённую ныне матрёшку (MKV) и предоставить ей возможность комфортабельного воспроизведения на большом экране.

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

Итак, что же из себя представляет Apple TV?

Apple TV — цифровой мультимедийный проигрыватель, разработанный компанией Apple, Inc. Современный Apple TV воспроизводит потоковое мультимедиа (фильмы, музыку, подкасты и фотографии) на широкоэкранные ЖК-телевизоры и плазменные панели из библиотеки iTunes, размещенной на компьютерах Mac или PC, интернет-планшетах iPad, плеерах iPod touch, смартфонах iPhone, или с интернет-сервисов: iTunes Store, iCloud, Netflix, YouTube, Vimeo, Flickr (честно взято с Википедии).

Третье поколение приставки, снабжённое фирменным процессором A5 (с заблокированным одним ядром), оказалось весьма мощным, способным без проблем переваривать видеофайлы с разрешением 1080p.

Также у Apple TV есть отличное качество — AirPlay, технология, позволяющая «по воздуху» отправлять аудио- и видео сигнал, например, с айфона и воспроизводить его на экране телевизора (это особенность, кстати, очень популярна у владельцев приставки).

Но несмотря на громкие слова, в понимании простого обывателя у Apple TV есть существенные недостатки, которых лишены классические медиаплееры:
  • к ней нельзя подключить внешний жёсткий USB-диск с фильмами;
  • привычный формат MKV она воспроизводить не умеет, предпочитает MP4 или M4V;
  • для комфортного просмотра, освящённого Apple, фильмы необходимо покупать в онлайн-магазине. Этот пункт, разумеется, спорен

И если во первом и втором поколении приставки проблема воспроизведения сторонних форматов ещё более-менее решалась путём взлома (джейлбрейка) и установки альтернативного программного обеспечения aTV Flash, то 3-е поколение уже оснащено продвинутой защитой, и несмотря на многочисленные анонсы, её сломать ещё не удалось (забегая наперёд — оно и не требуется).

По большому счёту, при наличии учётной записи в iTunes и возможности покупать фильмы, жирного канала, медиасервера в локальной сети проблема совместимости отпадает сама собой… но ведь нам всегда хочется большего, не так ли?

В принципе, производительности ЦПУ приставки хватает, чтобы переваривать видеофайлы, кодированные в H.264 вплоть до 1080p, с профилем High или Main Profile уровня 4.0 или ниже.

Так как большинство BD-рипов в MKV содержат видеодорожки с подобными параметрами кодирования, то иногда хватает просто переупаковать Matroska в M4V, например, при помощи программ Subler или remux. В среде Windows готовить видеофайлы для iTunes-медиатеки лучше всего при помощи MkvToMp4.

А если же лень заниматься медиатекой?

Есть решение!

Как-то в один день в Твитере я заметил ссылку на инструкцию, согласно которой есть возможность подружить Apple TV с медиатекой Plex и воспроизводить видеофайлы (в т.ч. и искомые неконвертированные MKV) с неё. Проект называется PlexConnect.

Сразу предупреждаю, для Plex необходим компьютер для развёртывания хранилища и собственно хранения медиатеки.

Грубо говоря, смысл этого проекта в том, что компьютер выступает как DNS-сервер, — и когда мы открываем «Трейлеры» в экранном меню приставки, пакет PlexConnect перехватывает сетевые запросы по адресу trailers.apple.com и вместо данных с сайта хитрым образом подставляет данные из локальной медиатеки Plex.

Проект основан на Python, поэтому при необходимости его необходимо скачать с официального сайта, разработчик настаивает на версии 2.7.5, не выше!

Если у вас ещё не установлен Plex, скачиваем его с официального сайта и устанавливаем. Медиатеку настраиваем в стандартном режиме, например, по этой инструкции.

С сайта проекта скачиваем пакет PlexConnect и распаковываем его в папку PlexConnect:


У меня в папке — C:\Program Files (x86)\Plex\Plex Connect, рядом с самим Плексом

В файле Settings.py вносим изменения в поле ip_pms, указываем IP-адрес сервера с Plex Media Server.

Также в этом же файле на 23 строке можно указать DNS-адрес вашей сети (по умолчанию используется адрес публичного DNS-сервера Google 8.8.8.8):


Запускаем файл PlexConnect.py.
В случае Мака запускаем Терминал, в нём набираем команды:
cd PlexConnect
 sudo python PlexConnect.py


Убеждаемся, что скрипт запущен:


Для дальнейших шагов необходимо запомнить IP-адрес компьютера с запущенным PlexConnect.

Переключаемся на Apple TV и меняем DNS-сервер на IP-адрес компьютера с запущенным PlexConnect (Настройки — Основные — Сеть — DNS вручную):


Запускаем «Трейлеры»...:


… и убеждаемся, что хак-перехват сработал, и PlexConnect подгружает данные с локальной базы Plex:


Вот самое лучшее доказательство тому:


Посмотрим, скажем, Top Gear, 9 сезон, 1 серия, Хаммонд возвращается:




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


Можно переключаться между субтитрами, если они вшиты в файл:


Вот физиономия Кларксона:


Всегда можно продолжить воспроизведение фильма с места последнего просмотра:


А можно воспользоваться дополнительными фишками типа поиска аналогичного по жанру фильма или фильма с такими же актёрами:


Специально указываю подробные скриншоты — как качественно вписалась медиатека PlexConnect в «родном» интерфейсе Apple TV!

Для автоматизированного заполнения метатегов и обложек фильмов советую установить плагин Кинопоиска.ру, для этого:
  • скачиваем последнюю версию модуля;
  • копируем файл kinopoisk.bundle в папку:
  • при добавлении папок с фильмами в дополнительных настройках указываем в качестве Агента — KinoPoiskRU и русский язык в качестве языка поиска метаданных:
  • также настоятельно рекомендую давать видеофайлам оригинальные названия фильмов, например: Keinohrhasen.mkv (немецкое название фильма определяется безошибочно).


Outro

В заключение хочу сказать, что при корректном заполнении локальной Plex-медиатеки всеми медиатегами (обложки, описания, жанры, актёры и т.д.), данный метод, основанный на обмане Apple TV, позволяет так задействовать возможности приставки, как если бы это было в случае использования полноценной iTunes-медиатеки.

Как видите, данный метод прост в настройке и неприхотлив в эксплуатации, но конечный результат приятно удивит вас, как поразил меня при первом запуске.

Удачи в настройке!

UPDATES

1. Выявлено, что Plex всё же конвертирует на лету данные в несовместимом для Apple формате (например, звуковые дорожки в DTS):


2. Локализация возможна! Скачиваем архив с локализованными файлами и распаковываем поверх имеющихся. На всякий случай советую сделать резервную копию имеющихся файлов. Замещаются файлы из папки assets.

Результат на экране:


Осталось связаться с разработчиком и сообщить ему об этом изменении.

3. Важно: только что прилетвшее обновление прошивки Apple TV 5.3 не ломает функционал, всё работает.


Источник: RSS-лента http://habrahabr.ru/post/183866/

  • 0


1 комментарий

avatar
I used to watch movies, films, seasons and videos by downloading them to my iPad. 90% of the videos are in .avi format so I have faced this problem many times in the past. To fix this issue once in for all, I searched for a media player applications on iTunes that can play an audio or video without any hindrance. So I found PlayerXtreme which plays all audio/video formats including .MKV files.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.