Установка и настройка медиасервера Plex на Raspberry Pi 3

Raspberry Pi 3. Установка медиасервера Plex

Дата Автор Dmitry12 комментариев 7 891 просмотров

Настало время поговорить о самом популярном способе применения Raspberry Pi в быту: о создании медиасервера на ее основе.

Думаю, что не ошибусь, сказав что добрая половина купленных «малинок» в конечном счете превращается в медиаприставку для воспроизведения контента. И инструкций о том, как установить и настроить медиаплеер Kodi на Raspberry Pi уже немало опубликовано на просторах интернета.

Я же опубликую более интересный и прогрессивный вариант создания медиасервера на базе Raspberry Pi. Вместо Kodi у нас будет использоваться Plex, а сама «малина» при этом не лишается своей многозадачности и может быть параллельно использована для других нужд — например, для скачивания торрентов или организации электронной библиотеки.

Что нам понадобится

Для реализации описанного в этой статье понадобится:

О том, как правильно подключить внешний жесткий диск к Raspberry Pi рассказано в этой статье, а об установке и настройке OS Raspbian можно прочитать в статье «Raspberry Pi 3. Обзор и начало работы».

Что умеет Plex

Установка и настройка медиасервера Plex на Raspberry Pi 3

Plex — это бесплатный медиасервер, который умеет:

  • Каталогизировать домашнюю медиатеку (фильмы, сериалы, музыка, видео, фото) и представлять ее в красивом и удобном виде
  • Автоматически распознавать добавленные в медиатеку фильмы и сериалы и скачивать для них постеры, обложки, аннотации и информацию об актерском составе
  • Транслировать содержимое медиатеки на любую платформу (включая Apple TV, Smart TV и любую TV-приставку на основе медиаплеера Kodi) через собственное приложение
  • Транслировать содержимое медиатеки на любую платформу без установки приложений прямо в браузере через HTML5 плеер
  • Запоминать место, на котором был приостановлен просмотр фильма или сериала и предлагать возобновить воспроизведение с этого места в дальнейшем
  • Транслировать контент не только по локальной сети, но и через интернет (для большей безопасности эта опция отключается)

Почему именно Plex?

Почему я рассматриваю вариант с установкой на Raspberry Pi именно Plex, а не одного из готовых дистрибутивов на базе Kodi (OpenELEC, LibreELEC, OSMC)?

Потому что Kodi удобен в случае, если использовать «малину» предполагается только как медиаприставку. То есть установил на «малину» OpenELEC/LibreELEC/OSMC, подключил к «малине» жесткий диск, а саму «малину» к телевизору — и вот у тебя медиаприставка, аналог промышленно выпускаемых TV Box на Андроиде.

Я же предлагаю другой сценарий использования: «малина» является сервером и хранилищем для медиаконтента, а потребляется этот медиаконтент с любого устройства. Можно с того же телевизора, по HDMI-кабелю или локальной сети. Или с имеющегося в доме компьютера. Или планшета. Причем для доступа к медиасерверу можно обойтись без установки сторонних приложений, открыв интерфейс системы прямо в браузере.

И вот для этого намного удобнее использовать именно Plex.

Установка и настройка Plex

Plex доступен для установки на Raspberry Pi в двух вариантах.

Первый вариант — это готовый дистрибутив RasPlex, содержащий в себе операционную систему с автозагрузкой оболочки Plex.

RasPlex — это аналог дистрибутивов OpenELEC/LibreELEC/OSMC, только вместо Kodi в нем используется Plex. Если хочется сделать из Raspberry Pi именно медиаприставку, то можно выбрать этот вариант.

Но я описываю другой подход, в котором «малина» сохраняет многофункциональность и не ограничивается одной функцией приставки к телевизору, поэтому RasPlex нам не нужен.

А нужен нам второй вариант — серверный модуль Plex, который устанавливается в систему как обычный пакет и постоянно висит в фоне в виде приложения-«демона».

Именно об установке сервера Plex я рассказываю дальше в этой статье.

Установка Plex

Перед началом установки сервера Plex нужно добавить в Raspbian поддержку HTTPS-протокола:

sudo apt-get install apt-transport-https

Затем скачиваем и устанавливаем ключ безопасности для нового репозитория:

wget -O - https://dev2day.de/pms/dev2day-pms.gpg.key  | sudo apt-key add -

И подключаем к системе сам репозиторий, из которого в дальнейшем будет устанавливаться медиасервер Plex:

echo "deb https://dev2day.de/pms/ jessie main" | sudo tee /etc/apt/sources.list.d/pms.list

Затем обновляем индекс пакетов чтобы система узнала о пакетах из только что подключенного нового репозитория:

sudo apt-get update

И, наконец, устанавливаем Plex:

sudo apt-get install -t jessie plexmediaserver

На этом установка завершена, и медиасервер уже почти готов к работе. Осталось лишь настроить его и создать медиатеку.

(ДОПОЛНЕНИЕ ОТ 18.05.17)

Оказывается, Plex уже доступен в стандартных репозиториях.

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

sudo apt-get install plexmediaserver-installer

Настройка Plex

Plex практически не нуждается в настройке.

После завершения установки можно зайти в его интерфейс, открыв адрес http://ip-адрес-raspberry-pi:32400/web/ в любом браузере.

При первом запуске Plex попросит залогиниться или зарегистрировать нового пользователя. Регистрируемся или вводим свои данные, если уже имеется учетная запись.

Установка и настройка медиасервера Plex на Raspberry Pi 3

Далее будет предложено добавить медиатеки. Это можно сделать сейчас, либо позднее, уже из основного интерфейса программы.

Правильная структура медиабиблиотеки Plex

Главное правило при добавлении медиабиблиотек в Plex — разделять разный контент по разным папкам.

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

Установка и настройка медиасервера Plex на Raspberry Pi 3

Заведите на подключенном к Raspberry Pi жестком диске папку Movies для фильмов и папку TV Shows для сериалов, и укажите путь к обеим библиотекам в программе. Не забудьте указать, что использоваться должен русский язык. Этого достаточно для базовой организации медиабиблиотеки.

Большие коллекции контента можно организовывать более сложным путем — например, завести отдельные папки для русского и иностранного кино и для русских и иностранных сериалов, и создать отдельные библиотеки для них.

Для того, чтобы система распознания медиаконтента в Plex срабатывала корректно, нужно соблюдать определенные правила в структуре и наименованиях файлов.

Фильмы

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

Хуже всего он воспринимает транслит, особенно искаженный.

Если существует несколько фильмов с одинаковыми названиями, то Plex способен ориентироваться по году выпуска.

Поэтому оптимальное название файла с фильмом — название этого фильма на английском языке (если фильм русский — название на русском) и год выпуска в скобках. Именно такой формат обеспечивает лучшие шансы на правильное распознание.

Dzh1persKr1pers.2.BDRip.by.Vasyan666Megarelizer.mkv

— плохое название файла, скорее всего не распознается.

Dzhipers Kripers 2.mkv

— плохое название файла, но скорее всего распознается.

JEEPERS_CREEPERS_2.BDRip.(AVC).-MediaClub.mkv

— нормально.

Jeepers Creepers 2 (2003).mkv

— оптимально.

Сериалы

Каждый сериал должен лежать в отдельной папке внутри медиабиблиотеки.

В названии папки с сериалом должно быть указано название сериала. Имя файла должно содержать номер сезона и серии в формате SxxExx, где S — сезон, E — серия (эпизод). Желательно, но не обязательно, чтобы серии были разделены по подпапкам-сезонам.

Русский язык и вообще что-то отличное от SxxExx в нумерации серий Plex понимает плохо.

TV Shows
   /Палач
      Палач 01_серия_HDTVRip_AVC_by_Серый1779 серия.mkv

— в принципе неправильно, но в данном случае распознание сработает как надо, поскольку в сериале «Палач» только 1 сезон.

/TV Shows
   /Черный список
      /Сезон 4
         11 серия.mkv

— неправильно, и поскольку в сериале «The Blacklist» несколько сезонов, то все некорректно названные серии Plex будет считать несуществующими в реальности сериями 1 сезона. Вместо 4 сезонов сериала по 10-20 серий у вас в медиатеке будет 1 сезон на 50-100 серий, условно говоря.

/TV Shows
   /The Blacklist
      The.Blacklist.S04E11.720p.HDTV.x264-KILLERS[eztv].mkv

— нормально.

/TV Shows
   /The Blacklist
      The Blacklist - s04e11.mkv

— оптимально.

Исправление неверных сопоставлений

Установка и настройка медиасервера Plex на Raspberry Pi 3

Если фильм или сериал определяется неверно несмотря на правильность наименования — можно исправить сопоставление вручную, перейдя в Plex на страницу этого фильма, нажав на значок «Подробнее…» и выбрав в открывшемся меню пункт «Исправить сопоставление…».

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

Субтитры

Plex поддерживает как встроенные, так и внешние субтитры.

Для того, чтобы файл с внешними субтитрами распознался программой, он должен лежать в той же папке, что и относящийся к нему видеофайл, и иметь название в том же виде, что и у относящегося к нему видеофайла.

The.Blacklist.S04E11.720p.HDTV.x264-KILLERS[eztv].mkv
The_Blacklist_-_04x11_-_The_Harem_(Version_Killers).srt

— неправильно.

The.Blacklist.S04E11.720p.HDTV.x264-KILLERS[eztv].mkv
The.Blacklist.S04E11.720p.HDTV.x264-KILLERS[eztv].srt

— правильно.

О производительности Plex на Raspberry Pi 3

Raspberry Pi 3 обладает достаточной мощностью для воспроизведения видеофайлов, в том числе и в fullHD разрешении.

Проблемы могут возникнуть при включении транскодирования в настройках Plex: с этой опцией воспроизводимые медиафайлы будут «на лету» перекодироваться из оригинального разрешения в выбранное пользователем пониженное.

Справиться с этой задачей в реальном времени скромный в плане производительности процессор Raspberry Pi уже не в состоянии.

Но такая опция для работы с системой не нужна, и включать транскодирование не нужно.

Если Plex все-таки тормозит

В некоторых случаях Plex на Raspberry Pi может тормозить и при отключенном транскодировании. Тормоза при воспроизведении сопровождаются всплывающими подсказками, описывающими суть проблемы.

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

Такая проблема может возникать при воспроизведении fullHD-видео, если Raspberry Pi подключен к сети по Wi-Fi, а частотный диапазон Wi-Fi в вашей локации перегружен обилием сетей, что приводит к сильному падению скорости.

Решение: подключить Raspberry Pi к домашней сети по Ethernet вместо Wi-Fi.

Тормоза исчезнут. Проверено.

Сервер недостаточно мощный для конвертации видео и плавного воспроизведения. 
Попробуйте проиграть файл в оригинальном качестве.

А вот столкнувшись с этим, я долго не мог понять что к чему. Ведь в настройках стоит воспроизведение в оригинальном качестве, причем тут вообще конвертация видео?

Оказалось, что такая проблема возникает при воспроизведении видео с включенными субтитрами в виде отдельного .srt-файла.

С настройками по умолчанию Plex начинает перекодировать видеофайл, «зашивая» в него строку субтитров и отдавая уже этот видеофайл клиенту вместо того чтобы транслировать оригинальный видеофайл и уже на клиентской стороне накладывать на него субтитры в текстовой форме. Естественно, для перекодирования «на лету» мощности ARM-процессора Raspberry Pi не хватает, что приводит к постоянному подтормаживанию воспроизведения.

Решение: зайти в «Настройки» -> «Веб» -> «Плеер» и переключить значение опции «Записать субтитры» с «Always» на «Automatic» или «Only images format».

Заключение

Если вы купили Raspberry Pi и не знаете что с ней делать — создайте на ее базе медиаприставку, как поступают сотни людей в такой ситуации.

Но возможности «малины» этим не ограничиваются, и в следующих публикациях из этого цикла я расскажу о том, как сделать этот миниатюрный одноплатный компьютер еще более полезным и функциональным.

Raspberry Pi 3B (английская сборка)в интернет-магазине GearBest Raspberry Pi 3B (китайская сборка)в интернет-магазине GearBest

Понравилась статья? Выразите благодарность автору переводом любой суммы на ваше усмотрение :)

12 комментария на «Raspberry Pi 3. Установка медиасервера Plex»

  1. И здесь у меня вопрос — все поставил, все вроде нормально встало (как проверить? в меню малины что-то упоминание о нем не вижу) пытаюсь зайти с компа страница не найдена…

    • То, что Plex не отображается в меню — это нормально, так и должно быть. Устанавливается же серверный модуль, у него нет самостоятельного приложения с графическим интерфейсом.
      Почему недоступен через веб-интерфейс — так сходу не знаю что ответить, вроде не должно быть никаких проблем с этим. Можно попробовать перезапустить его (sudo service plexmediaserver restart), ну и убедиться что по правильной ссылке в браузере заходите, http://ip-адрес-малины:32400/web/

  2. Дмитрий, спасибо. Такой вопрос. Plex на малине поднял, все ок. Натравил на папки movies и photos. Samsung Smart TV увидел в Source (Input) Plex Media Server и три пустые папки Movies, Photos и Music (хотя последнюю явно не создавал). Мое содержимое не отображается. Что-то неправильно делаю?

    • Затрудняюсь ответить. Но для Samsung Smart TV есть клиентское приложение Plex, можно использовать его: http://www.samsung.com/ru/samsung-tv-apps/#plex.html

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

  3. Дмитрий, спасибо огромное за инструкции, следую по ним, торрент заработал, диск монтировал по инструкции, но вот плекс не могу скачать, пишет не находит файл установщик. Еще подскажите, у меня распберии заполнила диск своими файлами, нормально ли это? И я не могу через малину создать папку movies например, пишет нет прав.

    • >но вот плекс не могу скачать, пишет не находит файл установщик
      А дополнительный репозиторий точно не забыли добавить? В стандартных плекса нет.

      >И я не могу через малину создать папку movies например, пишет нет прав.
      Если речь идет о внешнем диске, то это нормально, т.к. по умолчанию владельцем корневой директории диска не является пользователь «pi».
      Любую папку или файл можно создать с правами суперпользователя (дописать sudo непосредственно перед самой командой в консоли).

      Ну и права доступа к любым файлам и папкам настраиваются через команды chmod и chown, я позднее напишу пост по основным консольным командам в linux и там подробнее распишу их.

  4. а 4к получится транслировать?
    малина же в декодировании не участвует в случае с плексом, во что будет упираться интересно, в пропускную сети?

    • В пропускную способность сетевой карты, да.
      С 4k надо смотреть по битрейту. Настоящее 4k с lossless-сжатием имеет битрейт выше 100мбит, поэтому транслироваться в реальном времени без задержек не сможет. Но большинство 4k-релизов сейчас пережимаются с битрейтом 20-40мбит, они будут транслироваться без проблем.

    • Да, будет.
      Не smart TV — то есть к домашней сети по Wi-Fi не подключается? Если так, то можно подключить по HDMI-кабелю и будет работать как любая другая ТВ-приставка.

  5. Спасибо за статьи по rpi — четко и доходчиво.
    Вопрос по Plex: правильно ли я понимаю, что если при проигрывании файла проц малины загружен на 90-100%, то происходит транскодирование?
    Возможно ли его принудительно отключить?

    • Да, в настройках все отключается.

      Настройки — Веб — Плеер — Показать доп.настройки

      Там выставить во всех пунктах качество потока на «Оригинальное» и поставить галочки на «Прямое воспроизведение» и «Прямой поток» если они изначально не стоят.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *