Советы по организации живых Live трансляций

Трансляции в реальном режиме времени становятся все более популярными во всем мире. Поэтому сегодня я предлагаю разобраться в том, как организовывать действительно достойную онлайн трансляцию. Одним из самых важных моментов в Live трансляции является качество отображения видео на стороне клиента, а именно плавность воспроизведения и четкость изображения.

Рекомендации и советы

Ниже я публикую некоторые рекомендации нашей команды, которые непосредственно относятся к нашему опыту, полученному в ходе настройки и организации всевозможных живых трансляций.

Отмечу, что очень часто, в качестве медиасервера мы используем — Wowza Streaming Engine. И так начнем!

  1. В первую очередь вам, как организаторам трансляции необходимо понять, кто и на каких устройствах будет смотреть вашу live трансляцию. Конечными устройствами могут быть: смартфоны, планшеты, компьютеры, Smart-телевизоры. Когда вы хотя бы примерно понимаете, какие устройства и операционные системы есть у удаленных клиентов, вам будет намного проще выбрать формат потока, например HLS/HDS/Flash и пр.
  2. Далее необходимо подобрать подходящие битовые потоки (например, 1 Мбит/c, 5 Мбит/с и пр.), которые смогут принимать удаленные пользователи в условиях существующих у них Интернет-каналов. Лучше всего настроить динамическое переключение скоростей потоков, при котором пользователи будут получать live потоки с наиболее подходящим битрейтом. На сегодняшний день большинство видеокодеров могут одновременно кодировать исходный сигнал (например, с камеры) сразу в несколько потоков с разными битовыми скоростями (битрейтами).  Например, Flash Media Live Encoder параллельно может кодировать 3 потока. Также разделение потока, сформированного на видеокодере, можно сделать в реальном режиме времени на медиасервере.
  3. Выбор видеокодера, медиасервера, физического сервера, плеера напрямую зависит от вашего бюджета и необходимости в определенном функционале.

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

Битовые скорости потоков в видеотрансляциях

На сегодняшний день есть два основных подхода для создания нескольких битовых скоростей потоков одного и того же источника сигнала.

Подход 1

Первый подход — это когда видеокодер, например, WireCast или FMLE формирует в реальном режиме времени копии одного потока (например, видео с видеокамеры) с разными битовыми скоростями и отправляет их на медиасервер (например, Wowza Streaming Engine), с которого уже трансляция просматривается удаленными пользователями. В зависимости от скорости Интернет-канала, к которому подключено устройство просмотра удаленного пользователя ему будет отправляться мультимедийный поток с наиболее подходящим битрейтом (адаптивное вещание).

Подход 2

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

Примеры

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

Если же у вас по какой-то причине нет технической возможности сделать множество потоков с разными битовыми скоростями одной видеотрансляции, тогда попробуйте приблизительно оценить условия получения потоков вашими удаленными клиентами и выбрать одну единственную, но наиболее подходящую битовую скорость, например, 1 Мбит/c.

Далее, в качестве примеров, я публикую битовые скорости потоков, которые предлагают использовать передовые в области передачи видеопотоков компании. В таблице ниже указаны битовые скорости потоков рекомендуемые для использования на видеокодерах (FMLE и пр.) пользователей отправляющих потоки на медиасервер (сервис) YouTube. Отмечу, что новая площадка онлайн видеотрансляций YouTube уже умеет автоматически разбивать один единственный поток на несколько.

youtube_bitrates

 

Битовые скорости потоков, рекомендованные Google (YouTube)

В качестве еще одного примера привожу таблицу скоростей потоков, которые формирует аппаратный видеокодер VidiU, который производится компанией Teradek.

teradek_bitrates

 

Битовые скорости потоков, которые может формировать VidiU

Источник