Как онлайн-кинотеатрам, видеохостингам и онлайн-школам не терять клиентов из-за долгой загрузки видео: простые способы

Разбираемся, какие технологии помогают онлайн-кинотеатрам, телеканалам, медиа, развлекательным и образовательным сайтам доставлять видеоконтент без задержек и сбоев.

Как онлайн-кинотеатрам, видеохостингам и онлайн-школам не терять клиентов из-за долгой загрузки видео: простые способы

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

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

Половина зрителей отключится, если ролик грузится дольше 10 секунд
Половина зрителей отключится, если ролик грузится дольше 10 секунд

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

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

Запуск проекта без ожидания поставок оборудования и лишних расходов

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

Плюсы облачных серверов:

  • Быстрый запуск проекта. Вам не нужно заказывать серверы и ждать, пока их доставят и подключат. Облачный сервер разворачивается в несколько кликов и сразу готов к работе. Кроме того, если с ростом проекта вам потребуются новые мощности, вы можете сразу подключить ресурсы в нужном объеме — не придется дозакупать оборудование.
  • Оплата за потребленные мощности. Железо всегда покупают с запасом — вдруг что-то сломается или нагрузка возрастет. Причем большую часть времени оборудование простаивает. Арендуя облачный сервер, вы платите провайдеру только за фактически использованные мощности, лишних расходов нет.

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

Объектное хранилище, чтобы без проблем раздавать петабайты видео

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

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

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

Традиционное хранилище организовано по принципу каталога — из-за большого количества запросов хранилище может отказать. В объектном хранилище пользователи обращаются напрямую к нужным файлам — задержек не возникает
Традиционное хранилище организовано по принципу каталога — из-за большого количества запросов хранилище может отказать. В объектном хранилище пользователи обращаются напрямую к нужным файлам — задержек не возникает

Например, объектное хранилище использовали, чтобы быстро запустить «Смотри Mail.ru» – новый сервис Mail.ru Group, который работает по принципу персонального телеканала, где для каждого посетителя формируются личные рекомендации фильмов, сериалов, новостей, шоу и музыкальных клипов. Для старта понадобилось надежное хранилище с возможностью гибкого масштабирования и оперативного наращивания мощностей, и S3-хранилище в облаке стало лучшим решением.

Простая загрузка видео по частям и добавление в приложение или на сайт в два клика

Простой доступ по ссылке. Видео, размещенные в объектном хранилище, легко интегрировать в приложение или добавить на веб-страницу. При этом пользователи получают доступ к ролику по URL, то есть обычной ссылке — это удобно для онлайн-кинотеатров, онлайн-школ, телеканалов и медиа.

Удобное транскодирование видео. В облаке вы можете кодировать ролики под разное разрешение, при этом ресурсы под процесс выделяются автоматически с учетом количества роликов.А платите вы только за использованные мощности с точностью до секунды. Чтобы значительно ускорить транскодирование, можно использовать облачные вычисления на основе высокопроизводительных GPU-процессоров.

Тяжелые исходники и уже обработанные файлы можно хранить в объектном хранилище.

Загрузка видео по частям. Еще один плюс объектного хранилища — простая работа с большими файлами благодаря загрузки видео по частям. Такую функцию называют Multipart.

Например, в сервисе для просмотра видео «Смотри Mail.ru» функцию используют, чтобы преобразовывать большие по объему исходники в несколько видеозаписей стандартного размера. Ролики перекодируют частями: из хранилища скачивается кусок исходника, он транскодируется и закачивается обратно в хранилище в виде фрагмента перекодированного видео.

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

Существенная экономия на хранении видеоконтента

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

Сравним стоимость традиционного и объектного хранилищ в облаке на примере ряда провайдеров:

  • Дисковое хранилище HDD на 1 ТБ стоит ~7 000 рублей. При этом утилизация зарезервированных дисков — около 60%, то есть в хранилище объемом 1 ТБ вы фактически можете разместить примерно 614 ГБ данных. Значит, для хранения 1 ТБ потребуется покупать больше дисков — это обойдется в ~11 600 рублей. Исходящий трафик в этом случае не тарифицируется, однако, цена хранения получается избыточно дорогой.
  • В облачном объектном хранилище для видеоконтента размещение 1 ТБ информации стоит ~1 750 рублей в месяц. Хранилище утилизируется на 100%, платить за дополнительные мощности не требуется. Входящий трафик бесплатен. Если мы учтем исходящий трафик, то за хранение 1 ТБ данных и 10 ТБ исходящего объема файлов вы заплатите ~9750 рублей в месяц — на ~1850 рублей меньше.

Однако, рассчитывая стоимость хранения и раздачи данных в хранилищах разного типа, нужно учитывать не только объем данных и исходящего трафика. Важна еще надежность и скорость раздачи видеоконтента.

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

Быстрая доставка контента пользователям и воспроизведение без задержек

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

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

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

Принцип работы CDN
Принцип работы CDN

Используя CDN совместно с облачным объектным хранилищем, вы решаете сразу две задачи: размещаете ролики в надежном хранилище, которое не откажет из-за большого количество запросов, и доставляете контент пользователям на высокой скорости.

Объектное хранилище и CDN в виде готового сервиса можно получить на платформе Mail.ru Cloud Solutions. Сеть доставки контента уже интегрирована с объектным хранилищем и подключается в пару кликов.

Что еще почитать по теме:

1010
31 комментарий

Я уже рассматривал mail.ru, дорого получается, нашел альтернативу за бугром, wasabi.com, работают по протоколу s3, API все как положено и cdn не нужен. 5$ за 1Тр хранения, видосики крутит норм тестил, проживаю на Дальнем Востоке.

3

 нашел альтернативу за бугром, wasabiИнтересный сервис. А какой объём вы там купили?

Они декларируют "Pay-as-you-go", но похоже, что меньше терабайта купить нельзя. А реально нужно пусть 100, самый максимум — 200 ГБ.

Для хранения может и норм, но у них нигде не указана стоимость раздачи данных. С 1Тб данных можно налить безумно много траффика в месяц, и во сколько это встанет?

1

Wasabi в таком виде, то есть при оплате только 1ТБ по модели pay-as-you-go, может быть вариантом для личного использования или небольших проектов. Для проектов, о которых идет речь в статье, нужно решение, которое тянет высокие нагрузки, подходит для цифровых сервисов с миллионами пользователей. Такие варианты у любого провайдера будут намного дороже. Использовать CDN при этом необязательно, это дополнительная опция, если нужно увеличить скорость раздачи без потери качества.  

Рекламная статья с попыткой попускать пыли в глаза. В целом облако - это очень дорого, если вы гоняете много контента. 

1. 8Tb диски стоят в районе 12к рублей, даже учитывая, что вы половину оставляете на резервирование данных, то это 2к рубля за терабайт.

2. Почему-то при расчете стоимости не указано, что при объеме в 10Тб прийдется заплатить 24к рублей при использовании CDN.

3. GPU при транскодировании видео не использует никто - слишком много артефактов.

4. Не нашел у вас цен за транскодинг видео, а это, как правило, недешевое удовольствие, почему вы это пропустили?

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

В зависимости от объёмов трафика и вовлеченности в технические детали, раздачу видео можно сделать во много раз дешевле, без потери качества.

К слову, нетфликс давным давно отказался от облака для раздачи видео.

2

Про GPU дичь написал, с остальным согласен.

1

Использование CDN необязательно, это дополнительная опция в том случае, если нужно увеличить скорость раздачи. Транскодирование видео не наша специализация, речь о том, что наши клиенты могут построить этот процесс, используя облачные сервисы. Для него можно использовать разную инфраструктурную основу, однако, s3-хранилище тут хорошо подходит для недорогого хранения исходников и обработанных роликов, GPU в облаке для ускорения процесса транскодирования, Kubernetes для автомасштабирования процесса и более простой обработки видео под разные разрешения. Всё перечисленное отлично помогает транскодировать видео через FFmpeg.

В Netflix уже много лет используют для раздачи видео облака https://medium.com/swlh/a-design-analysis-of-cloud-based-microservices-architecture-at-netflix-98836b2da45f и хранят свои данные в s3 https://netflixtechblog.com/optimizing-data-warehouse-storage-7b94a48fdcbe, как и многие другие крупные медиахостинги, и продолжают это делать.