Статьи

Статьи

Собственный видеохостинг

Собственный видеохостинг

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

Взяв небольшую паузу мы обратились к своим друзьям, разработчикам крупнейшего видеохостинга в России. Мы задали им вопрос: «можно ли за столь короткое время создать конвертер видеофайлов и плеер для работы с архивом видеофайлов?». Они посоветовали нам промежуточное решение – конвертер и сервер видеохостинга разработать самостоятельно, а для воспроизведения видео приобрести лицензию на готовый видеоплеер.

С выбором плеера особых раздумий не было т.к. на тот момент самым оптимальным решением на рынке был JW-player. Он не только давал возможность тонкой настройки работы плеера и его внешнего вида, но и позволял собирать статистику просмотров по каждому ролику, с заданными параметрами дат.

С выбором дата-центра для аренды VDS-сервера вопросов не было – мы считаем, что Селектел тут вне конкуренции. Поэтому осталось создать конвертер, настроить видеоплеер и внедрить эти решения в CMS проекта.

Собственный видеохостинг

Перво-наперво нам нужно было решить вопрос конвертации видеороликов, чтобы загружаемый на сервер мастер-файл видеоролика впоследствии корректно отображался на персональных компьютерах и ноутбуках, использующих операционные системы семейства Windows, MacOS и Linux, а также корректного отображался в мобильный устройствах на платформах использующих iOS (iPhone, iPad) и Android.

Вторая задача конвертера – обрабатывая мастер-файл видеоролика, сохранять 4 файла, под различные типы качества воспроизведения (для Интернет-соединений с различной скоростью). Формат конечных файлов было решено сделать в качестве 720, 480, 360 и 144 пикселей на дюйм.

Кстати, сделать универсальный конвертер, который обрабатывал бы любые типы видеофайлов под наши условия оказалось делом хлопотным (даже мировые видеохостинги работают с ограничениями), поэтому для мастер-файлов выставили требования: формат файла - MP4, скорость кадров - 25 в секунду, а также рекомендации по разрешению, соотношению сторон  (16:9 и 4:3), битрейту (до 5000 Кбит/сек - HD, до 2500 Кбит - SQ), звуку - 320 Кбит/сек, 48 000 КГц, кодекам - H.264 / AAC.

Когда работа над конвертером была закончена и его работа протестирована, мы приступили к его интеграции (связку конвертер-видеосервер-плеер можно использовать с любой CMS или фреймворком) с модулем видеоархива, который в это время  разработали другие наши специалисты. В модуль входит три типа вывода записей видеоархива: виджет с несколькими последними записями, каталог видеозаписей с фильтрами для сортировки, вывод записи с плеером. Так что к запуску проекта все ролики были залиты, видеоархив настроен, а медицинские специалисты довольны т.к. появилось удобное место где лежали ценные обучающие материалы со множества специализированных мероприятий.


К списку статей



Комментарии (15)

Игорь Леонидович

Добрый вечер! Нам необходимо интегрировать видеохостинг в корпоративный портал на Битрикс (как у вас на сайте). С какими основными проблемами можно столкнуться при встраивании плеера и передаче данных об авторизации, чтобы заранее учесть в ТЗ?

Студия Фонарь
Ответ на комментарий Игорь Леонидович

Здравсвуйте, Игорь Леонидович! Видеохостинг мы создавали для платформы на TYPO3. При интеграции с Битрикс основные риски: потеря контекста авторизации (пользователь видит видео, но не может комментировать или ставить лайки), рассинхронизация прав доступа и проблемы с CORS при запросах к API плеера. Чтобы этого избежать, мы рекомендуем: передавать идентификатор сессии или JWT‑токен в заголовках, использовать iframe с единой авторизацией и заранее согласовать CORS‑политики. У нас есть готовые модули и примеры кода для Битрикс — можем прислать демо и инструкцию по установке.

Михаил П.

Очень актуально для нашей компании: планируем хранить архивы вебинаров и делать их доступными по ссылке для клиентов. Важен вопрос безопасности: как ограничить доступ к приватным видео и сделать гибкую систему прав (по роли, по сроку, по IP)?

Студия Фонарь
Ответ на комментарий Михаил П.

Здравствуйте, Михаил! Для приватных видео мы используем токенизированный доступ: ссылка действительна ограниченное время, привязана к сессии пользователя и проверяется на стороне сервера. Гибкие права реализуются через роли и политики: например, “доступ по ссылке”, “только для авторизованных”, “по IP‑адресу”, “до указанной даты”. В Битрикс и других CMS это удобно интегрировать через API: вы запрашиваете токен для конкретного видео и вставляете его в плеер. Если расскажете подробнее про ваш сценарий, покажем пример реализации.

Сергей

Статья хорошая, но мало про аналитику: какие метрики реально важны для бизнеса (не только просмотры), как их собирать и не нарушить 152‑ФЗ. Можете дать чек-лист обязательных показателей для стартапа?

Студия Фонарь
Ответ на комментарий Сергей

Здравствуйте, Сергей! Отличный вопрос. Для стартапа помимо просмотров важны: глубина просмотра (%), доля досмотров до ключевых точек (25%, 50%, 75%), среднее время просмотра, процент буферизаций и отказов, география и устройства. По 152‑ФЗ: не храните лишние персональные данные, анонимизируйте логи, используйте агрегацию метрик и явно пропишите сбор статистики в политике конфиденциальности. Можем прислать готовый шаблон ТЗ на аналитику, который закрывает и бизнес‑потребности, и требования закона.

Анна Владимировна К.

В нашей компании предлагают сделать видеохостинг под UGC-контент (отзывы, короткие ролики от клиентов). Какой минимальный набор функций обязателен, чтобы пользователи не уходили из-за неудобств? Плеер, загрузка, превью — это понятно, а что ещё?

Студия Фонарь
Ответ на комментарий Анна Владимировна К.

Здравсвуйте, Анна Владимировна! Помимо плеера, загрузки и превью, для UGC‑платформы критически важны: простая регистрация (желательно через соцсети), модерация (хотя бы базовая), понятная система статусов видео (“на проверке”, “опубликовано”), уведомления о новых роликах и возможность пожаловаться на контент. Также пользователи ценят автогенерацию превью и возможность обрезать видео прямо в браузере. Эти функции заметно снижают процент отказов при публикации.

Дима Ф.

Полезно, но хотелось бы больше примеров по защите контента: DRM, водяные знаки, ограничение по домену. Для нашего медиапроекта это критично. Есть ли типовые схемы, которые можно внедрить на ранней стадии?

Студия Фонарь
Ответ на комментарий Дима Ф.

Понимаем важность защиты контента. На ранних этапах часто используют комбинацию мер: ограничение воспроизведения по домену (referrer check), водяные знаки на уровне транскодирования (накладываются при конвертации) и контроль доступа через токены. DRM — это уже следующий уровень, он заметно усложняет и удорожает проект. Можем прислать типовую архитектуру защиты под разные сценарии: от MVP до медиаплатформы.

Дима Ф.
Ответ на комментарий Студия Фонарь

Отправил на почту.

Николай П.

Отличная статья! Давно думаю над тем, чтобы запустить свой видеохостинг для внутреннего обучения сотрудников. Особенно зацепил блок про хранение и транскодирование — как раз моя боль. Подскажите, а на старте реально обойтись без отдельного мощного сервера под конвертацию, если поток видео небольшой?

Студия Фонарь
Ответ на комментарий Николай П.

Спасибо за отзыв! Да, на старте можно обойтись без выделенного сервера под транскодирование. Оптимально использовать облачные функции: либо готовые сервисы конвертации, либо небольшие виртуальные машины с автомасштабированием. При нагрузке до нескольких десятков одновременных загрузок это экономически и технически оправдано. Если скажете, какой стек и бюджет у вас планируется, подскажем конкретные варианты реализации.

Илья

Приветствую. Какой видеоплеер для сайта рекомендуете?

Студия Фонарь
Ответ на комментарий Илья

Здравствуйте, Илья! Смотря какие задачи вы перед собой ставите. На этом проекте глубокая кастомизация под образование. Поэтому именно JW Player сами выбрали и другим рекомендуем.

Наши клиенты

 

© Студия Фонарь, 2009-2026.
info@fonarstudio.ru