Skip to content

YouTube、TikTok直播或Twitch上的视频直播是如何工作的?

直播与常规流媒体不同,因为视频内容通过互联网实时发送,通常延迟仅为几秒钟。

下面的图表解释了在后台发生了什么,使这一切成为可能。

步骤1:原始视频数据通过麦克风和摄像机捕获。数据被发送到服务器端。

步骤2:视频数据被压缩和编码。例如,压缩算法将背景和其他视频元素分开。压缩后,视频被编码为H.264等标准。经过此步骤后,视频数据的大小要小得多。

步骤3:编码后数据被划分为较小的段,通常长度为几秒,这样下载或流式传输所需时间大大减少。

步骤4:分段数据被发送到流媒体服务器。流媒体服务器需要支持不同的设备和网络条件。这称为“自适应比特率流”。这意味着在步骤2和3中我们需要生成不同比特率的多个文件。

步骤5:直播数据被推送到由CDN(内容分发网络)支持的边缘服务器。数百万观众可以从附近的边缘服务器观看视频。CDN显著降低了数据传输延迟。

步骤6:观众的设备解码和解压缩视频数据,并在视频播放器中播放视频。

步骤7和8:如果视频需要存储以供回放,编码后的数据将被发送到存储服务器,观众可以稍后向其请求回放。

直播的标准协议包括:

  • RTMP(实时消息传输协议):最初由Macromedia开发,用于在Flash播放器和服务器之间传输数据。目前主要用于互联网视频流媒体传输。请注意,像Skype这样的在线视频会议应用程序使用RTC(实时通信)协议以降低延迟。

  • HLS(HTTP直播流):它需要H.264或H.265编码。苹果设备仅支持HLS格式。

  • DASH(基于HTTP的动态自适应流):DASH不支持苹果设备。

  • HLS和DASH都支持自适应码率流。