Появилась задача для проекта с платным контентом — где-то хранить видео и транслировать их на сайте. Можно, конечно, YouTube, VK, Rutube, но мне нужно без рекламы. Люди будут оплачивать доступ к контенту и смотреть еще и рекламу — такое себе неуважение.

Я уже писал как-то про сервис с безлимитной записью видео (https://t.me/netkelago/951). Я им задал вопрос: ребята, если у меня будет 10 Тб видео записанных, сервис для меня будет по такой же цене в 4$? Они не ответили. Да и логически понятно, что это для них экономически будет невыгодно, и, скорее всего, они прикроют лавочку, либо выставят новый тариф.

Есть еще Kinescope.ru, я его протестировал — поддержка и юзабилити, работа сервиса просто впечатляет. Все сделано великолепно. Но смотрю в будущее и думаю, что если количество видосов будет расти, то мне экономически будет невыгодно использовать данный сервис, а потом эти переезды, лучше сейчас это всё обдумать и заморочиться. Да еще и зависимость от сервиса, нужно стараться всё делать у себя, если такие возможности есть конечно и они того стоят.

Поэтому стал думать, как можно организовать и не зависеть от сторонних сервисов. Пришел к такому алгоритму действий:

  1. Видео сжимаем. Сейчас много сервисов, программ умеют сжимать видео без потери качества. Самое простое — залить на YouTube и скачать обратно.

  2. Видео нужно транскодировать в HLS. Видео будет разбито по 60 секунд, чтобы не нагружать канал. Сервисов тоже предостаточно для этого.

  3. Самое сложное — это организовать заливку, удобное хранение и embed-вставку на сайт. Придумал такую связку: NextCloud на своем сервере с подключенным Object Storage от Яндекса. Проверил, инструкции есть, как это всё связать и настроить, только на примере S3, но для Яндекса пишут, тоже подойдет (https://qna.habr.com/q/1197000). Embed вставка с помощью расширений Nextcloud тоже существует.

Стал искать пруфы, сколько это примерно по цене будет стоить, и нашел в чате онлайн-школы такую историю на скриншоте. Получается вполне себе выгодное решение. Минус, что нужно заморочиться и всё это настроить.