Смотрим 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 в папку:

~/Library/Application Support/Plex Media Server/Plug-ins/

(для Mac OS X)

C:\Users\_имя локального пользователя_\AppData\Local\Plex Media Server\Plug-ins\

(для Windows)
— при добавлении папок с фильмами в дополнительных настройках указываем в качестве Агента — KinoPoiskRU и русский язык в качестве языка поиска метаданных:

— также настоятельно рекомендую давать видеофайлам оригинальные названия фильмов, например: Keinohrhasen.mkv (немецкое название фильма определяется безошибочно).

Локализация

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

Покопавшись в файлах пакета, обнаружил, что локализовать PlexConnect — проще пареной репы! Скачиваем архив с локализованными файлами и распаковываем поверх существующих. На всякий случай советую сделать резервную копию имеющихся файлов.

Перекодирование

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

Поэтому при подборе аппаратной конфигурации необходимо учитывать и этот факт, что будут пересчитываться нехилые потоки данных. Мой медиасервер основан на процессоре Intel i3, его мощи вполне хватает для беспроблемного просмотра 1080p MKV-файлов с DTS-звуковыми дорожками

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


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

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

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

Подписаться на блог
Поделиться
Отправить
Запинить
2013   Apple
5 комментариев
Oursky

Привет, для полноты возможностей надо добавить еще DNS-IPTV)) 062.075.229.047. Было бы классно если будет возможность привязывать такие днс к плексу

Мурат Шидаков

С ним не экспериментировал, честно :)

Пока хватает Ростелекомовского под боком

Иван Новиков

Привет, есть идея сделать из PlexConnect, который включается в разделе «Трейлеры», что-то необычное. Например, интернет журнал или новостной раздел, но с этим мне понятно. Нужно редактировать XML.
А теперь вопрос.
Как вывести PlexConnect из локальной сети, чтобы другие люди могли подключиться и читать журнал или новости. Нужно сделать по аналогии с Unlimovie.tv, но только вместо фильмов и IPTV, там будут новости или журнал.
P.S.
Почту я указал. Думаю, по почте будет легче подумать над реализацией.

Кирилл

Всю голову откомпостировал, не получается у меня. В терминале совсем другое пишет!!!
Как побороть ситуацию.
А кто нибудь знает aTV2 может битрейд 24 или выше (32bit) у музыки передавать с домашней библиотеки на ресивер?

Кирилл

[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]
00:30:13 PlexConnect: Host OS: darwin
00:30:13 PlexConnect: PILBackgrounds: Is PIL installed? False
00:30:13 PlexConnect: IP_self: 192.168.0.188
00:30:13 DNSServer: started: 00:30:13
00:30:13 DNSServer: Failed to create socket on UDP port 53: [Errno 48] Address already in use
00:30:13 PlexConnect: DNSServer not alive. Shutting down.
00:30:13 PlexConnect: Shutting down.
00:30:13 PlexConnect: shutdown
00:30:13 PlexConnect: shutdown
PerunMac:PlexConnect Mac$

Alan bill

I would like to share my experience regarding etc. media players. In the past recent, I have used one or two media players but not satisfied with their results. I have tried a media player named PlayerXtreme and found the app very amazing. It gives a pleasure to watch anything from anywhere if They are in any format and also you can cast a video on your apple tv through its chromecast and airplay feature. It gives a Smooth playback HD 1080 and useful boosts volume up to three times the original sound for watching movies, movies without headphones. You can crop and save video clip of your choice while watching a movie or video. In my point of view Player Xtreme is one of the best media player in both iOS and Android, try this app and turn your mobile phone into a mini theater.

Ваш комментарий
адрес не будет опубликован


Ctrl + Enter
Популярное