视频采集这个技术,平时接触的人可能不多,但它在各行各业里都有应用:直播推流的人用采集卡把游戏画面转到电脑上,安防监控系统用视频采集板卡同时录几十路画面,电视会议终端把摄像头视频编码后通过网络传出去,医疗手术用的内窥镜视频经过采集卡处理后显示在大屏上。今天从底层原理讲清楚视频采集到底做了什么,模拟和数字视频的区别在哪,采集卡该怎么选。
先搞清楚一个基本问题:视频采集和视频压缩、视频播放是三件不同的事。视频采集(Video Capture)的目的是从某个视频源(摄像头、游戏机、DVD机、卫星接收机)里把实时视频信号取出来,转换成电脑能处理的数字格式。视频压缩是把原始的巨大数据流(比如未压缩的1080p30帧每秒就有1.5Gbps左右)用H.264、H.265等编码算法压小。视频播放是把压缩后的流解码后显示在屏幕上。采集是整个链路的源头,没有好的采集后端压缩再强也白搭。
模拟视频采集先讲,因为这是基础。传统的模拟摄像头输出的是CVBS、S-Video或者分量视频信号。CVBS是最老的复合视频,一根线里同时传亮度(Y)、色度(C)和同步信号,信号容易互相干扰,画质最差。S-Video把亮度和色度分开传,两根线,画质好点。分量视频(YUV或者YPbPr)把亮度、两个色度分量分别用三根线传,没有串扰,模拟时代画质最好的方案。采集卡要做的第一步就是把这些模拟信号转换成数字信号,这个过程叫模数转换(ADC)。
模拟转数字的细节:首先要从复合视频里用滤波器把亮度和色度分离出来(叫做Y/C分离,用梳状滤波器实现),然后对Y、U、V三个分量分别采样。采样格式最常用的是4:2:2,意思是每4个亮度采样点对应2个U、2个V采样点,比4:4:4(全采样)省一半数据量但画质差别极小。采样精度一般是8位或者10位,8位意味着每个亮度值可以表示256个级别,10位是1024个级别,后者在暗部细节和高动态范围场景表现更好。
数字视频采集现在更主流,HDMI、DisplayPort、SDI这些数字接口不需要ADC转换,直接把数据接进来就行。HDMI是消费级设备的标配,游戏机、笔记本、机顶盒都带HDMI输出。SDI是专业广电领域用的标准,BNC接口,支持12G-SDI(4K60fps),比HDMI更耐插拔、传输距离远(用优质同轴电缆可以传100米以上)。DisplayPort在PC领域用得多,带宽比HDMI大,支持多显示器。数字采集卡的核心工作不是转换,而是时钟恢复和格式解析:从HDMI信号里提取像素时钟,逐像素读取数据,然后重新打包成PCIe或者USB能传输的格式送进电脑。
采集卡的分类按接口来分:PCIe内置卡、USB外置卡、网口(NDI/SRT)。PCIe卡性能最强,直接插在主板PCIe槽上,用DMA(直接内存访问)把视频数据直接传到电脑内存,不占CPU,延迟最低(通常在10ms以内),适合专业直播、多机位切换、视频会议核心节点。USB卡是现在最流行的,插在电脑USB口就能用,便携性好,兼容性强,入门到中端直播基本都是USB采集卡。USB3.0带宽能支撑1080p60fps无压缩或者4K30fps压缩,USB3.2 Gen2可以到4K60fps。网口采集卡走以太网,支持NDI协议的网络视频流,适合多机房、多房间的大型视频系统。
参数怎么看?最关键的几个:输入接口(HDMI、SDI、Composite、S-Video等)、支持的分辨率和帧率(标清、高清、4K,30fps还是60fps)、带宽/传输接口(USB2.0/3.0/3.2、PCIe x1/x4)、板载缓存(越大越能处理突发数据)、是否带硬件编码(支持H.264/H.265硬编码可以减轻电脑CPU负担)。还有一个容易忽略的:输入是否支持HDCP协议。HDCP是HDMI的版权保护机制,蓝光播放器、苹果TV等设备的HDMI输出强制加HDCP,普通采集卡带不动,必须买支持HDCP破解的采集卡(或者用HDMI分离器先剥掉HDCP再进采集卡)。
软件端的配合也很重要。采集卡厂家一般提供配套的SDK(Software Development Kit),比如OBS Studio、VMix、Wirecast这些直播软件都是通过SDK来调用采集卡的。Windows上常用的采集软件还有AMCap(简单预览)、dshow capture、DirectShow Filter开发包。Linux上用V4L2(Video4Linux2)驱动框架,大部分主流采集卡都有V4L2驱动支持。如果要自己做采集程序,直接用厂家的SDK或者OpenCV的VideoCapture类就能快速搭建。
常见问题排查。画面花屏或者颜色不对:先查线材质量,HDMI线如果是HDMI1.4的可能撑不住4K60,要HDMI2.0/2.1的线。画面延迟大:把采集卡的缓冲设小,或者改用PCIe卡减少系统开销。丢帧:USB采集卡别插在USB Hub上,直接插主板后置USB口;如果还是丢帧,换USB3.0接口;软件里把采集分辨率和帧率降到匹配源设备。画面有条纹:模拟视频常见的干扰,检查BNC接头是否拧紧,换屏蔽更好的线缆,或者换带隔离变压器的采集卡。
品牌推荐。专业领域:Blackmagic Design(DeckLink、Intensity系列,质量过硬,SDK完善,广电级首选)、Magewell(美乐威,国内品牌,性价比高,USB采集卡做得特别好)、Epiphan(高端,支持SDI/HDMI多接口)。入门直播:Elgato(目前市场占有率最高的USB采集卡,软件生态好)、OBS官方合作卡。工业和安防:海康、大华的视频采集板卡,支持多路同时采集,SDK配合他们的监控平台。
上一篇:卫星通信系统技术漫谈:从GPS到星链,卫星是怎么连上网的
下一篇:没有了