摄像头预览帧率正常但录制时帧率异常的技术求助
问题:多台Logitech Brio 4K摄像头录制时帧率异常(Linux环境)
我有3台Logitech Brio/4K流媒体摄像头,此前一直能稳定以30fps运行。操作系统为Linux,使用guvcview实时查看摄像头帧率(该应用仅打开摄像头,不进行录制)。
昨日电脑崩溃强制重启后,使用Python的cv2库录制摄像头时出现帧率异常问题:单台摄像头帧率在45fps、55fps、37fps之间波动,且每次运行的平均帧率不稳定。
已确认以下信息:
- 摄像头设置与配置未发生变化,和故障前完全一致
- Python中通过
time.time()采样所有帧,计算相邻帧时间差的平均值来测量平均帧率
关键现象:
注释掉代码中的video.write语句时,平均帧率恢复至guvcview显示的预期30fps;恢复该语句(即向硬盘写入帧)时,帧率又出现上述异常波动。
运行代码片段:
def run(self) -> None: """Thread runnable function.""" self.capture = cv2.VideoCapture(int(self.src_id)) self.capture.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('M', 'J', 'P', 'G')) self.capture.set(cv2.CAP_PROP_FRAME_WIDTH, 1920); self.capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080); self.capture.set(cv2.CAP_PROP_FPS, 30)
每个摄像头在独立线程中运行
内容的提问来源于stack exchange,提问作者Atayz97
相关产品推荐
相关产品推荐

