Стриминг завоевал мир.
По данным Grand View Research, объём мирового рынка лайвстриминга в 2020 году составил $50,1 млрд. И по прогнозам до 2028-го он будет увеличиваться в среднем на 21% в год.
Чем больше видеоконтента на рынке, тем выше конкуренция, а значит, более высокие требования предъявляются и к качеству. Поэтому отличным должен быть не только сам контент, но и трансляция. Мало кто захочет досматривать видео до конца, если оно медленно грузится, воспроизводится в низком качестве или с огромными задержками. Все эти моменты во многом зависят от того, какую стриминговую платформу вы выберете.
Каким должен быть продвинутый стриминг в 2021 году? Рассказываем о пяти главных трендах.
Представьте: вы проводите онлайн-квиз. У участников есть ровно минута, чтобы ответить на вопрос. Вы засекаете время и секунда в секунду прекращаете приём ответов. Но половина игроков не успела их отправить, потому что квиз транслируется с задержкой в 30 с. И когда у вас время уже вышло, участники считают, что у них есть ещё полминуты в запасе.
Чтобы не возникало таких неприятностей, трансляция должна быть максимально близка к реальному времени. Это особенно важно для:
Хотя сейчас максимально сократить задержку стараются не только для этих сфер. Low Latency Streaming постепенно становится обязательным требованием к любым трансляциям.
Чтобы это понять, нужно знать, как в целом устроена передача видео.
Чтобы свести задержки к минимуму, нужно попытаться сократить время на всех этапах.
Low Latency Streaming — это стриминг с задержкой не больше 4 с. Основные механизмы, которые сейчас используют для этого, — Chunked CMAF, HTTP CTE, Low Latency HLS, SRT, Low Latency CDN.
CMAF — протокол потоковой передачи видео. Разработан по заказу Apple и Microsoft в 2017 году.
На его основе был создан расширенный формат — Chunked CMAF.
В CMAF видео делится на сегменты (плей-листы) длительностью 2–6 с. Пока один сегмент воспроизводится, остальные загружаются в буфер. Там обычно находятся 3–4 сегмента. И пока буфер не заполнен, воспроизведение не начинается. Это приводит к задержкам в 10–30 с.
В Chunked CMAF сегменты делятся на подсегменты (чанки). Они гораздо короче и могут воспроизводиться до того, как будет передан весь плей-лист. Это сокращает задержку в несколько раз.
CTE (Chunked Transfer Encoding) — это механизм передачи данных в протоколе HTTP. Доступен начиная с HTTP 1.1.
Принцип его работы точно такой же, как у Chunked CMAF. CTE делит файл на несколько маленьких элементов. Они могут быть любого размера, вплоть до одного кадра.
Механизм очень удобен в тех случаях, когда неизвестен окончательный размер всего сообщения. Без HTTP CTE с каждым пакетом нужно было бы указывать заголовок Content-Length, чтобы клиент мог найти его конец. А в случае с онлайн-трансляцией не всегда можно точно предсказать, когда она закончится.
С CTE фрагменты передаются вместе с указанием их размера, а конец передачи обозначается последним фрагментом с нулевой длиной.
В обновлённой версии HLS будет поддержка Low Latency. От предыдущей версии отличается тем, что так же, как и в Chunked CMAF, плей-листы делятся на маленькие части. Минимальная длина чанка — 200 мс.
Помимо этого, в новой версии была усовершенствована работа с плей-листами. Они обновляются сразу после появления обновлений, а не после запроса, и вместо полного фрагмента отправляется только его часть. То есть изначальный плей-лист сохраняется, а клиент получает только обновлённый кусок.
Если использовать Low Latency HLS вместе с CDN, задержку можно сократить до тех же 4 с.
Это протокол передачи данных на основе UDP. Разработан компанией Haivision специально для передачи видео по непредсказуемым сетям.
UDP — более простой протокол, чем TCP. Его модель передачи не содержит «рукопожатий» для упорядочивания и проверки целостности данных. Поэтому он доставляет пакеты быстрее, чем TCP.
Но так как в UDP не предусмотрена проверка правильного порядка пакетов, их целостности и исправление ошибок, в непредсказуемых сетях он может передавать данные неправильно. Часть пакетов может потеряться, а часть придёт не в том порядке.
SRT был разработан, чтобы решить эту проблему. Передача данных по нему идёт так же быстро, как по UDP, но при этом есть функция восстановления потерянных пакетов, мониторинг состояния сети, исправление ошибок.
Как обеспечивается целостность и правильный порядок:
Такой принцип работы надёжен и при этом обеспечивает более высокую скорость передачи, чем по TCP. TCP в аналогичной ситуации будет работать по-другому. Он так же, как и SRT, подтверждает получение пакетов, но делает это не после каждого пакета, а после определённой серии. Если в ней чего-то не хватает, TCP сообщит об ошибке, и получателю заново будет передана вся серия, а не один пакет.
С SRT задержка составит 0,5–3 с. При этом он не только сокращает задержки, но и обеспечивает надёжную передачу данных.
CDN — это множество связанных между собой серверов (точек присутствия), которые получают данные с сервера-источника, кешируют их и передают конечным пользователям. Основная цель, для которой была придумана CDN, — обеспечить бесперебойную и максимально быструю доставку контента для очень большого количества конечных потребителей, будь то 1 пользователь, 1 000 или 1 000 000+ одновременно.
Например, вы ведёте трансляцию из Германии и хотите, чтобы ваше видео было доступно во всём мире. С CDN все зрители будут получать его одинаково быстро.
CDN-серверы забирают видео с сервера-источника и доставляют конечным пользователям. При этом сами точки присутствия располагаются как можно ближе к потребителям. Получается развёрнутая сеть с большим количеством маршрутов и узлов.
В случае со статическим контентом информация, которую пользователь запрашивал ранее, кешируется на CDN-серверах и быстро выдаётся при следующих запросах. А в случае с онлайн-трансляциями CDN работает так:
Нагрузка при этом распределяется равномерно. И если какой-то CDN-сервер перегружен, клиенты получат видео с другого ближайшего сервера. Это особенно важно, если ваши стримы смотрят миллионы людей.
Стандартный механизм кеширования в CDN предполагает, что контент хранится на жёстких дисках в виде полных законченных сегментов по 6–10 с. Но для онлайн-трансляций это не оптимально: требуется время, чтобы отдать материалы с дисков, а это приводит к задержкам.
Чтобы избежать этого, мы кешируем видео в оперативной памяти и делим сегменты на более мелкие чанки. Так они быстрее доставляются пользователям.
Ultra Low Latency называют задержки в пределах 1 с. Главная технология, способная обеспечить такую скорость передачи, — WebRTC.
Это стандарт связи, который позволяет передавать видео непосредственно между браузерами без дополнительных расширений и программ.
Технология может применяться и для видеозвонков, и для онлайн-трансляций.
Как это работает:
Вместе с этим WebRTC использует UDP. В случае с онлайн-трансляциями или видеочатами правильный порядок файлов не так актуален, поскольку передача видео идёт в реальном времени. Поэтому использовать менее надёжное, но более простое и быстрое соединение в этом случае — лучшее решение.
С WebRTC очень легко организовать видеочат или онлайн-конференцию, поскольку не нужно устанавливать и настраивать дополнительное ПО.
Так как стандарт изначально разрабатывался для создания видеозвонков, он сделан таким образом, чтобы обеспечивать минимально возможную задержку.
Уникальный контент нужно хорошо защищать. В противном случае пираты легко смогут скопировать видео и присвоить его или выложить в сеть в свободный доступ. И тогда ваш продукт потеряет свою уникальность, а вы — желаемую прибыль.
Современная стриминговая платформа должна использовать эффективные механизмы для защиты контента.
Технологии, позволяющие надёжно защитить информацию:
Подробнее об этих технологиях читайте в статье «Как эффективно защищать видеоконтент».
Продвинутая стриминговая платформа должна обеспечивать доступность трансляции при любом интернете и передавать видео в высоком качестве.
Чтобы видео грузилось быстро при любом качестве интернет-соединения, используют адаптивный битрейт. Это метод, который позволяет подстраивать качество видео под скорость интернета каждого конкретного пользователя.
Если у зрителей хороший интернет, трансляция будет идти в 4K/8K. При плохой связи видео всё равно будет доступно, но в более низком качестве.
При этом пониженное качество может быть не у всего видео целиком, а у отдельных фрагментов. Например, зритель смотрит трансляцию в дороге. На каких-то участках его пути будет 4G, и видео будет доступно в максимальном качестве. А там, где мобильный интернет будет хуже, качество снизится.
Видео в хорошем качестве весит очень много. Если бы оно передавалось «как есть», без изменений, до получателей оно бы шло очень долго. Да и сам по себе файл такого объёма было бы просто негде хранить. Чтобы видео было легче передавать и хранить, оно сжимается перед отправкой.
Существуют разные методы, позволяющие уменьшить размер файла. Например, можно удалить некоторые элементы видео: звуки или кодирование цвета.
Это не значит, что видео точно станет менее качественным. Обычно удаляются несущественные элементы, которые человек не воспринимает. Например, наш глаз более чувствителен к яркости, чем к цвету, и количество битов, которые отводятся на кодирование цвета, можно сократить. Обычный человек без профессионального оборудования не заметит никакой разницы.
Объясняем на простом примере, как это работает. Представьте, что у нас есть башенка из кубиков: внизу — 3 синих кубика, дальше — 4 зелёных, а сверху — 2 красных. Получается 9 кубиков.
Вместо того чтобы показывать все 9 кубиков, мы можем оставить по одному кубику каждого цвета и подписать, сколько каких кубиков должно быть. Вместо 9 останется 3.
Объект стал меньше. Но по цифрам мы можем понять, каким был оригинал, и восстановить исходное состояние.
С видео происходит то же самое. Вместо того чтобы фиксировать каждый пиксель, алгоритм определяет количество одинаковых, их расположение и сохраняет только данные уникальных пикселей.
Алгоритм, отвечающий за сжатие видео, называется видеокодеком. Он уменьшает размер видео в мегабайтах, сохраняя его визуальную составляющую.
Самые популярные кодеки сейчас — AVC (H.264), HEVC (H.265), VP8 и VP9. Также начинают обсуждаться и использоваться AV1 и VVX (H.266).
1. AVC (H.264). Лицензируемый стандарт сжатия видео. Разработан группой экспертов по кодированию видео ITU-T совместно с ISO/IEC Moving Picture Experts Group (MPEG) в 2003 году. Способен без ущерба для качества уменьшить размер файла более чем на 80%.
Этот кодек очень важен для трансляций с низкими задержками. Способен передавать видео со скоростью до 10 Мбит/с.
Сжатие видео происходит за счёт объединения одинаковых элементов. Вместо того чтобы передавать каждый пиксель однотонного фона, AVC объединяет их в макроблок и обозначает, что весь фрагмент имеет один цвет. А при воспроизведении пиксели восстанавливаются так, как они были расположены в оригинале. Это называется внутрикадровым прогнозированием.
Вместе с этим кодек умеет объединять фрагменты в макроблоки не только в рамках одного кадра. Он просматривает несколько кадров и определяет, что в них есть области, которые не меняются. Например, вы транслируете вебинар. Спикер сидит за столом и ведёт лекцию. Из кадра в кадр меняется только лицо лектора, двигаются его губы, а стол и фон остаются неизменными. AVC вычисляет, какие части изображения меняются, и передаёт только их, а всё другое остаётся без изменений. Это называют межкадровым прогнозированием.
Максимальный размер макроблоков — 16×16.
Сейчас AVC — это один из самых распространённых кодеков. Он поддерживается во всех браузерах и на любых устройствах.
2. HEVC (H.265). Этот кодек был разработан в качестве более совершенной замены AVC. Цель его создания — уменьшить размер видео в два раза при сохранении того же качества. Поддерживает форматы до 8K и разрешение до 8192×4320 пикселей.
Технология особенно важна для трансляций в 4K. Она позволяет сохранить высокое качество и при этом доставлять видеопоток максимально быстро.
Так же, как и AVC, HEVC использует технологии внутрикадрового и межкадрового прогнозирования, но делает это намного эффективнее. Размер макроблоков может быть до 64×64 — в разы больше, чем у AVC. Это значит, что HEVC может передавать меньшее количество фрагментов, и общий размер видео будет меньше.
Согласно данным разных исследований, H.265 превосходит своего предшественника на 35–45%. Кодек поддерживается на iOS и Android, на большинстве приставок и Smart TV, работает в Safari, Edge, Internet Explorer, но не поддерживается в Chrome и Firefox.
3. VP8. Разработан компанией On2 Technologies. Был анонсирован в 2008 году.
По принципу сжатия этот кодек похож на AVC и имеет примерно такую же эффективность. Он также использует методы внутрикадрового и межкадрового прогнозирования. Максимальный размер макроблоков — 16×16. Поэтому так же, как и AVC, он сильно проигрывает HEVC в эффективности передачи видео в Full HD и 4K.
Однако VP8 хорошо справляется со сжатием видео в реальном времени, поэтому он используется в WebRTC как видеокодек по умолчанию.
VP8 поддерживают все популярные браузеры и устройства на Android. Но на iOS он работает только в сторонних приложениях.
4. VP9. Видеокодек, разработанный Google в 2013 году. Эволюционный преемник стандарта VP8. С 2014 года поддерживается в YouTube.
VP9 во многом похож на HEVC. Оба кодека одинаково эффективны, отлично подходят для передачи видео в 4K. Как и HEVC, VP9 поддерживает макроблоки до 64×64. Но если в HEVC эти блоки могут быть только квадратными, то в VP9 это необязательно — технология может объединить пиксели и в прямоугольный фрагмент. Такие блоки можно более эффективно обработать, и это даёт VP9 преимущество.
Но, с другой стороны, у него всего 10 вариантов прогнозирования, тогда как у HEVC — 35. Большее количество прогнозирований даёт HEVC визуальное преимущество. Получается, что при использовании HEVC качество будет немного выше, но VP9 обеспечивает такую же быструю передачу видео.
Исследование 2014 года показало, что VP9, как и HEVC, превосходит AVC и VP8 по эффективности на 40–45%.
Кодек поддерживается на всех мобильных устройствах, на большинстве приставок и Smart TV. Работает во всех популярных браузерах, кроме Safari.
5. AV1. Это следующий шаг в развитии сжатия видео после VP9. Был создан в 2018 году ассоциацией Alliance for Open Media, в которую входят Google, Microsoft, Apple, Netflix, Amazon и другие крупные компании из сфер электроники, видеопроизводства, разработки браузеров.
При создании кодека разработчики опирались на VP9, наработки Cisco Thor Project и Mozilla Daala. Их целью было создать кодек, который будет принципиально лучше существующих решений. И им это удалось. В апреле 2018 года Facebook Engineering провели исследование и выяснили, что AV1 на 30% лучше, чем VP9, и на 50% превосходит AVC.
Увеличить эффективность удалось за счёт улучшения внутрикадрового прогнозирования.
В HEVC и VP9 очень хорошо работает межкадровое прогнозирование. Вспомним наш пример с вебинаром. Видео начинается с того, что спикер сидит за столом и читает лекцию. Кодек передаёт первый кадр полностью — изображение спикера, стол и фон. Следующие кадры не передаются полностью, отправляются только изменения. Первый кадр называется опорным. Их в видео может быть много, и это количество зависит от того, насколько динамично развивается действие и как часто меняются сцены.
И если промежуточные кадры, в которых передаются только изменения, весят очень мало, то опорные по-прежнему достаточно массивны. Разработчики AV1 решили, что стоит сделать упор на уменьшение размера опорных кадров, а значит, уделить внимание внутрикадровому прогнозированию.
Например, AV1 использует прогнозирование цветности по яркости. Полностью кодируется только яркость кадра, а цвета восстанавливаются на основе значений яркости. Это позволяет сократить количество информации о цветах и уменьшить объём.
Чтобы при минимальной информации о цвете прогноз был точным, прогнозирование идёт по фрагментам. Например, в кадре небо. В одной части оно светлее, в другой — темнее. Чтобы не передавать все оттенки синего, всё небо объединяется в один фрагмент. При этом та часть, где яркость выше, должна быть светло-голубого цвета, а чем ниже яркость, тем темнее оттенок, вплоть до тёмно-синего.
Такое прогнозирование позволяет объединять пиксели в более крупные фрагменты. Чем крупнее фрагменты, тем их меньше и тем меньше будет весить видео.
Единственный минус этого кодека в том, что он пока мало распространён. Приставок и Smart TV, которые бы его поддерживали, тоже пока мало, ведь кодек довольно молодой. Но зато в самых популярных браузерах — Mozilla Firefox, Edge и браузерах на базе Chromium — он уже работает.
На стриминге можно зарабатывать по-разному.
Можно продавать видео или доступ к трансляциям за деньги. А можно делать бесплатный контент, но зарабатывать на рекламе. Если вы выбрали второй способ, возникает вопрос, как сделать так, чтобы рекламу не заблокировал Adblock.
Рекламные блоки могут внедряться в видео разными способами:
Рекламный блок может запускаться по меткам DTMF/SCTE-35 внутри потока или по расписанию в чанках. Могут использоваться рекламные протоколы VAST/VPAID.
Современные технологии показа роликов позволяют не просто вставлять рекламу, но и получать статистику по взаимодействию с ней зрителей. Так вы сможете понять, сколько людей посмотрело ролик, какую рекламу пользователи чаще пропускают, а какую досматривают до конца, влияет ли на это местоположение рекламы в видео.
Существуют специальные программы для блокировки Adblock. Действуют они по-разному. Некоторые просто блокируют работу блокировщика рекламы, а какие-то настроены на то, чтобы показывать зрителям баннер с просьбой отключить Adblock, чтобы поддержать производителей контента.
Такие методы отчасти помогают справиться с блокировкой рекламы. Но есть и более эффективный механизм — врезка рекламы в видео.
Server-Side Ad Insertion — это специальный модуль, который позволяет показать видеорекламу даже тем, кто использует Adblock.
Механизм помещает рекламу внутрь видеоконтента так, чтобы блокировщик не смог отличить оригинальный контент от рекламного. Этот способ более сложен в технологическом плане, но даёт массу преимуществ и способов монетизации.
Если стриминговая платформа не поддерживает эту функцию, большинство пользователей просто не увидят вашу рекламу, и вы потеряете часть своего дохода.
Вам нужна полноценная платформа с поддержкой трансляции на всех этапах от захвата видео до воспроизведения? Или, может, у вас есть своя система, но вы хотите модернизировать её с помощью отдельных технологий?
Всегда должен быть выбор: брать систему целиком или подключить только отдельные функции и не платить за лишнее.
Например, наша стриминговая платформа поддерживает все этапы трансляции:
Но если вам не нужна платформа целиком, то мы интегрируем в ваш бизнес отдельные модули.
Наша платформа отвечает всем современным требованиям. Мы используем передовые технологии для передачи видео и сокращения задержек. Обеспечиваем задержки в пределах 4 с или 1 с.
Защищаем контент от нелегального просмотра и копирования с помощью AES, DRM, CORS и безопасных ссылок.
Используем все современные кодеки, о которых говорилось в этой статье, и можем передавать видео в качестве до 8K. Но при этом ваша трансляция будет доступна на любых устройствах при любом интернете благодаря адаптивному битрейту.
Органично встраиваем рекламу в видео в обход Adblock. Поддерживаем четыре рекламных режима: преролл, мидролл, постролл и паузролл.
1. Транскодинг. Преобразование видео из одного формата в другой так, чтобы оно соответствовало требованиям того устройства, на котором воспроизводится.
Например, некоторые форматы могут не поддерживаться на смартфонах и планшетах. Чтобы не делать две трансляции, используется транскодинг. Видео перекодируется в нужные форматы для разных устройств.
Транскодер также изменяет качество видео, подстраивая его под разных пользователей. Например, у кого-то из зрителей старый компьютер, который не поддерживает Full HD, — для таких пользователей видео будет перекодировано в HD. Или, например, кто-то смотрит трансляцию в условиях плохого интернета — чтобы видео не тормозило каждые десять секунд, качество снижается до оптимального уровня.
С нашей стриминговой платформой вы сможете доставлять видео на любые устройства в HD, Full HD, 4K и 8K. Транскодирование осуществляется на наших мощных серверах.
Как это работает:
Ваша трансляция будет доступна каждому, на любых устройствах и при любом интернете.
2. HTML5-плеер.
3. DVR. Запись и перемотка прямого эфира. Не беда, если кто-то из зрителей пропустит важный момент: он всегда сможет перемотать трансляцию назад и пересмотреть пропущенную часть. Для зрителей это очень удобно.
Функция позволяет записывать до 4 часов прямого эфира.
4. Единая панель управления для стриминга и CDN. Если у вас уже есть наша CDN, вам не нужно заводить отдельный личный кабинет для стриминговой платформы. Управляйте продуктами через общую панель с интуитивно понятным интерфейсом.
5. Статистика и аналитика. Узнавайте количество зрителей, число уникальных пользователей, список рефералов и другую важную информацию. Любую статистику можно регулярно получать через личный кабинет.
6. Ретрансляция в любые социальные сети. Вы можете вести стрим сразу в нескольких соцсетях. Для этого не нужно ничего подключать дополнительно. Просто добавьте нужные соцсети, и видео будет транслироваться туда автоматически.
7. Круглосуточная техподдержка. При организации онлайн-трансляций особенно важно, чтобы всё работало хорошо: чтобы у всех пользователей был отличный звук, чёткое изображение, видео быстро загружалось и не тормозило. А если возникают неполадки, важно устранять их как можно быстрее.
Наши специалисты оперативно решат любую проблему. И не важно, в какое время дня и ночи вы ведёте стрим — поддержка работает 24/7.
Протестируйте нашу стриминговую платформу. Посмотрите, как она работает, и убедитесь, что это эффективное решение. Или начните с бесплатной консультации.