{"id":14271,"url":"\/distributions\/14271\/click?bit=1&hash=51917511656265921c5b13ff3eb9d4e048e0aaeb67fc3977400bb43652cdbd32","title":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043d\u0430\u0442\u0438\u0432\u043e\u043a \u0438 \u0441\u043f\u0435\u0446\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 vc.ru \u2014 \u043d\u0430\u0439\u0434\u0438\u0441\u044c!","buttonText":"","imageUuid":""}

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

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

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

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

Половина зрителей отключится, если ролик грузится дольше 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 в виде готового сервиса можно получить на платформе Mail.ru Cloud Solutions. Сеть доставки контента уже интегрирована с объектным хранилищем и подключается в пару кликов.

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

0
31 комментарий
Написать комментарий...
Дмитрий Шепелёв

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

Ответить
Развернуть ветку
Dear Moscow,
 нашел альтернативу за бугром, wasabi

Интересный сервис. А какой объём вы там купили?

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

Ответить
Развернуть ветку
Дмитрий Шепелёв

5$ в месяц за 1Тр смешные деньги, равный одному обеду в кафе. 😉

Ответить
Развернуть ветку
Дмитрий Шепелёв

Подписка на 1 Тр за 5$ первые два месяца я платил 360 рублей. Сервис норм мне нравиться, он спасает сайты на WP много людей интересовались что их онлайн школы на хостинге не могут содержать 300 Гб информации, интеграция через плагин для wassbi решило Милион проблем.

Ответить
Развернуть ветку
Dear Moscow,
 1 Тр за 5$ первые два месяца я платил 360 рублей

Так 360 руб. — это и есть 5 долларов :)

В целом понял, спасибо. Для медийщиков — отлично, но мне нужно раз в 10 меньше.

 5$ в месяц за 1Тр смешные деньги

Это когда у вас нет горы других сервисов, требующих регулярной оплаты. 
А когда есть, смотришь на годовые расходы, и не по себе становится.

Ответить
Развернуть ветку
Артём Палённый

Так эти сервисы помогают твоему делу, которое приносит прибыль, ведь так..?

Ответить
Развернуть ветку
Dear Moscow,
 эти сервисы помогают твоему делу, которое приносит прибыль

Помогают, конечно. 
Просто годовые суммы всё равно расстраивают — смотришь и с удивлением обнаруживаешь, что легко мог бы купить что-то ещё, что тоже бы вполне помогало.

Ответить
Развернуть ветку
Bulat Ziganshin

есть лaйфхак - устраиваешься на работу в яндекс, тебе дают 250 гиг я.диска, затем увольняешься, но место остаётся

Ответить
Развернуть ветку
Alex

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

Ответить
Развернуть ветку
Дмитрий Шепелёв

Раздача трафика бесплатна они не берут за трафик только за хранение информации, звучит как парадокс но это реально, внимательно читайте инфу на сайте.

Ответить
Развернуть ветку
Alex

В таком случае на высоком трафике неизбежно будут сюрпризы: бан или троттл. Гонять много траффика - дорогое удовольствие. 

Ответить
Развернуть ветку
VK Cloud
Автор

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

Ответить
Развернуть ветку
Alex

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

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

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

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

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

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

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

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

Ответить
Развернуть ветку
Зеленый и громкий

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

Ответить
Развернуть ветку
Alex

а что, nvenc стал нормальный vmaf выдавать?

Ответить
Развернуть ветку
Зеленый и громкий

ffmpeg. У nvenc задача другая — кодировать стримы в реальном времени.

Ответить
Развернуть ветку
Alex

Понятно, желаю удачи в дальнейшем развитии 👍🏻

Ответить
Развернуть ветку
Зеленый и громкий

Пейте витамины

Ответить
Развернуть ветку
VK Cloud
Автор

Использование 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, как и многие другие крупные медиахостинги, и продолжают это делать. 

Ответить
Развернуть ветку
Alex

Ну вот там в статье все так и указано: нетфликс использует AWS для баз данных и раздачи статики: картинки, текст, может трейлеры максимум. Но они не выжили из ума, чтобы раздавать видео через Амазон. У них давно построен свой CDN и выстроен процесс работы с провайдерами, которые могут поставить их эдж себе.

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

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

Ответить
Развернуть ветку
VK Cloud
Автор

Netflix использует облачные вычисления и S3 в облаке для хранения и транскодинга видео https://netflixtechblog.com/mezzfs-mounting-object-storage-in-netflixs-media-processing-platform-cda01c446ba, https://about.netflix.com/en/news/completing-the-netflix-cloud-migration. Да, у них действительно своя сеть CDN: об этом мы и говорили, что использование CDN провайдера опционально. При этом надо учесть, что построить собственную CDN под ключ — дорогая и нетривиальная с технической точки зрения задача. Не каждому новому медиахостингу рентабельно этим заниматься.

По поводу стоимости. Если сравнивать только стоимость хранения объема, то да, облако будет дороже. Но облако выбирают проекты, которым важно резервирование данных, так как если делать резервирование по нескольким ЦОДам у себя, то это уже совсем другой ценник. Плюс в облака идут проекты, для которых важно не переплачивать за простаивающие СХД, потому что в облаке можно арендовать сколь угодно малый объем, вырастить его до сколь угодно большого, потом уменьшить обратно. У себя такое реализовать не выйдет. Если таких потребностей нет, то да, можно обойтись и On-premise. 

Ответить
Развернуть ветку
Alex

Вообще, мы строили гибридные CDN, где основную часть траффика обслуживают on-premise сервера, но во времена спайков подрубались облачные эджи. В принципе неплохо получилось на самом деле.

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

Ответить
Развернуть ветку
VK Cloud
Автор

Если есть свой ЦОД, и бизнес-модель показывает, что будет понятная ожидаемая нагрузка, а в штате есть человек, который может это построить с реализацией нужного уровня бесперебойности доступа, то это неплохой вариант. Можно масштабироваться в On-premise, а риски от затягивания закупок и так далее закрывать в облаке.

Ответить
Развернуть ветку
Bulat Ziganshin

gpu настолько не используют, что интел выпускает специальную линейку плат для этого :)

Ответить
Развернуть ветку
Игорь Лихачев

Дельные советы :) 

Ответить
Развернуть ветку
Bulat Ziganshin

если просто файлы хранить - то яндекс.диск что-то типа 300р за ТБ, у МС сразу 5 ТБ раза в два дороже

Ответить
Развернуть ветку
VK Cloud
Автор

Яндекс.Диск, как и другие аналогичные решения вроде облака Mail.ru для обычных пользователей, Гугл-диска и так далее, подходят для личного использования и внутренней работы команд. Но эти решения не подходят для хранения и быстрого доступа к таким объемам данных, о которых идет речь в статье, то есть это не решения для построения сервисов, которые массово раздают видео. О разных видах облачных хранилищ мы писали тут: https://mcs.mail.ru/blog/chto-takoe-oblachnye-hranilishcha-v-kakih-luchshe-hranit 

Ответить
Развернуть ветку
Bulat Ziganshin

абсолютно верно - тут просто дискуссия ушла именно в сторону личного хранения файлов

Ответить
Развернуть ветку
Дмитрий Шепелёв

Вот если сделаете 4$ за 1Тр я перееду к вам. 😁

Ответить
Развернуть ветку
Вадим Клюев

а какой сервис облачный хорошо пойдет для аудиофайлов, чтоб был код вставки, просто диск со ссылкой как-то не очень

Ответить
Развернуть ветку
VK Cloud
Автор

Для личного пользования можно использовать soundcloud, нужно залить файл туда, нажать кнопку кнопка share и во вкладке embed забрать код. 

Ответить
Развернуть ветку
28 комментариев
Раскрывать всегда