Укрощаем пыл Plex на ARM устройствах

Всё началось в моего вопроса в Toster. И вот уже полгода как я использую медиа сервер Plex. Для тех, кто о нём не слышал, поясню: это ПО, которое анализирует и структурирует вашу медиатеку, и предоставляет к ней доступ через web и не только, эдакий персональный Netflix без регистрации и SMS. Я использую Plex для просмотра фильмов и сериалов через браузер на ноутбуке или Chromebook.

image

Раньше мне приходилось настраивать NFS или Samba share, колдовать с automount(8), мириться с отваливанием share после suspend-resume, или просто копировать файлы по sftp/scp, но теперь я использую Тайд Plex. К сожалению, с ним тоже не всё просто.

Роль моего домашнего сервера выполняет Cubietruck с процессором ARM Cortex-A7 1GHz и дистрибутивом Armbian (Vanilla kernel для поддержки Docker и namespaces(7)). Его вполне хватает для повседневных нужд (хранение бэкапов, VPN сервер), но он очевидно не предназначен для более ресурсоёмких вещей.

Plex является freeware software. Он бесплатный, но не свободный, что налагает определенные ограничения. Например нет исходных кодов и официальных deb пакетов под любую архитектуру процессора. Ну и само собой многим параноикам-киноманам не захочется устанавливать кота в мешке на свою систему.

Существует opensource проект Emby Media Server, аналог Plex, написанный на Mono. К сожалению, у него есть проблемы с воспроизведением файлов в браузерах. Многие из видео форматов Emby транскодирует полностью, даже если изначально используется кодек h264.

На сегодняшний день Plex позволяет воспроизвести больше форматов видео без полной перекодировки, чем Emby Media Server. Возможно кто-то из вас поможет исправить эту ситуацию. А пока можно поколдовать над файлом browserdeviceprofile. js, который отвечает за профили браузеров.

Первую проблему мы решим с помощью официально распространяемых пакетов для NAS устройств, а вторую частично с помощью Docker.

За основу возьмем пакет для NAS QNAP с архитектурой ARMv7-X31+ (данный билд поддерживает расширение Neon, которое поддерживается Cubietruck’ом, проверить можно командой cat /proc/cpuinfo | grep neon ):

Файл qpkg является симбиозом shell скрипта и нескольких архивов. Распаковать его в директорию plex_media_server мы можем с помощью команды:

Полученные файлы можно поместить в Docker контейнер, но об этом чуть позже. Предположим, что мы запустили Plex и собираемся посмотреть в браузере фильм, который уже закодирован в h264 со звуковой AC3 5.1. Что сделает Plex? Он начнет перекодировать дорожку AC3 5.1 в AAC 5.1. А для просмотра видео на ноутбуке нам нет необходимости слушать видео с шестью каналами, да и небыстрый процессор даёт о себе знать с периодическими паузами при просмотре.

Для большинства пользователей этот вариант будет приемлемым. Но не для тех, у кого есть файлы с шестиканальной дорожкой AAC. В данном случае шестиканальный AAC будет преобразоываваться в stereo AAC. А это опять трата ресурсов процессора и периодические зависания при просмотре видео. Я полагал, что колдование с профилями может решить проблему, но, к сожалению, в текущей версии Plex такие исключения не возможны. На форуме Plex уже две недели без ответа висит запрос о добавлении подобной опции.

Единственный вариант для решения этой проблемы я увидел в подмене бинарника Plex Transcoder на скрипт, который будет формировать необходимые параметры при наличии AAC дорожки в видео файле.

При тестировании выяснилось, что данный хак неплохо работает с видео файлами из моей медиатеки.

Docker

Теперь посмотрим как всё это обернуть в образ Docker. Как минимум должны выполняться следующие условия:

Копируем и распаковываем скачанный архив (можно получить напрямую через wget, но в используемой мной конфигурации это запрещено). Использую COPY вместо ADD чтобы избежать автоматической распаковки архива, в данном случае в этом нет необходимости. Выражение || true позволяет проигнорировать сообщение gzip о мусоре после конца архива.

Помечаем пути /var/lib/plex (для сохранения состояния базы медиа файлов) и /media (путь для медиа файлов) как внешние тома:

Запуск контейнера

systemd

Unit файл, который я использую для запуска контейнера plex.

https и nginx

Чтобы иметь доступ к Plex из интернета, рекомендуется использовать HTTPS соединение. Если не хочется регистрироваться и платить деньги за дополнительные возможности Plex, то сертификат можно настроить самостоятельно. Можно использовать самоподписанный сертификат, можно использовать сертификат от Let’s Encrypt. Но в конечном итоге конфигурационный файл nginx будет выглядеть приблизительно так:

Plex – домашний медиа сервер с удаленным доступом

Plex Media Server – программа для создания медиа-сервера и получения удаленного доступа к аудио и видео файлам с поддержкой транскодинга на различных устройствах, будь-то Смарт ТВ, мобильный гаджет или ПК

Многие из читателей MediaPure. RU попали на мой сайт в поисках качественного и функционального медиасервера для своей коллекции фильмов, музыки и фотографий. Сейчас большой популярностью пользуется медиасервер Kodi и его достаточно для большинства пользователей, у которых нет необходимости в широком функционале медиаервера, но зачастую это происходит лишь из-за незнания и нежелания настройки всех возможностей конкурентов. Даже несмотря на то, что Plex происходит от XBMC (старое название Kodi), они напоминают друг друга лишь основным функционалом. С помощью программной оболочки Plex Вы легко можете получить возможность удаленного доступа к своей медиаколлекции, именно о нем мы и поговорим сегодня в рамках этой статьи. Также в первой части статьи Вы узнаете как установить и настроить медиа сервер Plex на своем ПК, а вторая часть будет посвящена установке Plex на NAS и использовании медиасервера на Apple TV.

Основное достоинство медиасервера Plex — мультиплатформенность, ведь он поддерживает работу на смартфонах, планшетах и ПК под управлением OS X, Windows, Linux, смарт-телевизоров и NAS.

Как и любой качественный программный медиасервер Plex Media Server с легкостью упорядочивает любой медиа контент и обеспечивает их дополнительными сведениями из Интернета (дополняет фильмы постерами, описаниями и сведениями о жанре, режиссере, а музыку обложками и инфо об исполнителях). Самое интересное состоит в том, что для удаленного воспроизведения собственной коллекции медиафайлов достаточно лишь веб-браузера и активного интернет-соединения. Введите в адресной строке браузера plex. tv и авторизуйтесь под своим аккаунтом, чтобы получить доступ ко всей вашей медиатеки. Плюс ко всему, Вам будет доступна загрузка фильмов для оффлайн-просмотра.

Чтобы превратить Ваш ПК в домашний медиасервер достаточно установить программу сервера Plex Media. После установки Plex автоматически запустится ваш веб-браузер. Зарегистрируйтесь, а затем произведите пошаговый процесс настройки с помощью веб-интерфейса. Дайте понятное имя вашему Plex серверу и укажите Вашу коллекцию с фильмами, музыкой и фотографиями, чтобы Plex Media Server мог просканировать Ваши папки с медиаконтентом для упорядочивания и загрузки дополнительных сведений из Интернета.

После этой процедуры в веб-интерфейсе Plex вам будут доступны ваши музыкальные коллекции с обложками, фильмы с постерами и фотографии с превьюшками. Таким образом Вы можете получить дополнительную информацию о любом файле или мгновенно начать его воспроизведение. Помимо локальных медиафайлов, вы можете добавлять в медиатеку и онлайн-сервисы с помощью меню «Каналы». Из множества доступных источников мультимедиа я вы выделил видеосервис Vimeo, сайты музыкальных клипов Vevo и музыкальный онлайн-сервис SoundCloud.

Медиасервер Plex и приложения

Сервер Plex Media предлагает возможность доступа к медиаколлекции через DLNA. Таким образом любые DLNA-клиенты (телевизоры, ТВ-приставки, мобильные устройства, видео — и аудио-системы) смогут получать доступ к Вашим медиафайлам. Но для просмотра дополнительной информации о файлах понадобятся специальные приложения, которые также позволяют продолжить воспроизведение фильма с момента последнего просмотра (например, на мобильном устройстве). Подобные вспомогательные приложения для сервера Plex доступны для Xbox, PlayStation, Apple TV, Amazon Fire TV, Android TV, телевизоров Samsung и т. д., но если у вас нет подписки Plex, то необходимо его приобрести.

Для телевизора Samsung приложение Plex предоставляется бесплатно и платной подписки (Plex Pass) приобретать не требуется. Единственный минус, для смарт-телевизоров необходим пульт с гироскопом (или беспроводная мышь) для управления плеером Plex, так как обычный кнопочный работать в его интерфейсе не будет. В приложении Plex для СмартТВ отлично работает перемотка, удобный поиск и во вкладке Movies отображаются недавно закачанные на сервер или ПК фильмы.

Скриншот интерфейса Plex на телевизоре Смарт ТВ

Вместо веб-браузера Вы можете использовать удобные приложения Plex для смартфонов, планшетов и других устройств. К сожалению, их полная функциональность платная, но Вы платите за ощутимый комфорт. Стоит учесть, что при необходимости медиасервер Plex конвертирует файлы в соответствующий формат, но только при использовании специального приложения, так как, например, локальный доступ по DLNA лишает Вас транскодинга.

Скриншот интерфейса приложения Plex на ОС Android

Немаловажно, что программа Plex идентифицирует трэки без мета-данных по аудио-сигналу. Подписчики Plex могут синхронизировать свой домашний сервер с облачными хранилищами (Amazon Cloud Drive, Dropbox или Google Drive). В результате, даже удаленно Вы сможете получить получить доступ к своей медиатеке в любом месте, где есть Интернет.

Что касается отображения русских названий фильмов, постеров на русском и описаний фильмов, то с этим Вам поможет плагин Кинопоиска. Скачав его, достаточно просто скопировать папку Kinopoisk. bundle в папку с плагинами Plex и Вы сможете обновить метаданные своей медиаколлекции, но необходимо в настройках коллекции Movies (Фильмы) выбрать плагин Кинопоиск в качестве агента (нажмите правкой кнопкой мыши на пункте Фильмы, выберите Править и перейдите на вкладку Дополнительно). Если Вы заметите, что не все фильмы получили обложку, то поменяйте в настройках источник на Movie Database.

Plex Media Server: организация доступа к медиаколлекции из Интернета на NAS

Установив на NAS приложение Plex Media Server и добавив в него медиаколлекцию, вы можете расшарить ее любому пользователю в сети Интернет, выбирая какие коллекции будет видеть каждый конкретный пользователь с выбором прав чтение/запись. С Plex Media Server вы также можете предоставить доступ родственнику к любимым сериалам, однажды настроив его смарт-телевизор.

Настройка Plex Media Server происходит в веб-интерфейсе с помощью учетной записи, созданной на официальном сайте приложения plex. tv, а вся процедура включает несколько шагов:

1. Регистрация в сервисе plex. tv

Для регистрации зайдите на сайт https://plex. tv и нажмите SIGN UP. Введите свои данные в появившейся форме.

2. Настройка серверной части Plex Media Server для организации доступа из Интернета

Внимание! Открытие порта требуется только для удаленного администрирования Plex Media Server. Для расшаривания контента пользователям открывать порт нет необходимости!

После открытия порта и прохождения процедуры регистрации, авторизуйтесь, кликнув по иконке человека в правом верхнем углу и выберите Войти, чтобы ввести ваш логин и пароль. После авторизации Вы сможете расшарить ресурсы вашего медиасервера друзьям и родственникам в Интернете.

Внимание! Подключиться к вашему домашнему серверу могут только пользователи, зарегистрированные на сайте Plex. tv. Минус создания одной гостевой записи для всех заключается в невозможности управлять доступом каждого из друзей по отдельности.

В веб-интерфейсе вашего сервера зайдите в меню Настройки > Пользователи, чтобы увидеть список пользователей с доступом к Вашему NAS. В этой вкладке Вы получите информацию о количестве доступных папок и дату последнего визита. Здесь же вы можете нажать на кнопку Пригласить друга.

В поле Share with (поделиться с…) введите никнейм пользователя на сайте plex. tv (если он уже прошел процедуру регистрации) или его e-mail, чтобы выслать ему приглашение. Здесь Вы можете отметить галочками коллекции, которые будут доступны нашему другу. Нажмите Приглашения.

3. Настройка клиента, получившего приглашение

Ваш друг получит письмо следующего вида:

Необходимо кликнуть на I accept the invitation. Если у получателя этого письма нет аккаунта в сервисе Plex, то он попадет на страницу для его создания, в обратном случае он попадет на сайт, где в личном кабинете увидит следующее:

После авторизации приглашенного пользователя с помощью любого Plex-клиента (браузер, Plex Home Theater, Smart TV, приложение мобильного устройства), он увидит следующее (пример из браузера):

Приглашенным пользователям доступен просмотр медиаколлекции во всех разрешенных папках, но запрещено редактирование и удаление контента.
Возможности доступа зарегистрированного пользователя не ограничиваются одним NAS, так как учетная запись может совмещать доступ к различным серверам в разных местах, таким образом Вы можете создавать огромные общие медиаколлекции.

4. Раздача прав на папки для NAS и Plex Media Server

Внимание! Медиасервер Plex использует для доступа к папкам на сетевом хранилище учетную запись администратора NAS. Права назначаемые на сервере Plex никаким образом не пересекаются с правами назначенными на папки при помощи настроек NAS!

Например: у нас есть папка My Films. В интерфейсе NAS мы закроем доступ к ней от всех пользователей (Deny), и разрешим ее открывать только админу (RW). На сервере Plex мы приглашаем друга и даем ему права на фильмы, размещенные в это папке. Пользователь будет иметь доступ к фильмам, т. к. подключился к NAS, фактически, с правами администратора, но медиасервер Plex ограничил их до ReadOnly. Более широкие возможности для настройки прав доступа доступны при платной подписке Plex Pass.

Plex для Apple TV: расшариваем медиатеку на iOS устройства

Если Вы обладатель Apple TV и Вы устали покупать фильмы или сериалы для просмотра на своей медиаприставке, то этот материал для Вас. Вы можете воспользоваться отличным приложением Plex для Mac и iOS.

В данном случае Plex устанавливается на два устройства: например, ПК с OS X и устройство на базе iOS. Серверная часть будет установлена на Mac, а клиентская — на смартфон или планшет. Затем останется добавить контент (фильмы, сериалы, музыка и фото) для дальнейшего сканирования папок приложением Plex с последующей загрузкой постеров и описания. Настроить это можно в удобном веб-интерфейсе под учетной записью (о регистрации я писал выше).

После регистрации откройте приложение на iOS авторизуйтесь и можете выбирать видео, фото или музыку из медиаколлекции. Чтобы посмотреть видео на экране телевизора достаточно включить AirPlay и запустить воспроизведение на приставке.

Источники:

https://habr. com/ru/post/306886/

https://mediapure. ru/multimedia/plex-domashnij-media-server-s-udalennym-dostupom/

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: