科普|视频点播系统|视频生产和视频消费数据链路

我们经常使用的抖音、爱奇艺、腾讯视频、优酷视频,只要是非直播的部分,都可以称之为点播视频。

点播视频能够顺利播放,是因为它的背后有一个复杂的视频点播系统。

视频点播系统有两个核心链路:

  1. 视频生产
视频采集 → 编码 → 封装 →本地存储 → 上传 → 原视频存储 → 转码 → 切片 → 切片视频存储
  1. 视频消费
云端存储 → 分发 →  播放器播放

一、 视频生产数据链路

【客户端】
  物理世界(光)
  ↓
  视频采集模块(原始信号raw)
  ↓
  图像信号处理器ISP(YUV/RGB)
  ↓
  视频编码器(压缩视频流 H.264/H.265)
  ↓
  封装器(MP4、FLV、MPEG-TP)
  ↓
  本地存储(MP4、FLV、MPEG-TP)
  ↓
  上传模块(FLV、MP4、MPEG-TP)
【云端】
  接入服务(FLV、MP4、MPEG-TP)
  ├─→ 原始文件存储(存储服务器)
  └─→ 转码服务(多分辨率+多编码组合的视频文件 MP4等)
     ↓
     切片服务(m3u8 + ts分片)
     ↓
     切片视频存储(存储服务器)

视频采集模块

🧠 职责

  • 从物理世界采集图像,并转成数字信号。

📥 输入

光学信号(现实世界)

📤 输出

原始视频信号(RAW)

🧩模块形态

摄像头

👥 参与方(产业链角色)

摄像头研发生产的所有参与方,主要有:

  • 传感器厂商:豪威、索尼、三星等;
  • 镜头厂商:蔡司、哈苏、联创、亚洲光学、舜宇等;
  • 马达厂商(对焦 / 变焦):阿尔卑斯、新思考、中蓝、三星电机、皓泽、美拓等
  • 摄像头模组厂商(相当于组装厂,把前面的有机组合起来):欧菲光、丘钛、舜宇模组、信利、光宝等

图像信号处理器ISP(Image Signal Processor)

🧠 职责

对原始视频信号(RAW) 做一系列处理:

  • 去噪
  • 白平衡
  • 曝光
  • HDR
  • 色彩校正

最后转换成YUV格式。

📥 输入

原始视频信号:布满噪音点、颜色偏暗,只有单色信息的马赛克图像。

📤 输出

RGB or YUV格式信号:我们可以看懂并且显示器可以展示。

🧩模块形态

大部分ISP是SOC中一块电路区域;部分高端设备是一块独立的ISP芯片。

👥 参与方(产业链角色)

手机SOC厂商:高通、联发科、苹果、三星、华为海思、紫光展锐、瑞芯微等;

垂直领域SOC厂商(安防 / 车载 / 无人机/穿戴等):海思、安霸、星宸;

独立ISP:安森美、富瀚微、小米(自用)、vivo(自用)、大疆(自用)。


视频编码器

🧠 职责

在尽量保持画质的前提下,把视频数据压缩到最小,它主要有两个功能:

  • 视频数据编码压缩
  • 码流控制

📥 输入

YUV视频数据

📤 输出

压缩视频流(H.264 / H.265)

🧩模块形态

  • 硬编码-硬件单元:SoC里的专用编码硬件单元,特点快、低功耗。通过操作系统提供API调用,在 Android 上通过MediaCodec 调用;在iOS 平台通过VideoToolbox调用。
  • 软编码-软件模块:集成在操作系统或者多媒体框架中的软件模块,特点支持格式广、扩展方便。常见的软解码库有libaomx264、x265等,他们可以直接被调用,也有的通过多媒体处理框架FFmpeg进行调用。

👥 参与方(产业链角色)

  • 编解码标准制定者:如ITU-T、ISO/IEC、MPEG等;
  • 芯片厂商(硬编码提供者)把编码器“做进芯片”:比如有Qualcomm、MediaTek、Apple、NVIDIA等;
  • 软编解码厂商:开源的有x264、x265; 商业的有Ateme、MainConcept;
  • 多媒体处理工具:FFmpeg
  • 系统厂商(系统封装,提供统一接口):比如:Google(Android)、Apple(iOS)、PX4 / ArduPilot等;

视频封装器

🧠 职责

封装层 = 数据组织 + 同步 + 索引

1️⃣ 数据组织(Mux)

👉 把多种流组合在一起:

  • 视频流(H.264 / H.265)
  • 音频流(AAC)
  • 字幕流

👉 变成一个文件:

  • MP4 / MKV / TS

2️⃣ 时间同步

👉 解决问题: 音视频怎么对齐?

👉 保证:声音和画面一致

3️⃣ 索引与定位

👉 支持:

  • 快进 / 快退
  • seek(拖进度条)

📥 输入

👉 来自编码层:

  • 视频码流(H.264 / H.265)
  • 音频码流(AAC)

👉 以及:

  • 时间戳(PTS / DTS)
  • 参数信息(分辨率、采样率等)

📤 输出

👉 一个“容器格式”文件或流:

常见👇

  • MP4
  • MKV
  • MPEG-TS
  • FLV

🧩 模块形态

  • 封装器通常作为操作系统或播放器的一个功能模块存在,也可以以独立工具的形式对外提供能力。比如在Android系统中封装器MediaMuxer就是Android系统媒体框架的一部分。

👥 参与方(产业链角色)

1️⃣ 标准制定者

  • ISO/IEC(MP4)
  • MPEG

👉 定义:

  • 容器结构
  • box格式
  • 时间戳规则

2️⃣ 工具 / 框架提供方

比如:

  • FFmpeg
  • GStreamer

👉 提供:

  • mux 封装 / demux解封装的能力

3️⃣ 播放器厂商/操作系统

对封装和解封装框架的封装使用

  • Android系统内置的MediaPlayer
  • ExoPlayer

播放器通常内置解封装实现(如基于 FFmpeg),与系统提供的解封装能力(如 MediaExtractor)形成并行的实现路径,运行时根据场景选择使用。


本地存储

封装完成后,视频数据已经成为标准容器格式(如 MP4),接下来进入“存储层”。
存储层负责通过操作系统提供的文件接口(或设备存储接口)将视频数据持久化保存,例如写入本地文件系统或存储设备。
由于该部分主要涉及通用存储能力,这里不做展开。


视频上传模块

🧠 职责

  • 把本地文件“稳定、高效地传输到服务器”

⚙️ 具体功能

  • 文件切片(将大文件拆分为小块)
  • 上传任务管理(上传会话 / 进度管理)
  • 分片上传(支持顺序或并发上传)
  • 断点续传(失败后从中断位置继续)
  • 数据校验(保证数据完整性)
  • 上传结果回调处理

🧩 模块形态

软件模块:1 应用中的业务模块 2 单独具备上传能力的sdk;

🔄 核心流程

选择文件
   ↓
文件切片(chunk)
   ↓
创建上传会话(uploadId)
   ↓
分片上传(可并发)
   ↓
服务端校验/合并文件
   ↓
返回云端视频地址URL

📜使用协议

协议本质上是一种通信双方约定的规则体系,用于规范数据的表达方式、传输方式以及异常处理机制,从而保证信息在网络环境中能够被准确、可靠地传递和理解。

相比普通数据,视频具有:

  • 数据量大(GB级)
  • 传输时间长
  • 对完整性和实时性敏感

👉 因此需要专门视频协议来保证:

  • 数据可靠传输
  • 顺序与完整性
  • 异常处理(丢包、重传等)

其次在视频传输不同的场景的要求也不同

📦 上传(文件传输)

  • 要求:完整性优先
  • 特点:允许延迟

👉 使用:HTTP + TCP

📺 点播(在线播放)

  • 要求:可缓冲、可拖动

👉 使用:HLS / DASH

📡 直播(实时传输)

  • 要求:低延迟

👉 使用:RTMP / WebRTC


接入服务器

在视频完成上传后,数据已经到达云端,接下来进入“接入服务器”环节。

接入服务器负责接收客户端请求,并将其路由到后端系统,是视频云端系统的统一入口。

接入服务器 = 流量入口 + 安全网关 + 路由中心

它主要承担:

1️⃣ 请求接入

  • 接收上传请求(HTTP / HTTPS)
  • 处理客户端连接

2️⃣ 安全与鉴权

  • 校验用户身份
  • 校验上传权限

3️⃣ 流量控制

  • 限流(防止恶意请求)
  • 防刷、防攻击

4️⃣ 请求转发

👉 将请求转发到后端服务:

  • 视频上传服务
  • 对象存储服务
  • 转码系统服务

视频接入服务器需要考虑在视频场景下大流量和长连接请求,并通常通过鉴权后将数据直接引导至对象存储等后端系统。


🎬 视频转码服务

🧠 职责

将视频文件转换为另一种清晰度、编码格式或封装格式,以适应不同网络带宽、不同终端播放设备的使用场景,具体包含

  • 编码格式转换(H.264 / H.265 / AV1)
  • 分辨率转换(4K / 1080p / 720p)
  • 码率控制(Bitrate)
  • 生成多码率版本

⚙️ 核心处理流程

输入文件(MP4 / TS)
   ↓
👉 解封装(demux)
   ↓
音视频码流(H.264 / AAC)
   ↓
👉 解码(decode)
   ↓
原始帧(YUV)
   ↓
视频处理(缩放 / 裁剪)+AI视频增强
   ↓
👉 编码(encode)
   ↓
压缩码流(H.264 / H.265)
   ↓
👉 封装(mux)
   ↓
输出文件 / 分片(MP4 / TS)

转码不是“简单转换”,而是“视频播放优化”中重要的一个环节。

视频转码属于计算密集型任务,通常部署在专门的转码计算集群中,并可借助GPU或专用硬件加速;

在实际工程中,很多系统会直接使用云厂商(阿里云、百度云、亚马逊)提供的转码服务来降低成本与复杂度


切片服务(Segment)

🧠 职责

切片服务的功能是把一个完整视频拆成多个按时间划分的小片段(segment),这样视频就可以实现流式播放。

原视频(60s)
↓
0~5s | 5~10s | 10~15s ...

同时会生成一个索引文件(如 m3u8 / mpd),索引文件有点像听歌软件中的播放列表,记录了播放顺序和每个片段的播放时长等信息。

它的核心功能:

  • 时间切片(按固定时长分段)
  • 多码率对齐(不同清晰度片段时间一致)
  • 关键帧对齐(保证每个片段可独立解码)
  • 生成索引文件(供播放器调度)

⚙️ 核心处理流程

转码输出视频流
   ↓
关键帧对齐
   ↓
基于时间进行切片
   ↓
生成分片文件(ts / fmp4)
   ↓
生成索引文件(m3u8 / mpd)

切片服务将完整视频拆分为多个可独立播放的时间片段,并生成索引文件,使视频能够支持流式播放和自适应码率切换。


📦 视频存储服务

🧠 职责

保存视频数据,并支持高效读取与分发。

存储服务将视频数据(文件 / 分片)持久化保存,并提供可访问地址的服务,存储的对象包括:

  • 完整视频(MP4)
  • 转码后的视频
  • 切片文件(ts / m4s)
  • 索引文件(m3u8 / mpd)

存储服务核心功能:

  • 数据持久化(防止丢失)
  • 高并发读取(支持大量用户访问)
  • URL访问(提供统一资源地址)
  • 分片存储(适配流媒体结构)
  • 冗余备份(保证可靠性)

⚙️ 核心处理流程

输入:完整视频 or 切片后的视频切片+索引
   ↓
写入存储系统(对象存储)
   ↓
生成访问URL,提供给 CDN / 播放器读取

视频存储服务负责持久化保存视频及其分片数据,并通过统一的URL对外提供访问能力,是连接视频处理与分发的基础设施。

视频系统通常使用对象存储(如 S3 / OSS),以支持海量数据与高并发访问

二、 视频消费数据链路

🧠 职责

视频消费数据指视频从存储系统出发,经由网络分发,最终被播放器获取并播放的过程。

它的核心职责是 高效、稳定地将视频数据传输到用户端并完成播放

主要功能有:

  • 内容分发(CDN加速)
  • 分片拉取(按需加载 segment)
  • 自适应码率(根据网络切换清晰度)
  • 解封装(解析索引和分片)
  • 解码与渲染(显示画面)

⚙️ 核心处理流程

播放器请求URL
   ↓
CDN返回视频索引文件m3u8
   ↓
解析索引文件(m3u8)
   ↓
获取分片地址
   ↓
请求视频分片(ts/m4s)
   ↓
协议数据包(HLS/DASH)
   ↓
解析协议
   ↓
封装格式数据(MP4/TS)
   ↓
解封装(demux)
   ↓
音视频分离
   ↓
解码(MediaCodec)
   ↓
原始视频数据YUV、RGB+原始音频PCM
   ↓
音视频同步
   ↓
渲染输出(屏幕/扬声器)

这个处理流程中的相关方其实前面都介绍过,这里就不一一介绍,可能关键就是了解哪些是播放器的功能,哪一些是系统支持,哪一些是业务层,请参考

https://mp.weixin.qq.com/s?__biz=Mzg4NDA1Mzk2NA==&mid=2247484045&idx=1&sn=18ee1df4ebd8bcb786fe08e7214f84d9&chksm=cfbf402ef8c8c938d7e86ccaec6ee0bf4da229952e6fad35e9b257e6e4156710a8f65d94c22d&scene=178&cur_album_id=4442909332267270146&search_click_id=#rd

小结

视频点播系统目标是让任何一个用户,在任何网络环境下,都可以流畅地观看同一个视频。

  • 在生产侧,通过采集、编码、转码与切片,将一个原始视频加工成多码率、可流式分发的标准化数据;
  • 在消费侧,通过存储、CDN分发与播放器解码渲染,把这些数据稳定、高效地送达到用户终端并还原为视听体验。

在未来,这条链路正在被AI深刻重塑——大模型与智能算法开始介入视频生产(自动剪辑、智能转码、内容理解)、分发(个性化推荐、动态码率优化)以及消费(AI超分-画质提升、语音交互、内容总结),使得视频系统从“被动传输数据”逐渐演进为“理解内容、服务用户”的智能系统。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容