音视频小白系统入门课-3
本系列笔记为博主学习李超老师课程的课堂笔记,仅供参阅
往期课程笔记传送门:
- 音视频小白系统入门笔记-0
- 音视频小白系统入门笔记-1
- 音视频小白系统入门笔记-2
视频:
- 由一组图像组成:像素、分辨率、RGB 8888(24位) 、RGBA(32位)
- 为了占用更小空间而被压缩
- 显示设备上经过驱动程序 展示(未被压缩)
BMP格式使用 BGR格式,导致显示的颜色不对
屏幕指标:
- PPI(pixels per inch),每英寸像素点数目
- DPI(Dots pen inch),每英寸点数,一般情况下PPI = DPI
PPI > 300就属于视网膜级别
分辨率(Resolution)
- 定义:图像的像素数量,通常表示为 宽度 × 高度(如
1920×1080
)。 - 作用:决定图像的精细程度(像素越多越清晰)。
- 示例:
1920×1080
(全高清):横向1920像素,纵向1080像素。3840×2160
(4K):横向3840像素,纵向2160像素。
SAR(Sample Aspect Ratio,采样宽高比)
- 定义:单个像素的 宽高比例(即像素本身的形状)。
- 作用:描述像素是否为方形(Square Pixel)或非方形(如矩形像素)。
- 常见值:
1:1
(方形像素):大多数现代数字视频(如MP4、H.264)。非1:1
(如10:11
):某些标清格式(如DVD的PAL制式)。
- 公式:SAR=像素宽度 / 像素高度
- 示例:若像素宽度是高度的1.5倍,则
SAR = 1.5:1
。
- DAR(Display Aspect Ratio,显示宽高比)
- 定义:图像最终在屏幕上显示的 宽高比例(如
16:9
、4:3
)。 - 作用:决定观众看到的画面形状(宽屏或方屏)。
- 常见值:
16:9
(现代电视、流媒体)。4:3
(传统电视、老式显示器)。
- 公式:
DAR=图像宽度×SAR / 图像高度
帧率:每秒采集/播放图像的个数 15帧/s(直播) 25(动画) 30(录制) 60(电影)
码流:一秒的比特数
H264的压缩比一般能达到100:1左右,H265的压缩比平均是H264的2倍
平台 | 推荐方案 | 解码/处理层 | 渲染层 |
---|---|---|---|
Windows | FFmpeg (NVDEC) + D3D11/Vulkan | FFmpeg 调用NVDEC 硬解 | D3D11 或Vulkan 渲染纹理 |
macOS | FFmpeg (Video Toolbox) + Metal | FFmpeg 调用Video Toolbox | Metal 渲染CVPixelBuffer |
Android | MediaCodec + OpenGL ES/Vulkan | MediaCodec 硬解 | OpenGL ES 或Vulkan 渲染 |
iOS | AVFoundation + MetalKit | AVFoundation 硬解 | MetalKit 直接渲染 |
YUV(也称YCbCr):Y表示明亮度,UV的作用是描述影像色彩及饱和度
YUV4:2:0(通用) YUV4:2:2 YUV4:4:4
RGB:用于屏幕图像的展示
YUV:用于采集和编码
YUV = Y * 1.5 = RGB / 2
存储格式:
平面planar:
- I420:先存储Y,再存储U,再存储V
- YV12(IOS):先存储Y,再存储V,再存储U
打包packed:
- NV12:先Y, UVUVUV
- NV21(Andriod ):先Y,VUVUVU