《视频基础学习 —— 一帧视频从sensor到网络,经历了什么?》

  一帧视频从sensor到网络,经历了什么?

1) 采集(Camera)
2) 图像处理(ISP)
3) 压缩编码(H.2644) 打包(RTP/TS)
5) 传输(UDP/TCP)
6) 播放(解包 + 解码 + 显示)

  

1.采集:摄像头“拍到了”什么

  摄像头传感器(sensor)本质上像一个“亮度采集器”。

  它输出的原始数据通常是:

  • RAW Bayer(最常见)

    • 你可以理解成:每个像素只记录了 R/G/B 其中一种颜色的亮度

    • 所以看起来不是完整彩色图片

  这一步输出还不能直接显示,也不适合直接编码。

 

2.ISP:把 RAW 变成“能看的图”

ISP(图像信号处理器)做很多你肉眼能感知的处理,比如:

  • 去马赛克(demosaic):把 Bayer 变成完整彩色

  • 白平衡、曝光

  • 去噪、锐化

  • 色彩校正

处理完后,一般会输出:

  • YUV(最常见,编码器最爱)

你可以把 YUV 理解成:

  • Y:亮度(画面的“清晰度骨架”)

  • U/V:颜色(画面的“颜色皮肤”)

 

3. 编码:为什么要 H.264?

如果你把“每一帧 YUV 原始数据”直接发网络,带宽会爆炸。

举个概念级例子(不算太精确,只帮你感受量级):

  • 1080p(1920×1080)

  • 30 fps

  • 原始 YUV420 一帧约 3MB 左右(概念)

  • 30fps 就是 90MB/s(概念)

网络、存储都顶不住。

所以要 压缩,H.264就是压缩标准。

H.264做了两件事:

  • 帧内压缩:像 JPEG 那样压缩一帧内部

  • 帧间压缩:利用“下一帧跟上一帧很像”,只存差异(这才是省带宽的关键)

编码后输出的是:

  • H.264 码流(一串字节),不是“图片”。

 

4.打包:为什么还要 RTP / TS?

H.264 码流是一串字节,直接丢到 UDP/TCP 里会有问题:

  • 网络 MTU 限制(一次包不能太大)

  • 丢包、乱序、重传策略

  • 时间戳/同步

所以要“打包成适合传输的格式”:

常见两种:

  • RTP(实时流媒体最常见:RTSP、WebRTC 等)

  • MPEG-TS(直播/广播常见)

在 IPC/安防里大概率会先遇到:

  • RTSP(RTP) + H.264

 

5.传输:UDP 还是 TCP?

最常见:

  • RTSP 通常用 TCP 做控制(告诉你要哪个流)

  • RTP 视频数据通常走 UDP(低延迟)

  • 也可以 RTP over TCP(更稳但更延迟)

你先记一句话就够了:

UDP:延迟低但可能解释包
TCP:更可靠但可能卡顿、延迟高

 

6.播放端:解包 + 解码 + 显示

接收端流程反过来:

网络数据 → RTP 解包 → 拿到 H.264 → 解码成 YUV → 转成 RGB → 显示

 

相关名词解释:

  • RAW Bayer:传感器出来的原始数据

  • ISP:把 RAW 变成能用的 YUV

  • YUV:编码器最常用的图像格式

  • H.264:把视频压缩成码流

  • RTP/RTSP:把 H.264 包成网络能传的实时格式

 

posted @ 2026-01-16 16:32  一个不知道干嘛的小萌新  阅读(0)  评论(0)    收藏  举报