Skip to content

Рассылка UDP с постоянным битрейтом (CBR)

Flussonic Media Server предоставляют функцию рассылки видео по мультикасту с постоянным битрейтом видео.

Поддерживаются расширенные настройки MPTS:

Как настроить отправку UDP multicast

Рассылку мультикаста можно сконфигурировать так:

stream tvchannel {
  input udp://239.171.0.1:1234;
  push udp://239.172.0.1:1234 bitrate=3200 vb=2720;
}

Либо без указания bitrate и vb:

stream tvchannel {
  input udp://239.171.0.1:1234;
  push udp://239.172.0.1:1234;
}

Параметры bitrate и vb — необязательные. Если вы не укажете их, Flussonic автоматически рассчитает подходящий битрейт и будет отправлять поток с рассчитанным постоянным видеобитрейтом. Указать их можно для того, чтобы получить постоянный битрейт сразу при запуске потока, затем Flussonic проверит оптимальность указанных значений. Если вы укажете неоптимальные bitrate и vb, Flussonic сам скорректирует их для реального видеопотока.

Параметр vb (video bitrate) — это среднее за секунду значение битрейта видеопотока, которое получится отправить, включая все заголовки и инкапсуляцию в транспортный поток. Так, например, значение vb=2720 соответствует примерно битрейту 2600, заданному в настройках транскодера.

Перед отправкой потока на клиентские устройства (ТВ) входной поток транскодируется и затем отправляется в UDP с постоянным битрейтом.

Пример эталонно сконфигурированного транскодера:

stream tvchannel {
  input udp://239.171.0.1:1234;
  transcoder vb=2600k bf=3 open_gop=true rc_method=cbr vui_video_params=0:0:5:5:5 fps=25 g=28 interlace=tff_separated level=3 refs=4 sar=16:11 size=1048x576:scale external=false hw=qsv ab=192k acodec=mp2a;
  push udp://239.172.0.1:1234 bitrate=3200 vb=2720;
}

Опции транскодирования описаны в справочнике по настройкам транскодера.

Результаты

Поток с полученным постоянным битрейтом выглядит следующим образом на графиках анализатора:

CBR MPTS

CBR MPTS

Самое главное, что график буфера выглядит уже эталонным:

CBR MPTS

Что же такое этот буфер? Речь идет о CPB, coded picture buffer, т.е. это буфер кадров. Он пополняется, когда они приходят из транспортного потока и удаляется, когда наступает PCR >= DTS. Т.е. у каждого кадра есть DTS и этот кадр будет лежать в буфере, пока не наступит время отдать его в декодер. Время наступает, когда приходит соответствующий PCR.

Также обратим внимание на хорошее качество перемешивания потока:

CBR MPTS

Чем равномернее перемешан поток, тем стабильнее будет PCR и общий битрейт при удалении одного из пидов из потока.

Это не все. Наше большое достижение — формирование выходного MPTS потока (мультипрограммного транспортного потока).