Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

HLS ABR на одном узле

В большинстве случаев, для проигрывания HLS ABR целесообразно использовать CDN, поскольку такое решение лучше масштабируется по вычислительной мощности. Однако, начиная со сборки 5.2.1582, поддерживается и транскодирование с нарезкой плейлистов по заданным качествам HLS ABR на одном узле

Code Block
themeRDark
hls_abr_enabled=true
hls_abr_with_cdn=false

В этом случае необходимо отключить прелоадер и транскодирование к определенному разрешению, поскольку поток будет транскодироваться по заданным профилям

Code Block
themeRDark
hls_preloader_enabled=false
hls_player_width=0
hls_player_height=0

Также необходимо включить выравнивание FPS при транскодинге

Code Block
themeRDark
transcoder_align_encoders=true 
video_filter_enable_fps=true
video_filter_fps=30
video_filter_fps_gop_synchronization=60

Профили транскодинга настраиваются в файле /usr/local/FlashphonerWebCallServer/conf/hls_abr_profiles.yml 

Code Block
languageyml
themeRDark
profiles:
  -180p:
    audio:
      codec : opus
      rate : 48000
    video:
      height : 180
      bitrate : 300
      codec : h264
      codecImpl : OPENH264
      gop : 60
      fps : 30

  -240p:
    audio:
      codec : opus
      rate : 48000
    video:
      height : 240
      bitrate : 500
      codec : h264
      codecImpl : OPENH264
      gop : 60
      fps : 30

  -480p:
    audio:
      codec : opus
      rate : 48000
    video:
      height : 480
      bitrate : 1000
      codec : h264
      codecImpl : OPENH264
      gop : 60
      fps : 30

  -720p:
    audio:
      codec : opus
      rate : 48000
    video:
      height : 720
      bitrate : 1500
      codec : h264
      codecImpl : OPENH264
      gop : 60
      fps : 30

Для HLS ABR поддерживается и Low Latency HLS

Code Block
themeRDark
hls_ll_enabled=true
hls_new_http_stack=true
Warning

При использовании HLS ABR на одном сервере, на этом сервере будет работать транскодинг к нескольким качествам для каждого опубликованного потока. Это потребует большого количества ядерс CPU и оперативной памяти.

Хранение сегментов HLS

Использование диска

...

Решение: не отправлять из браузера Chrome HTTP запросы на тот же сайт, с которого проигрывается HLS по HTTPS

9. При проигрывании LL HLS ABR в iOS Safari второй и последующие подписчики могут играть поток с большой задержкой.

Симптомы: первый iOS Safari подписчик подключается к потоку и играет нормально, последующие подписчики играют с большой задержкой относительно публикации

Решение: не использовать LL HLS ABR в iOS Safari