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

Я использую приведенный ниже конвейер для прямой трансляции, я могу найти сквозную задержку, которая составляет около 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 с. Пожалуйста, проверьте это с помощью некоторых инструментов ниже.

Используйте небольшой онлайн-инструмент секундомер или аналогичный, затем используйте захват окна OBS, чтобы захватить секундомер в прямом эфире, и воспроизведите поток RTMP/HLS из MediaLive и HLS из облака, вы получите задержку каждой системы.

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

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

Вот несколько советов после того, как вы найдете задержку:

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

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

Другие вопросы по тегам