Задержка идентификации для каждого компонента в службах прямой трансляции

#ffmpeg #http-live-streaming #live-streaming #aws-media-live #aws-mediapackage

#ffmpeg #http-прямая трансляция #прямая трансляция #aws-media-live #aws-mediapackage

Вопрос:

Я использую конвейер ниже для прямой трансляции, я могу найти сквозную задержку, которая составляет около 30-35 секунд, есть ли способ определить задержки для каждого компонента, например, задержку в MediaLive и задержку в MediaPackage?

 OBS (Open broadcast) --RTMP--> MediaLive --HLS-> MediaPackage --HLS--> Cloudfront -> video.js player
 

Ответ №1:

Задержка везде, поэтому важно выяснить, какие компоненты привели к задержке. Однако каждый компонент будет вводить часть задержки:

  • RTMP: задержка составляет около 1 секунды, если сеть в порядке.
  • HLS: задержка составляет около 3 ~ 5 с, зависит от продолжительности ts.

Я предполагаю, что минимальная задержка вашей системы составляет около 5-10 секунд. Где кодировщик занимает 0,8 с, RTMP — 1 с, HLS — 1 ~ 3 с, CDN — около 1 ~ 3 с, проигрыватель — 1 ~ 3 с. Пожалуйста, проверьте это с помощью некоторых инструментов, приведенных ниже.

Используйте небольшой инструмент online stopwatch или другие подобные, затем используйте OBS window capture для захвата секундомера в прямой трансляции и воспроизведения потока RTMP / HLS из MediaLive и HLS из cloudfront, вы получите задержку каждой системы.

Вы также можете использовать FFmpeg для замены OBS для публикации потока RTMP с фильтром для отображения метки времени, пожалуйста, прочитайте SRS # 2742.

Пожалуйста, используйте ffplay, flv.js , hls.js чтобы воспроизвести поток, НИКОГДА не используйте VLC, который сам по себе имеет огромную задержку.

После определения задержки будет дано несколько советов:

  • Для RTMP-сервера отключите кэш gop.
  • Для HLS используйте меньшую длительность ts, например, 1-2 секунды.
  • Для кодировщика (OBS) используйте Main или Baseline с меньшим gop 1s и настройтесь на нулевую задержку.
  • Если возможно, используйте WebRTC для доставки потока, задержка составляет около 200 мс.

Пожалуйста, НИКОГДА не применяйте эти настройки, если вы не укажете, где вводится задержка.