Flussonic

Забирать отдельный битрейт после мультибитрейтного транскодера

hls
transcoder

#1

Использую NVENC транскодер во Flussonic, кодируя HD телеканалы в три профиля:

  • 1080p 3000kbps
  • 720p 2000kbps
  • 576p 1000kbps

С этим все хорошо, на выходе адаптивный битрейт по HLS.

Но что делать, если нужно забрать только одно качество? Пробовал заводить отдельными потоками, кодирую каждый поток в одно качество, но тогда нагрузка на видеокарту вырастает (три раза декодируется один и тот же поток, nvidia-smi показывает высокую нагрузку на decoder), да и адаптивный битрейт теряем.

Может быть, есть какое-то готовое решение?


#2

Для этого предусмотрены специальные HLS ссылки: videoN.m3u8, где N - номер видеодорожки.

При использовании транскодера, у дорожек строгий порядок. Приведу пример:

vb=3000k vb=2000k size=1280x720 vb=1000k size=720x576

В этом случае по ссылке /video1.m3u8 будет доступно видео в 3000 кбит/сек,
По ссылке /video2.m3u8 - вторая дорожка (vb=2000k size=1280x720), а /video3.m3u8 - последняя (vb=1000k size=720x576).