文章

探索视频流媒体技术(9):直播工作流程

系列介绍视频流媒体技术相关的基础知识。

探索视频流媒体技术(9):直播工作流程

想要学习和提升音视频技术的朋友,快来加入我们的【音视频技术社群】,加入后你就能:

  • 1)下载 30+ 个开箱即用的「音视频及渲染 Demo 源代码」
  • 2)下载包含 500+ 知识条目的完整版「音视频知识图谱」
  • 3)下载包含 200+ 题目的完整版「音视频面试题集锦」
  • 4)技术和职业发展咨询 100% 得到回答
  • 5)获得简历优化建议和大厂内推

现在加入,送你一张 20 元优惠券:点击领取优惠券

知识星球新人优惠券 微信扫码也可领取优惠券

这个系列文章我们来介绍一位海外工程师如何探索视频流媒体技术,对于想要开始学习音视频技术的朋友,这些文章是份不错的入门资料,这是第 9 篇:直播工作流程。

直播已经成为我们数字生活中不可或缺的一部分,它使我们能够广播活动、分享体验并实时连接。在本文中,我们将深入了解直播的基础知识,涵盖协议和技术、延迟考虑因素以及如何搭建直播服务器。

在本文中,我们将深入探讨传统的 RTMP 和 HLS 基础流式传输工作流程,FFmpeg 如何处理视频编码,以及其背后的系统设计。我们还将探索向低延迟流式传输的演变,使用 SRT、WHIP 和 WHEP 等协议,这些协议越来越多地用于体育广播等实时需求。

1、RTMP 和 HLS 基础流程

  1. 摄取:视频流由摄像机或编码软件捕获并发送到 RTMP 服务器。这是第一步,直播视频被摄取到流式传输基础设施中。
  2. 处理:RTMP 服务器处理传入的流,并使其可用于进一步的编码和分发。
  3. 队列:然后将流发送到消息队列(例如,Kafka、RabbitMQ)以进行可扩展处理。
  4. 编码:工作进程从队列中消费流,并使用 FFmpeg 将其转码为不同的格式和码率。
  5. 分段和打包:编码后的流被分段为适合 HTTP Live Streaming(HLS)的小块。
  6. 分发:然后通过 CDN 将这些分段分发给最终用户。

延迟:在此工作流程中,典型的玻璃到玻璃延迟(从摄像机捕获到在用户设备上播放的时间)约为 10 秒。

2、低延迟流式传输:SRT、LL-HLS、WHIP 和 WHEP

  1. SRT/WHIP 源:视频流从 SRT 或 WHIP 源(摄像机/编码器)开始。
  2. 媒体服务器:流被媒体服务器摄取,该服务器针对低延迟进行了优化。
  3. 消息队列:将流放置在消息队列中以进行低延迟处理。
  4. 工作节点:工作节点从队列中拉取流,并使用 FFmpeg 或类似工具以低延迟设置进行转码。
  5. 分发(WHEP 或 LL-HLS):通过 WebRTC 或低延迟 HLS(LL-HLS)将流传递给最终用户。

本文转自微信公众号 关键帧Keyframe,推荐您关注来获取音视频、AI 领域的最新技术和产品信息

微信公众号 微信扫码关注我们

本文由作者按照 CC BY-NC-ND 4.0 进行授权