1.音视频开篇

目录

音视频播放的原理

音视频数据格式YUV

YUV数据存储比

[​编辑 YUV空间格式](#编辑 YUV空间格式)

RGB与YUV转换


音视频播放的原理

主要分为:解协议->解封装->解码->音视频同步->播放。当然,如果是本地播放,没有解协议这一步骤。

采集数据其实就可以反过来

音视频数据格式YUV

RGB 是色彩空间的格式:分别是红、绿、蓝色,数值是0-255,比如我们屏幕像素可能就是RGB的混合显示。

YUV数据存储比

YUV数据由Y、U、V三个分量组成,现在通常说的YUV指的是YCbCr

  • Y:表示亮度(Luminance、Luma),占8bit(1字节)
  • CbCr :表示色度(Chrominance、Chroma)
    • Cb(U):蓝色色度分量,占8bit(1字节)
    • Cr(V):红色色度分量,占8bit(1字节)

那比如我们常说的YUV(4:4:4)是指空间上的占比:4*4矩阵,Y、U、V比例为4:4:4,相当于一个像素点是由yuv组成的 ,每一个 Y 分量对于一对 UV 分量

每两个 Y 分量共用一对 UV 分量,每像素占用 (Y + 0.5U + 0.5V = 8 + 4 + 4 = 16bits)2 字节;水平方向Y分量与UV分量2:1采样,垂直方向不降低采样率

每四个 Y 分量共用一对 UV 分量,每像素占用 (Y + 0.25U + 0.25V = 8 + 2 + 2 = 12bits)1.5 字节。水平和垂直方向上Y分量和UV分量对的采样比都是2:1

YUV空间格式

主要分为packet、planar、semi-planar三种:

◆ packet:打包格式,即先存储一个yuv,再存储下一个yuv;

◆ planar:平面格式,即先存储y平面,再存储u平面,再存储v平面;

◆ semi-planar:先存储y平面,再存储uv平面;

YUV422各种存储格式如下:

YUV420各种存储格式如下:

◆NV:NV系列都属于semi-plane系列,"12"、"16"代表先U后V,"21"、"61"代表先V后U

◆ 12、16:代表一个像素占的位数

RGB与YUV转换

转换公式1

  • RGB的取值范围是0,255

  • Y的取值范围是16,235

  • UV的取值范围是16,239

    Y = 0.257R + 0.504G + 0.098B + 16
    U = -0.148R - 0.291G + 0.439B + 128
    V = 0.439R - 0.368G - 0.071B + 128

    R = 1.164(Y - 16) + 2.018(U - 128)
    G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128)
    B = 1.164(Y - 16) + 1.596(V - 128)

公式2

  • RGB的取值范围是0, 1

  • Y的取值范围是0, 1

  • UV的取值范围是-0.5, 0.5

    Y = 0.299R + 0.587G + 0.114B
    U = 0.564(B - Y) = -0.169R - 0.331G + 0.500B
    V = 0.713(R - Y) = 0.500R - 0.419G - 0.081B

    R = Y + 1.403V
    G = Y - 0.344U - 0.714V
    B = Y + 1.770U

公式3

  • RGB的取值范围是0, 255

  • YUV的取值范围是0, 255

    Y = 0.299R + 0.587G + 0.114B
    U = -0.169R - 0.331G + 0.500B + 128
    V = 0.500R - 0.419G - 0.081B + 128

    R = Y + 1.403(V - 128)
    G = Y - 0.343(U - 128) - 0.714(V - 128)
    B = Y + 1.770(U - 128)

相关推荐
大师兄66687 小时前
HarmonyOS7 音视频播放:AVPlayer 实战
音视频·avplayer·harmonyos7
做萤石二次开发的哈哈11 小时前
萤石开放平台如何拉取 RTC 房间成员列表?
音视频·萤石开放平台
离离原上草7712 小时前
Pavo AI Agent 源码深度解析:从自然语言故事到视频分镜的 Multi-Agent 工程实践
人工智能·音视频
YWamy14 小时前
播放器类音视频 SDK 选型指南:主流产品对比与适配建议
音视频
weixin_4462608515 小时前
HumanForge:基于多智能体伪造推理的以人为中心深度伪造视频基准
人工智能·音视频
美狐美颜SDK开放平台15 小时前
从RTC到AI美颜:直播APP开发中的直播美颜SDK技术架构解析
人工智能·音视频·实时音视频·美颜sdk·视频美颜sdk·美颜api
潜创微科技15 小时前
一根网线传 4K60:基于 IT9205 的网线延长方案,把 HDMI 送到 100 米外
音视频
蓝田~16 小时前
AI 图片与视频处理 — 从原理到实践
网络·人工智能·音视频
乐橙开放平台18 小时前
巡店系统笔记:乐橙 listDeviceDetailsByPage 台账 + bindDeviceLive 辅码流最小闭环
网络·笔记·物联网·自动化·音视频·智能家居
鲲穹AI全能助理18 小时前
实用音频合成工具分享:灵境配音 使用场景与功能说明
ffmpeg·音视频