1. 掉帧这件事,真不是换台贵相机就能解决的
“换了三台相机还是掉帧”——这句话我太熟了。过去两年,我在做直播推流、短视频拍摄和工业视觉检测项目时,前前后后经手过十几台不同价位的相机,从几百块的入门USB摄像头到上万元的专业级工业相机都试过。每次遇到画面卡顿、掉帧、延迟飙升,第一反应永远是“是不是相机不行了”,然后就是买新相机、换更贵的型号、升级所谓的“旗舰款”。结果呢?钱花了不少,掉帧依旧。
这个标题戳中的,恰恰是绝大多数人在处理视频卡顿问题时的思维盲区:把掉帧等同于相机性能不足。但真实情况是,相机在整个视频采集与传输链路里,只是其中一个环节。从传感器曝光、图像信号处理、编码压缩、接口传输、驱动缓冲、主机CPU/GPU处理,到最终显示或推流,任何一个环节出现瓶颈,都会表现为“掉帧”。你换相机,相当于给一条拥堵的高速公路换了一辆更贵的车,路还是那条路,堵还是照样堵。
这篇文章就是要把这笔账从头到尾算清楚。我会把视频链路拆成几个关键环节,逐一分析每个环节可能导致的掉帧原因,给出可量化的排查方法和参数计算过程,再结合我实际踩过的坑,告诉你哪些钱该花、哪些钱纯属浪费。无论你是做直播、录课、短视频创作,还是搞机器视觉、视频会议、安防监控,只要涉及“相机采集画面”这件事,这套排查逻辑都适用。读完你至少能明白一件事:掉帧的锅,相机不背。
2. 视频链路全拆解:从光子到像素,哪一步在偷你的帧
2.1 一条完整的视频链路到底经过哪些环节
很多人以为相机输出画面就像水龙头出水一样,打开就有。实际上,从镜头进光到你在屏幕上看到画面,中间要经过一条相当长的流水线。我把它拆成七个环节,每个环节都有各自的“吞吐量上限”,任何一个环节堵住,整条链路就掉帧。
第一个环节是光学与传感器曝光。光线通过镜头打到CMOS或CCD传感器上,传感器把光信号转换成电信号。这个环节的瓶颈通常在于传感器的读出速度。比如很多入门级CMOS传感器在1080p分辨率下最高只能跑到30fps,你非要它输出60fps,它就只能靠跳帧或降低曝光时间来“假装”达到,画面自然不流畅。
第二个环节是图像信号处理(ISP)。传感器输出的原始数据(RAW)需要经过去马赛克、白平衡、伽马校正、降噪、锐化等一系列处理,才能变成可用的RGB或YUV图像。ISP的算力是有限的,尤其是在高分辨率、高帧率、开启HDR或强降噪的情况下,ISP很容易成为瓶颈。我实测过某款标称4K60的相机,在开启自动降噪后实际输出帧率会掉到45fps左右,关掉降噪才能跑满60fps。
第三个环节是编码压缩。如果相机输出的是MJPEG或H.264/H.265格式,那么编码器就是关键。MJPEG本质上是逐帧JPEG压缩,对带宽要求高但延迟低;H.264/H.265压缩率高但编码延迟大,且对编码芯片算力要求高。很多USB相机标称1080p60,但只支持MJPEG格式下才能达到,YUV格式下只能跑30fps,原因就是YUV未压缩数据量太大,USB接口带宽不够。
第四个环节是接口传输。这是最容易被忽视但最常出问题的环节。USB 2.0的理论带宽是480Mbps,实际有效带宽约320Mbps;USB 3.0是5Gbps,实际约3.2Gbps;HDMI 2.0是18Gbps;千兆网口是1Gbps。你可以自己算一笔账:1080p60的YUV422未压缩数据量是 1920×1080×2×60 ≈ 248Mbps,USB 2.0勉强够用但几乎没有余量;如果是1080p60的RGB24,数据量是 1920×1080×3×60 ≈ 373Mbps,USB 2.0直接爆掉。这就是为什么很多相机在USB 2.0口上只能跑MJPEG压缩格式。
第五个环节是驱动与缓冲。相机驱动负责把接收到的数据写入系统缓冲区,应用程序再从缓冲区读取。如果驱动写得不好,或者缓冲区设置太小,就会出现丢包、丢帧。Windows上常见的UVC驱动、Linux上的V4L2驱动,都有各自的缓冲队列机制。缓冲队列太短,遇到系统调度延迟就会丢帧;缓冲队列太长,延迟又会增加。
第六个环节是主机处理。CPU负责解码、图像处理、渲染、推流等任务。如果CPU占用率过高,或者某个线程被阻塞,就会导致帧处理不及时。GPU在渲染和硬件编码上能分担很多压力,但如果GPU驱动有问题或者显存不足,同样会掉帧。
第七个环节是显示与输出。显示器的刷新率、窗口管理器的合成方式、推流软件的编码设置,都会影响最终观感。比如你的显示器是60Hz,但相机输出是50fps,就会产生抖动感;推流软件如果设置了过高的码率或分辨率,编码器跟不上也会丢帧。
2.2 为什么“换相机”是最容易踩的坑
理解了整条链路,你就能明白为什么换相机往往解决不了问题。假设你的瓶颈在USB接口带宽,你换一台更贵的相机,如果它还是USB 3.0接口,还是同样的分辨率帧率格式,那带宽瓶颈依然存在。假设你的瓶颈在CPU解码能力,你换一台输出H.265的相机,CPU解码压力反而更大,掉帧可能更严重。
我见过太多人花大价钱买了支持4K60的相机,结果插在旧电脑的USB 3.0口上,发现只能跑4K30,就以为是相机虚标。实际上可能是他的USB控制器是共享带宽的,同时接了键盘鼠标移动硬盘,留给相机的带宽根本不够。还有人买了工业相机做视觉检测,发现帧率上不去,最后查出来是网线质量不行,千兆网口实际协商速率只有百兆。
一个基本原则:先定位瓶颈,再决定花钱。在没搞清楚链路中哪个环节是短板之前,任何硬件升级都是赌博。
2.3 掉帧的三种典型表现与对应环节
掉帧不是一种单一现象,不同环节的瓶颈会表现出不同的症状。我把它分成三类,你可以对照自己的情况快速定位。
第一类是规律性丢帧,比如每秒钟固定丢几帧,或者每隔几秒卡一下。这种通常是带宽或缓冲问题。比如USB带宽不足时,相机会主动降低帧率或丢帧来适应;缓冲队列溢出时,也会呈现周期性丢帧。
第二类是随机性卡顿,画面偶尔卡一下,没有规律。这种通常是主机处理问题,比如CPU突然被其他进程抢占、内存不足导致交换、GPU驱动超时等。也可能是USB控制器被其他设备干扰。
第三类是延迟累积,画面不是卡,而是越来越延迟,越跑越慢。这种通常是缓冲队列设置过长,数据在队列里堆积,导致延迟越来越大。很多推流软件默认缓冲较大,就是为了避免丢帧,但代价是延迟增加。
3. 算一笔带宽账:你的接口到底能喂饱多高帧率
3.1 未压缩视频数据量的精确计算方法
要判断接口带宽是否足够,你得先会算数据量。未压缩视频的数据量公式很简单:
数据量(bps)= 水平分辨率 × 垂直分辨率 × 每像素字节数 × 帧率
每像素字节数取决于像素格式:
- YUV420:每2个像素共3字节,平均1.5字节/像素
- YUV422:每像素2字节
- RGB24:每像素3字节
- RGBA32:每像素4字节
举个例子,1080p(1920×1080)60fps的YUV422数据量: 1920 × 1080 × 2 × 60 = 248,832,000 bps ≈ 248.8 Mbps
如果是4K(3840×2160)30fps的RGB24: 3840 × 2160 × 3 × 30 = 746,496,000 bps ≈ 746.5 Mbps
如果是4K60的YUV422: 3840 × 2160 × 2 × 60 = 995,328,000 bps ≈ 995.3 Mbps
现在对照常见接口的实际有效带宽:
| 接口类型 | 理论带宽 | 实际有效带宽(约) | 能否跑1080p60 YUV422 | 能否跑4K30 RGB24 | 能否跑4K60 YUV422 |
|---|---|---|---|---|---|
| USB 2.0 | 480 Mbps | 320 Mbps | 勉强,无余量 | 不能 | 不能 |
| USB 3.0 | 5 Gbps | 3.2 Gbps | 轻松 | 轻松 | 勉强 |
| USB 3.1 Gen2 | 10 Gbps | 7 Gbps | 轻松 | 轻松 | 轻松 |
| HDMI 2.0 | 18 Gbps | 14 Gbps | 轻松 | 轻松 | 轻松 |
| 千兆网口 | 1 Gbps | 940 Mbps | 轻松 | 勉强 | 不能 |
| 2.5G网口 | 2.5 Gbps | 2.3 Gbps | 轻松 | 轻松 | 轻松 |
这张表建议你存下来,买相机之前先算一算。我见过太多人买了4K60的USB相机,结果电脑只有USB 3.0口,还同时插着移动硬盘和采集卡,最后实际帧率连30都不到。
3.2 MJPEG和H.264压缩格式的带宽陷阱
很多相机标称“1080p60”,但小字写着“MJPEG格式下”。MJPEG是把每一帧单独做JPEG压缩,压缩率通常在1:10到1:20之间。1080p60的YUV422原始数据是248Mbps,压缩后大约12-25Mbps,USB 2.0就能轻松跑。但MJPEG有两个问题:一是画质有损,二是解码需要CPU算力。如果你同时开好几个MJPEG相机,CPU解码压力会非常大。
H.264/H.265压缩率更高,1080p60可以压到4-8Mbps,但编码延迟大,通常不适合需要低延迟的实时交互场景。而且很多USB相机不支持硬件H.264编码,是靠主机CPU软编,反而增加主机负担。
实操建议:如果接口带宽足够,优先选YUV未压缩格式,画质最好、延迟最低、CPU占用最小。如果带宽不够,优先选MJPEG而不是H.264,因为MJPEG解码更简单,延迟更低。只有在网络传输场景下,才考虑H.264/H.265。
3.3 一个真实案例:从4K掉到15帧的排查过程
去年有个做在线教育直播的朋友找我,说他新买的4K相机在直播时只有15帧,换了两台都一样。我让他把相机直接插在电脑上,用系统自带相机应用看,发现能跑到4K30。但一开直播软件就掉到15帧。
排查步骤:
- 检查USB接口:他的电脑是笔记本,只有一个USB 3.0口,他插了一个USB Hub,Hub上同时接了相机、键盘、鼠标、移动硬盘。USB Hub是USB 3.0的,但所有设备共享5Gbps带宽。移动硬盘在读写时占用大量带宽,相机带宽被挤占。
- 检查直播软件设置:直播软件里设置了4K30的采集分辨率,但输出推流分辨率也是4K,编码器是CPU软编。CPU是低压U,软编4K直接满载,导致采集线程被饿死。
- 检查相机格式:相机默认输出MJPEG,直播软件解码MJPEG又占了一部分CPU。
最终解决方案:相机直接插笔记本USB口,不经过Hub;直播软件采集分辨率降到1080p,输出推流用GPU硬件编码;相机格式改为YUY2(YUV422)。帧率稳定在30fps,CPU占用从90%降到40%。
这个案例里,相机本身没有任何问题,问题全在链路配置上。如果他继续换相机,换到第五台也还是掉帧。
4. 主机端排查:CPU、内存、GPU、驱动谁在拖后腿
4.1 用任务管理器快速定位主机瓶颈
主机端排查不需要多高深的工具,Windows自带的任务管理器就能看出很多问题。我通常按以下顺序看:
第一步看CPU占用率。如果相机一开,CPU就飙到80%以上,那大概率是软解码或软编码在吃算力。这时候你要看是哪个进程在吃CPU。如果是直播软件,尝试开启GPU硬件编码;如果是相机应用,尝试降低分辨率或改用MJPEG格式(MJPEG解码比YUV直接拷贝更吃CPU,但比H.264软解好)。
第二步看内存占用。如果内存接近满载,系统会使用虚拟内存(硬盘交换),导致严重卡顿。视频采集和编码通常需要几百MB到几GB的缓冲,内存不足会直接导致丢帧。建议视频处理主机至少16GB内存,4K多路采集建议32GB以上。
第三步看GPU占用。如果GPU占用率很高,可能是渲染或硬件编码在满载。GPU满载不一定是坏事,但如果GPU驱动超时(TDR),会导致画面卡死。Windows事件查看器里可以看是否有“显示驱动程序已停止响应并已恢复”的记录。
第四步看磁盘占用。如果是在录制视频到硬盘,磁盘写入速度不足也会导致丢帧。机械硬盘写入速度约100-150MB/s,4K60的MJPEG码率约100-200Mbps(12-25MB/s),看似够用,但如果是多路录制或高码率RAW,机械硬盘可能成为瓶颈。建议用SSD做录制缓存。
4.2 驱动与固件:那些看不见的坑
相机驱动和固件的问题最隐蔽,也最难排查。我遇到过几次典型情况:
一次是某品牌USB相机在Windows 10上正常,升级到Windows 11后开始随机掉帧。查了半天发现是Windows 11的USB电源管理策略更激进,相机会被间歇性挂起。解决办法是在设备管理器里找到USB根集线器,把“允许计算机关闭此设备以节约电源”取消勾选。
另一次是工业相机用GigE接口,帧率始终上不去。最后发现是网卡驱动里的“中断节流”设置太保守,导致每个数据包都产生中断,CPU处理不过来。把中断节流调到中等或关闭,帧率立刻稳定。
还有一次是相机固件版本太老,不支持新的USB UVC协议,导致在某些主机上只能跑USB 2.0速率。升级固件后解决。
经验:遇到掉帧,先查相机厂商官网有没有最新驱动和固件。很多“相机本身的问题”其实是驱动兼容性问题。
4.3 缓冲队列设置:延迟与丢帧的平衡术
缓冲队列是视频采集里最容易被忽视的参数。队列太短,系统一抖动就丢帧;队列太长,延迟累积到无法忍受。不同软件有不同的设置方式:
- OBS Studio:在“高级”设置里有“缓冲”选项,默认是自动。如果掉帧,可以尝试手动增加缓冲;如果延迟高,减少缓冲。
- FFmpeg:用
-thread_queue_size参数控制输入队列大小,默认是8。高帧率或高分辨率建议调到512或1024。 - OpenCV:
cv::VideoCapture的CAP_PROP_BUFFERSIZE可以设置缓冲帧数,默认通常是3-5。实时应用建议设为1,避免延迟;录制应用可以设大一些。 - Linux V4L2:通过
VIDIOC_REQBUFS申请缓冲区数量,通常4-8个。太少容易丢帧,太多增加延迟。
我的一般原则是:实时交互场景(视频会议、直播连麦)缓冲尽量小,宁可偶尔丢帧也不要延迟;录制和推流场景缓冲可以适当大,优先保证不丢帧。
5. 相机端设置:分辨率、帧率、曝光、格式的取舍
5.1 分辨率与帧率的乘积守恒
相机传感器的读出带宽是有限的,分辨率和帧率通常成反比。很多相机标称“4K30”和“1080p60”,意思是4K下最高30fps,1080p下最高60fps。如果你在4K下强行设置60fps,相机要么拒绝,要么通过跳帧实现,实际还是30fps。
更隐蔽的是,有些相机在开启某些功能后会降低最大帧率。比如开启HDR,帧率可能减半;开启电子防抖,帧率可能降低;开启自动曝光且环境光较暗时,曝光时间延长,帧率也会下降。我实测过某款相机在室内暗光下,自动曝光把曝光时间拉到1/30秒,帧率直接从60掉到30。
排查技巧:把相机设为手动曝光,曝光时间设为帧率的倒数以下(比如60fps对应1/60秒或更短),看帧率是否恢复。如果恢复,说明是自动曝光拖累了帧率。
5.2 像素格式的选择逻辑
前面算过带宽账,这里说选择逻辑:
- USB 2.0接口:优先MJPEG,因为YUV带宽不够。如果必须YUV,降到720p或更低分辨率。
- USB 3.0及以上:优先YUV422或YUV420,画质好、延迟低、CPU占用小。如果带宽不够再考虑MJPEG。
- 网络相机(GigE):千兆网口优先MJPEG或H.264,2.5G以上可以考虑YUV。
- 工业视觉:通常用RAW或YUV,因为需要精确的像素值,压缩格式会影响检测精度。
5.3 曝光与增益对帧率的隐性影响
曝光时间直接决定帧率上限。帧率 = 1 / 帧周期,帧周期必须大于曝光时间 + 读出时间。如果曝光时间设为1/30秒,那帧率不可能超过30fps。很多相机在自动曝光模式下,暗光时会自动延长曝光时间,导致帧率下降,但用户以为是掉帧。
增益(ISO)也会影响画质和帧率。高增益会增加噪点,但不会直接降低帧率。不过如果相机开启了降噪,高增益下降噪算法更耗时,可能间接影响帧率。
实操建议:如果场景对帧率要求高,把曝光模式设为手动,曝光时间设为帧率的倒数以下,增益适当提高但不要太高。如果场景对画质要求高,可以降低帧率换取更长曝光。
6. 常见问题速查表与避坑指南
6.1 掉帧问题速查表
| 症状 | 可能原因 | 排查方法 | 解决方案 |
|---|---|---|---|
| 规律性丢帧,每秒固定丢几帧 | 带宽不足或缓冲溢出 | 计算数据量与接口带宽对比 | 降低分辨率/帧率,改用压缩格式,换更高带宽接口 |
| 随机卡顿,无规律 | CPU/GPU被抢占,驱动问题 | 任务管理器看占用率,事件查看器看驱动错误 | 关闭后台程序,更新驱动,调整电源管理 |
| 延迟越来越大 | 缓冲队列过长 | 检查软件缓冲设置 | 减小缓冲队列,降低延迟 |
| 暗光下帧率下降 | 自动曝光延长曝光时间 | 改手动曝光,固定曝光时间 | 手动曝光,提高增益或补光 |
| 多相机同时掉帧 | USB控制器带宽共享 | 检查USB拓扑,看是否共享控制器 | 分散到不同USB控制器,或降低每台相机带宽 |
| 升级系统后开始掉帧 | 驱动/电源管理兼容性 | 回滚驱动,检查电源管理设置 | 更新厂商驱动,关闭USB选择性暂停 |
| 录制时掉帧,预览正常 | 磁盘写入瓶颈 | 看磁盘占用率,测写入速度 | 换SSD,降低录制码率,用单独磁盘 |
6.2 我踩过的五个坑
第一个坑:迷信“USB 3.0”标称。很多电脑的USB 3.0口是共享控制器的,四个口加起来才5Gbps。我试过同时接两个USB 3.0相机,每个都跑1080p60 YUV422,结果两个都掉帧。后来查主板手册,发现那两个口是同一个控制器,带宽共享。解决办法是买一个PCIe USB扩展卡,把相机分散到不同控制器。
第二个坑:忽视USB Hub的质量。便宜的USB Hub内部芯片处理能力差,多设备同时工作时延迟飙升。我买过一个几十块的Hub,接相机后帧率直接减半。换了一个带独立供电和高质量控制芯片的Hub后恢复正常。建议相机尽量直连主机,必须用Hub时选带外接电源的。
第三个坑:用Wi-Fi传视频。无线网络带宽不稳定,延迟波动大,做实时视频采集基本不可行。我试过用Wi-Fi连接的相机,画面每隔几秒就卡一下,换成有线后立刻稳定。如果必须无线,至少用5GHz频段,且相机和路由器之间不要有太多遮挡。
第四个坑:忽略线材质量。USB线太长、太细、屏蔽差,都会导致信号衰减和误码。我有一条3米的便宜USB 3.0线,接相机后经常识别不到或掉帧。换了一条1.5米的带屏蔽品牌线后问题消失。HDMI线和网线同理,长距离传输一定要选质量好的。
第五个坑:在虚拟机里跑相机。虚拟机对USB设备的直通支持往往不完善,缓冲和调度延迟大,掉帧是常态。如果必须用虚拟机,确保USB控制器直通,且虚拟机配置足够高。但最好还是在物理机上跑。
6.3 一套可复用的排查流程
每次遇到掉帧,我按这个流程走,基本能在半小时内定位问题:
- 确认相机本身是否正常:用系统自带相机应用或厂商工具,最低分辨率、最低帧率、默认格式,看是否流畅。如果这里都掉帧,问题在相机、线材或接口。
- 逐步提高分辨率和帧率:每次只改一个参数,观察帧率变化。找到掉帧的临界点。
- 切换像素格式:从YUV切到MJPEG,看帧率是否恢复。如果恢复,说明是带宽瓶颈。
- 检查主机资源:任务管理器看CPU、内存、GPU、磁盘占用。如果某个资源接近满载,就是瓶颈。
- 检查USB拓扑:用USBTreeView等工具看相机挂在哪个控制器下,是否与其他高带宽设备共享。
- 检查软件设置:采集分辨率、输出分辨率、编码器、缓冲队列,逐一调整测试。
- 更新驱动和固件:去相机厂商官网下载最新驱动和固件。
- 换线换口换主机:如果以上都无效,换一条好线、换一个USB口、换一台主机测试,交叉验证。
这套流程的核心逻辑是控制变量:每次只改一个因素,观察结果变化。不要同时改多个设置,否则你永远不知道是哪个起了作用。
7. 选型与预算分配:钱该花在刀刃上
7.1 相机、接口、主机、线材的预算比例
很多人把预算全砸在相机上,结果接口和主机拖后腿。我的建议是:
- 相机:占总预算40%-50%。不要盲目追高分辨率,先确定你需要多少分辨率、多少帧率、什么接口。
- 接口/采集卡:占10%-20%。如果相机是HDMI输出,需要采集卡;如果是USB直连,确保主机USB控制器够用。
- 主机:占30%-40%。CPU、内存、GPU要匹配相机的数据量。4K60采集建议至少i7/R7级别CPU,16GB内存,支持硬件编码的GPU。
- 线材:占5%-10%。不要省这个钱,好线材能避免很多玄学问题。
7.2 不同场景的配置建议
直播推流(1080p60):USB 3.0相机,YUV422或MJPEG格式,主机i5/R5以上,16GB内存,GPU硬件编码。预算约3000-5000元(不含相机)。
4K视频录制:HDMI 2.0相机 + 采集卡,或USB 3.1 Gen2相机。主机i7/R7以上,32GB内存,NVMe SSD录制。预算约6000-10000元。
多路监控/视觉检测:GigE工业相机,2.5G或千兆网口,主机Xeon/i9,32GB以上内存,独立网卡。预算根据路数而定。
视频会议/网课:1080p30 USB相机,MJPEG格式即可,主机i3/R3以上,8GB内存。预算约1000-2000元。
7.3 什么时候该换相机,什么时候不该换
该换相机的情况:
- 相机传感器读出速度确实不够,比如你需要1080p60但相机最高只有1080p30。
- 相机接口太老,比如只有USB 2.0但你需要更高带宽。
- 相机不支持你需要的功能,比如手动曝光、外触发、硬件编码。
不该换相机的情况:
- 掉帧是因为接口带宽不足,换相机不解决接口问题。
- 掉帧是因为主机性能不足,换相机可能加重主机负担。
- 掉帧是因为软件设置不当,换相机不解决配置问题。
- 掉帧是因为线材或驱动问题,换相机不解决这些。
一句话:先算账,再换机。把链路每个环节的带宽、算力、延迟都算清楚,找到真正的瓶颈,再决定花多少钱、花在哪里。
8. 最后分享几个实测有效的小技巧
第一个技巧:用ffmpeg测试相机实际帧率。命令行运行ffmpeg -f dshow -i video="你的相机名称" -f null -,它会输出实际采集帧率。如果显示帧率低于设置值,说明链路有问题。Windows下用dshow,Linux下用v4l2。
第二个技巧:用USBTreeView看USB带宽分配。这个免费工具能显示每个USB控制器的带宽使用情况,帮你判断相机是否与其他设备争抢带宽。
第三个技巧:关闭Windows的USB选择性暂停。在电源选项里,把“USB设置”下的“USB选择性暂停设置”改为“已禁用”。这个功能本意是省电,但会导致相机间歇性挂起。
第四个技巧:给相机单独供电。很多USB相机从USB口取电,如果主机USB供电不足,相机会工作不稳定。用带外接电源的USB Hub,或者用Y型线从两个USB口取电。
第五个技巧:在Linux下用v4l2-ctl查看相机支持的格式和帧率。运行v4l2-ctl --list-formats-ext,它会列出相机支持的所有像素格式、分辨率和帧率组合。买相机前如果能查到这些信息,可以避免很多坑。
第六个技巧:录制时用RAM Disk做缓存。如果磁盘写入是瓶颈,可以把录制缓存设在内存盘里,录完再转存到硬盘。Windows下可以用ImDisk,Linux下用tmpfs。但要注意内存容量,4K60录制一分钟大约需要几GB内存。
这些技巧都是我在实际项目中反复验证过的,不是什么高深技术,但能帮你省下很多换相机的冤枉钱。掉帧这件事,说到底是一个系统工程问题,不是单一硬件问题。把链路搞清楚,把账算明白,你就能用合理的预算搭出稳定的视频采集系统。