ESP32CAM图传的最高帧数
2022-09-17 17:32 作者:breadeding | 我要投稿
经过我的测试,ESP32CAM使用OV2640(XCLK=20MHz)的最高帧率有三种情况,分辨率达到XGA(1024*768)及以上时最高均为12.5FPS,分辨率达到HVGA(480*320)及以上时最高均为25FPS,分辨率低于HVGA时最高均为50FPS。降低图像质量或者不对数据进行处理均无法超过上述帧数,因此以上即为ESP32CAM读取图像数据的速度上限,而fb_count>1时,图传和读取图像数据是同时进行的,在供电充足和WiFi信号良好的情况下应该能达到上述帧数。在我的测试中,除了UXGA(1600*1200)需要将jpg质量降低到30才能达到最高帧率12.5FPS,其他分辨率都可以在jpg质量为10时达到上述三种最高帧率。另外,我的图传测试中WiFi速度最高为1MB/s左右,远远低于该模块的宣称速度,可见WiFi并不是瓶颈(当然前提还是信号足够好)。
OV2640的最高帧数和时钟频率是成正比的,官方宣传的UXGA15帧,SVGA30帧和CIF60帧都是基于24MHz的,ESP32CAM的官方驱动将PWM的占空比精度设置为了2bit,因此最高只能达到20MHz,因此该宣传帧数需要乘20/24,就与我的测试帧数一致了。在摄像头初始化后,可以手动设置将PWM设置为1bit精度的40MHz,此时降低jpg质量理论帧数将可以达到UXGA25帧,SVGA50帧和CIF100帧。在实际测试中,SVGA50帧和CIF100帧都可以达到,但SVGA以上的分辨率无法正常使用。