Plex media server для apple tv

Plex Blog

Plex on the new Apple TV!

Note: The Plex app requires the new fourth generation Apple TV, as Apple does not make the app store available on older models of the device.

There truly isn’t any other platform we’ve wanted to be on for as long as we have the Apple TV. Today’s the day, and we’re celebrating. The app is free in the app store for everyone, and requires the latest media server (note: you may need to download and install the very latest server manually for now on certain NAS devices).

First released way back in 2007 (the same year Plex started), the original Apple TV didn’t support any apps beyond the ones Apple provided. Three years later, in 2010, the second generation of the device was released and subsequently jailbroken, and a barebones third party Plex app was written. It was by no means easy to install, but it was technically impressive, and we ended up hiring both of the main people involved with the project.

Three years later, people discovered a way to run custom Apple TV “channels” on the device. Channels were the official way content partners added apps to the device, written in a custom markup language and Javascript. Coupled with a rather silly DNS trick, you could run the Trailers app on the Apple TV and have it run your custom channel. Enter three smart guys (and a surprising dearth of Frankincense) and all of a sudden it was possible to run a Plex app on a device without any jailbreaking. Over the years, Plex Connect was heavily developed, with a large user base.

Now over the years, we heard numerous rumors that Apple was going to open up their platform, and add a real app store. Every single WWDC the rumors heated up, we got excited (along with half the Internet), and then our hopes ended up dashed on some fairly sharp rocks. With no rum.

That being said, an app store on the device seemed an inevitability. Roku, Google TV, Android TV (essentially every other top streaming device) had them. How long could Apple hold out?

Turns out, until about 6 weeks ago.

The instant the fourth generation Apple TV was announced with an app store, we here at Plex pumped our fists in the air with excitement, as we raced to download the new Xcode and read the developer documentation. Our immediate goal was to be on the platform at launch, which means we didn’t have much time. What we did have was a clean modern iOS codebase for our new app.

Before we pull back the curtain on a few technical details around how we got here, let’s take a minute to appreciate this great-looking new app:

Читайте также:  Iphone 12 pro max ггц












We had some tough choices to make. The new platform allowed for two very different ways to build apps, each with distinct advantages and disadvantages. The easiest was TVML, which is a custom markup language evolved from the earlier version present on previous generations of the device. TVML is a markup language for media interfaces, meaning that it’s incredibly easy to make the beautiful screens you’re accustomed to seeing in the Apple apps. On the other hand, they allowed running full native code, which was obviously essential for games, and provided the highest level of control.

We timeboxed two days of prototyping using both technologies, and quickly realized that a beautiful native-looking UI build with the native SDK would take much longer than using TVML. On the other hand, the limitations around the TVML media players led us to want to use our native code from the iOS app.

Fortunately, Apple makes it incredibly easy to bridge between the TVML/Javascript world, and the native world. So we worked hard to combine the best parts of both into the nascent app. We formed a small team which combined a handful of engineers and designers across four countries and as many timezones, who literally worked around the clock (thanks, round planet!).

The other important decision to make was how we would generate the TV Markup Language. After a bit of experimentation, we settled on a clever mechanism whereby we’d request XML from the media server, and then transform it using XSLT into TVML. Said with fewer acronyms and more gesticulating, we essentially transform the output from a Plex Media Server directly into the beautiful screens you see on the Apple TV. (And yes, we had to make a few small tweaks to the API, which is why we require a brand new media server for the new app.)

We’re incredibly proud of this new app, which is essentially one of the richest apps we’ve built feature-wise, built in just five short weeks. Feast your eyes on the screens, and then go download the new app. It’s completely free for everyone, and it’s awesome.

Thanks, Apple, for a great new device, a powerful new way of building apps for the big-screens, and an exciting future on the platform! Barkley really appreciates it.

Источник

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

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

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

Читайте также:  Калькулятор iphone не считает проценты

Итак, что же из себя представляет 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 не ломает функционал, всё работает.

Источник

Оцените статью