Сетевой дневник одного программиста

Персональный блог Константина Огородова

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

Чаще всего сетевое хранилище в домашних условиях используется как медиа-сервер. Это и не мудрено: фильмы и сериалы занимают много места, особенно в FullHD и 3D. В то же время NAS позволяет получить доступ к единой библиотеке мультимедиа с разных устройств не только внутри локальной сети, но и за её пределами. Возможно по этой причине, всё ещё ALPHA версия TrueNAS SCALE уже содержит приложение Plex. Конечно это Docker контейнер, только в более простом варианте установки и возможно какими-то предустановленными настройками. Откровенно говоря я не силён в медиа-серверах и с Plex’ом познакомился только после установки TrueNas SCALE. Однако ещё на этапе выбора NAS мельком «пробежался по интернетам» на предмет домашнего медиа-сервера и большинстве статей в качестве решения упоминался именно Plex.

Перед тем как устанавливать приложение Plex нужно подготовиться, а именно создать необходимые для работы наборы данных (DataSet). Первым делом займёмся набором данных для основного содержимого. Имя пусть будет как в инструкции Plex — media. Внутри набора данных для каждого типа содержимого настоятельно рекомендуется создать отдельную папку или набор данных, т.е. фильмы хранить отдельно от телепередач, также как музыку отдельно от фото. Это также позволит для каждого типа содержимого указать собственные настройки ZFS, такие как размер записи или уровень сжатия. Кстати о сжатии: по умолчанию используется LZ4, использование которого для видео даёт либо уменьшение размера файла на сотые доли процента, либо может вообще привести к увеличению размера файла. Такие результаты я получил поигравшись немного с LZ4 утилитой командной строки и видео формата Xvid MPEG-4. Такой результат закономерен, ведь современное видео практически всегда сжато тем или иным форматом оптимизированным именно для видео или аудио. Незначительно лучшего сжатия можно добиться только путём увеличения уровня сжатия, что значительно увеличит нагрузку на процессор и время на файловые операции, что неприемлемо. Поэтому для видео я сжатие отключил. Для других форматов нужно будет отдельно проверить будет ли толк от сжатия или нет.

Следующий шаг — создать набор данных для временных перекодированных файлов Plex, Имя пусть будет plex-transcode и настройки аналогичные media.

Последний необходимый для работы набор данных будет хранить конфигурацию Plex. Под конфигурацией имеется ввиду база данных (SQLite3), постеры, файлы предпросмотра, плагины и возможно что-то ещё, чего я не упомянул. И раз уж упомянута БД, а также множество мелких файлов, то имеет смысл разместить этот набор данных на SSD. Имя пусть будет plex-config.

На всякий случай отмечу, что создание собственных наборов данных для Plex — это необязательный шаг, т.к. если этого не сделать — Plex создаст эти наборы данных где-то в «дебрях» ix-applications. Так зачем же тогда все эти телодвижения — потому что такой подход даёт больше контроля, а также удобней и наглядней.

После создания необходимых наборов данных нужно обеспечить доступ как минимум к media, чтобы иметь возможность загружать и скачивать мультимедиа файлы. Доступ к другим наборам данных по необходимости, например доступ к plex-config может понадобиться для установки плагина агента «Кинопоиск». Я по началу тоже хотел его установить, но почитав комментарии в проекте пришёл к выводу, что проект скорее мёртв, чем жив.
По началу я хотел организовать доступ по FTP, в процессе реализации обнаружилось, что FTP на TrueNAS SCALE хорошо подходит для организации доступа к личным папкам, и совсем не подходит для организации доступа к файлам используемым несколькими пользователями, в том числе и если учётка используется приложением. Поэтому пришлось переключиться на SMB.

Далее необходимо создать учётную запись на портале Plex, если у вас её ещё нет.

Теперь можно переходить к непосредственно установке приложения Plex. Как я писал уже выше, по сути это Docker контейнер, и, соответственно, можно ориентироваться на описание параметров на странице Docker’а:

  • Application Name = plex
  • Configure Host Network = true
  • Enable Host Path for Plex Transcode Volume = yes. Path = /mnt/hdd/plex-transcode.
  • Enable Host Path for Plex Data Volume = yes. Path = /mnt/hdd/media.
  • Enable Host Path for Plex Config Volume = yes. Path = /mnt/ssd/plex-config.
  • Plex Claim Token = <привязанный к учётке Claim Code>, получить который можно по адресу https://www.plex.tv/claim/. Требуется авторизация.
  • Plex container timezone = <локальная временная зона>.

После нажатия на кнопочку Save начнётся процедура скачивания образа Plex и развёртывание приложения. Процесс займёт пару минут и по завершении можно будет наблюдать установленное приложение на вкладке Installed Applications со статусом Active и кнопочкой Portal. Нажатие на кнопку Portal откроет новую вкладку с адресом установленного сервиса Plex, а затем произойдёт перенаправление на портал Plex для авторизации. После авторизации запуститься мастер первичной настройки Plex, который попросит указать имя, добавить библиотеки (можно пропустить и сделать позже) и загрузить приложения Plex (также пропускаем). На этом установка завершена — приложение запущено и работает, но ничего не показывает, поскольку набор данных media не содержит мультимедиа файлов, а даже если и содержит — Plex не настроен должны образом для отображения.

Однако перед непосредственно копированием файлы мультимедиа нужно должным образом подготовить, а именно дать подходящее имя в соответствии с инструкцией Plex, потому что агенты Plex’а будут искать метаданные в сети для файла мультимедиа ориентируясь по имени. Например для фильмов формат должен быть наименование фильма (год выпуска). Либо имя можно оставить произвольным, но в конце добавить идентификатор {tmdb-272} для The Movie DB или {imdb-tt0372784} для IMDB, Отмечу также, что рекомендуемый подход — размещать каждый фильм в одноимённой папке, что позволит хранить в дополнительные материалы вместе с фильмом, а также может привести к увеличению быстродействия.
Для сериалов имя является определяющим, поэтому рекомендую сходить на TheTVDB и уточнить название сериала на требуемом языке, т.к. описание будет именно на том языке, на котором указано имя корневой папки сериала.

После копирования файлов необходимо создать библиотеку. Сделать это можно несколькими способами и я пользовался меню слева на локальном портале. Каждая библиотека определяет имя, тип содержимого, путь до каталога с медиа-файлами и несколько других настроек, в том числе какой используется агент для получения метаданных в сети. Если всё сделано правильно, после создания библиотеки начнётся процесс сканирования каталога с фалами и наполнения библиотеки. Если нет — меняем настройки и запускаем процесс сканирования библиотеки повторно. Мне пришлось изрядно помучатся перед тем, как всё завелось, из-за отсутствия необходимых разрешений на чтение файлов на сервере. Но в конечном итоге решение было найдено и супруга с сыновьями во всю пользуются удобством хорошо организованной библиотеки с возможностью просмотра на любом устройстве, в том числе и на стареньком SmartTV Samsung. Кстати, хорошо бы ещё выключить необходимость авторизации на портале для локальной сети через меню Настройки -> Сеть -> Список IP-адресов и сетей, которые разрешены без аутентификации.

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

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

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

Пролистать наверх