文章

探索视频流媒体技术(10):视频点播(VOD)工作流程

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

探索视频流媒体技术(10):视频点播(VOD)工作流程

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

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

您还可以加入知识星球 关键帧的音视频开发圈 来一起交流工作中的技术难题、职场经验

知识星球 微信扫码加入星球

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

视频点播(VOD)流媒体允许用户随时访问预先录制的视频内容,提供了一种灵活且便捷的媒体消费方式。Netflix、Prime Video、YouTube 等平台是 VOD 的最佳示例。在本文中,我们将探讨 VOD 与直播的区别、可恢复 HTTP 上传的过程、编码和分段的作用,以及当用户请求时,视频如何通过 HLS 提供服务。

1、VOD 与直播的区别

尽管 VOD 和直播都向用户传递视频内容,但它们存在明显的区别:

内容可用性:

  • VOD:视频内容预先录制并存储在服务器上。用户可以随时访问内容,根据自己的意愿开始和停止播放。
  • 直播:视频内容实时流式传输。用户观看实时流,互动仅限于当前的广播。

摄取和处理:

  • VOD:视频上传、编码并存储后,才可供用户使用。
  • 直播:视频实时捕获、编码并流式传输给观众,延迟极小。

2、可恢复 HTTP 上传

可恢复 HTTP 上传对于高效地将大型视频文件上传到 VOD 平台至关重要。它们允许用户分块上传文件,如果上传中断,可以从上次停止的地方继续上传。

开始上传

  • 客户端向服务器请求上传 URL。
  • 服务器提供上传 URL 和唯一的上传 ID。

上传分块

  • 客户端将视频分块上传(例如,每块 5MB)。
  • 每块都附带元数据,包括上传 ID 和该块的字节范围。

处理中断

  • 如果上传中断(例如,由于网络问题),客户端可以通过发送带有上传 ID 和最后一个成功上传块的字节范围的请求来恢复上传。

完成上传

  • 一旦所有分块都已上传,客户端发送请求以完成上传。
  • 服务器将分块组装成完整的视频文件。

Tus 和 Resumable.js 库等库和工具有助于实现可恢复上传,提供分块、重试和恢复功能的内置支持。

3、编码和分段

将视频上传到 VOD 平台后,它会在可供流式传输之前进行编码和分段。

4、通过 HLS/DASH 提供视频服务

当用户请求 VOD 视频时,它通过 HTTP Live Streaming(HLS)或 Dynamic Adaptive Streaming over HTTP(DASH)提供,使用自适应码率流式传输。

5、结论

视频点播(VOD)流媒体为用户提供了随时访问预先录制内容的灵活性。通过利用可恢复 HTTP 上传、高效的编码和分段流程以及通过 HLS 提供内容,VOD 平台可以提供高质量的自适应流式传输体验。了解 VOD 背后的工作流程和系统设计对于构建一个强大且可扩展的流媒体平台至关重要。

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