О чем эта Статья? Статья о том, как поднять свой собственный медиа сервис для прослушивания музыки и просмотра фильмов, с доступом как с ПК так и с телефона (откуда угодно при наличии интернета) и СмартТВ.
Требования
Уровень пользования ПК чуть выше среднего, или хотя бы не бояться линуксовой консоли. Так же хорошо либо иметь карту зарубежного банка либо понимать как платить криптой (если хотите сторонний сервер поднимать, а не у себя дома, но об этом ниже).
Начнем
Итак, ввиду того что яндекс музыка (и альтернативы, ввиде Boom VK) зачастила тем что подменяет треки оригинала ушедших лейбелов на ремиксы, и иногда не совсем удачно, ну тот факт что новых альбомов не очень предвидится, может натолкнуть на мысль о том что «а вертись оно конем« и нужен свой сервис где никто внезапно никто внезапно не удалит или не заменит трек на »Васян BASS bosted Edition». Что для этого нужно? Свой сервер и софт. К радости, софт уже написан (и даже есть несколько альтернатив на любой вкус). Автор статьи использует Plex.
Гайд для Plex
Сервер.
Для начала нам нужно сервер где мы будет разворачивать свою легальную бухту. Если у вас есть Rasberry PI или старый ПК (2 гига 2 ядра хватит) и винт на от 2 и больше терабайт, то ваш вариант поднимать сервер дома. Если у вас нет железок, ваш вариант — удаленный сервер. Почему?
Тут можно посчитать (все в евро для удобство сравнения):
Аренда сервера на год с 2\4\2 (2 гига, 4 ядра, 2 тб) обойдется от 120 евро, в месяц от 10. Плюсом сможете дополнительно еще VPN свой поставить.
Покупка своего железа: ~50 евро хард, Raspberry Pi ~ 100 евро + расходники (корпус\охлад) ~ 30 евро. Можно попробовать сэкономить на покупке офисного пк с авито, но у них обычно выше потребление электроэнергии, в сравнении с малиной. Так же для дома хорошо бы озаботиться пожарной безопасностью хотя бы порошковый огнетушитель над сервером наклеить (+ ~20 евро). То есть окупаемость своего сервера выходит в полтора года примерно (за электричество тоже ведь платим). Зато свое удобнее: больший контроль и простота добавления места, если мы вдруг будем хранить свою коллекцию только во FLAC или фильмы BLU-RAY 4k. Тут выбор за вами, автор будет расписывать гайд для удаленного сервера.
Где искать удаленный сервак?
Из дешевых что удалось найти автору их всего три: AlphaVPS | Hosthatch | Interserver (ссылки не прилагается, а то сочтете за рекламу). Можете попробовать поискать сами по гуглу «Storage VPS» или сервисами по подбору виртуалок. Второй чуть дороже, но шустрее работает. Третий имеет сервера только в США (и то не всегда доступны. нужно отслеживать), что может сказаться на пинге.
Так же не рекомендуется искать хостера среди РФ, так как загрузив песенку, на которую у вас нет прав, вы можете попасть под статью о пиратстве. Ну это если вы из РФ или СНГ.
Автор использует первый вариант как самый дешевый, за 10 евро можно взять 2гб\4ядра\2тб в Болгарии (а за 20 будет 4\4\4, что хватит для 4-5 человек со схожими музыкальными вкусами).
Из минусов первого хостера — у автора приключилась какая-то проблема с оплатой, хотя и платил с карты КЗ. Первый раз деньги списались, а в панели висит статус «Fraud». Поискав в гугле поподробнее про хостера, автор убедился что это не скам хостер, написав об ошибке в поддержку, которая разрулила это в течении часа. Деньги вернулись, но второй раз оплата опять не прошла, в этот раз висело в статусе »не оплачено», Поддержке потребовалось два часа чтобы все разрулить. Но оплату приняли и сервер запустили.
Далее приведу пример для AlphaVPS, у остальных будет похожее.
Гайд по тому как правильно подготавливать любой сервер (смена пользователя\ запрет рута \ настройка портов \ доступ только по сертификату) я пропущу, так как это отдельная статья, но тут можно почитать. К тому же если сервер не публичный, то можно не загоняться и пропустить.
Для захода на сервер нужен ssh клиент, качаем PuTTy (хоть в винде есть и встроенный, но он чет не очень) ставим и запускаем
После подключения у нас открывается окно ssh подключения:. где сначала попросят доверится сертификату, жмем OK и видим
Вводим логин (root если не меняли). Жмем Enter и затем вводим пароль, обратите внимание что пароль не «пропечатывается» скрытыми символами как это обычно бывает на сайтах — это нормально. Backspace здесь работает как дополнительный символ не стирает предыдущий, так что если опечатались, то просто сразу жмите Enter и вводите заново.
Сразу меняем root пароль если не настраивали отдельного пользователя.
Ставим Plex
Ставить будем сам plex для ubuntu. Но так же есть официальный docker контейнер. Здесь просто последовательность команд которые нужно ввести в консоль (гайд на английском можно почитать тут)
Если вы настраивали firewall, то нужно прописать правила, я оставлю ссылку с гайдом тут
Далее создадим папк.
основное готово
Первичная настройка Plex
Так как изначально Plex нужно запускать из под локальной сети, нужно пробросить соединение с локальной машины, до сервера (если вы поднимали это в домашней сети, то можно просто заходить на <адрес сервра>:32400/web)
Закрываем текущее ssh соединение. и открываем заново PuTTy, но пока не подключаемся, а просто вбиваем адрес, далее идем в настройки туннеля
В поле Source вбиваем 9999 (или любой другой порт) . В Поле Destination вбиваем localhost:32400 (порт не меняем) , жмем Add. Дальше подключаемся к серверу как и раньше, с логином и паролем. теперь не закрывая соединения (окно с консолью) открываем браузер по адресу localhost:9999/web. Мы должны увидеть загрузку Plex. (кстати данный способ подключения можно запомнить как альтернативу VPN)
Готово! Вы великолепны. Видим стартовый экран с кучей мусора (+ предложат подключить сторонние сервисы, например кинопоиск там есть, но зачем?) .
Проверям что наш сервер доступен вне shh. Для этого заходим в браузере <ип адрес сервера>:32400/web и по кнопке More в лево меню мы видем наш названный сервер, а так же через сайт app. plex. tv (это нужно для смартТВ и смартфона) . если все ок. можно закрывать ssh.
Flac или MP3?
Сервер за 10 евро вполне тянет и FLAC качество для 3-5 пользователей одновременно, но FLAC ест больше места. Так что тут решайте сами. Так же можно например собраться в семью с пацанами с DTF, то можно скинуться на два сервака один под музыку, другой под фильмы. Или один — но побольше. Несколько серваков тоже можно объединять, но это совсем не тривиальная задачка (если задумали семью человек в 40 собрать)
Заливаем наш легальный контент
Теперь мы хотим залить нашу легальную библиотеку на сервер. Это удобно делать через файловый менеджер по ssh, например WinSCP. А если вы «злобный» пират — можете торрент клиент (например bit trasnmission) прям удаленно на сервере поставить, что не рекомендуется, так как:
1) Некоторые хостеры могут банить за торрент закачку.
2) Трафик может очень быстро закончится на раздачах.
Ну а там каждый сам решает.
В WindSCP просто выбираем папку откуда (слева) и куда (справа) — та самая папке которую мы выбирали. А дальше копировать — вставить, переброс файлов по ssh процесс не самый быстрый, так что рекомендуется добавлять частями. По 30-40 гб
После того в интерфейсе plex нажимаем сканировать библиотеку:
Plex начнем потягивать для песен на основе метадаты с открытых источников. так же можно настроить чтобы Plex это делал автоматически. После сканирования можно можно перейти в музыку и нажать кнопку проигрывания с случайном порядке. Для фильмов и сериалов принцип такой же.
Основное пожалуй это все, там еще куча настроек, режимы и прочее. Возможно это будет в отдельном гайде если этот зайдет.
Итог
Зачем это все? Плюсы и минусы думаю тут понятны — за новые альбомы нужно самому добавлять, а из старого вряд ли будут интересные предложения, если вы их предварительно не залили. И цена в итоге будет больше чем обычный сервис (если вы дополнительно поднимете там же на сервере VPN то возможно будет так же, плюс свой VPN не отвалится быстро). Из плюсов — мы можете заливать то чего нет на (и видимо уже не будет, хоть я.музыка и позволяет грузить «для себя» любые песни) на текущих музыкальных и видео сервисах. Если собраться в небольшую семью, то цена становится сопоставима.
PS. Альтернативы
Если вам не нравится plex (интерфейс гавно и т. д.) то вот небольшое сравнение еще медиа сервисов. Популярные: Emby и Kodi. Можете использовать и их. Я распишу некоторые плюсы и минусы
Плюсы Plex:
— Клиентское приложение имеет самое большое распространение на всевозможные девайсы.
— Серверная часть достаточно проста в установке. Для винды ставится в два клика.
— Можно редактировать ID3 теги песен.
Минусы:
— Добавление пользователей «в семью» доступно по подписке. НО вечная подписка стоит всего 119$ на всю семью (хоть 40 человек в семье), тут уже криптой не оплатить.
— Попадаются баги на UI.
— До функционала спотика\ям недотягивает, например нет лайков\дизлайков. Зато трек можно удалить физически с сервера.
— Плагины хоть и есть, yо официального стора нет, так что приходится искать самому по гитхабам.
Плюсы Emby:
— Исходники открыты и написан на C# (тут уж не знаю кому-то плюс а кому-то и минус, но давайте без холиваров, котаны)
— Есть лайки.
— Так же умеет во FLAC.
Минусы
— Сервер сложнее в установке.
— Клиент для некоторых смартТВ ставится так же не тривиально, например для Самсунгов ставится через режим разработчика.
— Подписка аналогичка Plex — для семьи нужна. Так же есть вечная за 119$.
Плюсы Kodi
— Бесплатен
— Так же открыты исходники. Они на С++.
— Есть свой «стор» плагинов. И даже есть игры, которые можно играть с пульта телевизора.
— Интерфейс красивый и заточен для управления с пульта телевизора\геймпада.
Минусы
— Не совсем пригоден для удаленного сервера, так как по сути не имеет политику авторизаци.