视频采集

Video Capture

概述

视频采集是音视频处理流程的第一步,负责从视频设备(摄像头)获取原始视频帧数据。

主要内容

https://ixriver.com/wp-json/wp/v2

1. 视频采集

1.1 采集设备与接口

摄像头类型
USB摄像头:最常见的PC端摄像头,通过USB接口连接,支持即插即用
MIPI摄像头:移动设备常用接口,MIPI CSI-2标准,低功耗、高速率
HDMI采集卡:用于采集HDMI信号,常用于游戏直播、专业录制
网络摄像头(IP Camera):通过网络协议(RTSP、ONVIF)采集视频流

采集参数
分辨率:常见分辨率包括720p、1080p、4K等,影响采集数据量
帧率:常见帧率有15fps、24fps、30fps、60fps,影响流畅度
色彩空间:采集时通常使用RGB或YUV格式

采集API
Linux: V4L2 (Video4Linux2) – 标准视频采集接口
macOS/iOS: AVFoundation – Apple平台的音视频框架
Windows: DirectShow/Media Foundation – Windows平台的媒体框架
Web: MediaDevices API – 浏览器WebRTC标准接口
Android: Camera2 API – Android 5.0+的相机接口

1.2 色彩空间与格式

RGB色彩空间
– RGB是加色模型,通过红(Red)、绿(Green)、蓝(Blue)三原色组合表示颜色
– 每个像素用3个字节表示(RGB24),或4个字节(RGBA32,包含透明度)
– 主要用于显示和图像处理

YUV色彩空间
– YUV是亮度-色度模型,Y表示亮度(Luminance),U和V表示色度(Chrominance)
– 人眼对亮度敏感,对色度不敏感,因此可以降低色度采样率以节省带宽
– 主要用于视频编码和传输

YUV格式类型
NV12/NV21:半平面格式,Y平面连续,UV交错存储
– NV12:U在前,V在后(Windows常用)
– NV21:V在前,U在后(Android常用)
I420/YV12:平面格式,Y、U、V三个平面分离存储
– I420:U在前,V在后
– YV12:V在前,U在后
YUY2/UYVY:打包格式,Y、U、V交错存储在同一平面

YUV采样方式
4:4:4:无下采样,Y、U、V采样率相同,质量最高,数据量最大
4:2:2:水平方向U、V采样率减半,垂直方向不变,质量较高
4:2:0:水平和垂直方向U、V采样率都减半,最常用,数据量最小

RGB到YUV转换

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

1.3 采集参数优化

曝光控制
– 自动曝光(AE):根据场景亮度自动调整曝光时间
– 手动曝光:固定曝光参数,适用于特殊场景
– 曝光补偿:在自动曝光基础上进行微调

白平衡
– 自动白平衡(AWB):根据环境光自动调整色温
– 手动白平衡:预设色温值(如日光、白炽灯、荧光灯)

对焦
– 自动对焦(AF):自动调整焦距使画面清晰
– 连续对焦:实时跟踪移动物体
– 手动对焦:固定焦距

帧率自适应
– 根据网络状况或性能动态调整帧率
– 低带宽时降低帧率,保证流畅度
– 高负载时降低帧率,保证稳定性

分辨率自适应
– 根据设备性能或网络状况动态调整分辨率
– 移动设备可能从1080p降至720p以节省资源

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Index