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

в 10:27, , рубрики: apple, apple tv, plex, plex connect, SmartTV, Медиаплееры, медиатека, метки: , , ,

Всем привет!

Продолжая цикл 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:
Смотрим MKV на Apple TV из Plex

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

По умолчанию используется адрес публичного DNS-сервера Google 8.8.8.8, но если вы хотите изменить на альтернативный, это делается в файле Settings.py на 20 строке:
Смотрим MKV на Apple TV из Plex

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

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

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

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

Запускаем «Трейлеры»...:
Смотрим MKV на Apple TV из Plex

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

Вот самое лучшее доказательство тому:
Смотрим MKV на Apple TV из Plex

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

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

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

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

Вот физиономия Кларксона:
Смотрим MKV на Apple TV из Plex

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

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

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

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

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

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

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

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

UPDATES

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

2. Локализация возможна! Пункты главного меню PlexConnect русифицируются в файле Plex Connectassetsplexconnect.xml: для этого все значения между тегами <TITLE> меняем их аналогами на русском языке:
Смотрим MKV на Apple TV из Plex

Результат на экране:
Смотрим MKV на Apple TV из Plex

Поиск возможности перевода остальных текстовых сообщений — в процессе.
Выбор звуковой дорожки и субтитров — в файле Plex ConnectassetsselectSubsAndAudio.js
<body><optionList id="selectSubs.optionDialog"><title>Выберите звуковую дорожку</title><items>'; (строка 26)

<body><optionList id="selectSubs.optionDialog"><title>Выберите звуковую дорожку</title><items>'; (строка 50)

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

В-общем, можно полностью локализовать все локализуемые текстовые элементы и связаться с разработчиком для включения в пакет поставки, это действительно просто!

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

Автор: schidakov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js