qt使用线程捕获视频总结
作者:互联网
在qt中,如果由于捕获视频导致ui主线程卡顿,则可以采用线程捕获视频数据的方式,
但是会导致内存管理崩溃,泄露等严重问题。因此视频捕获采用阻塞方式,及在ui主线程中执行。
原因:
V4L2编程中使用阻塞方式打开一个设备文件,除非你能开始采集数据时队列里的n块缓存已有数据存在。
倘若使用非阻塞,及线程方式,则会出现BUG:
VIDIOC_DQBUF: Bad file number
可能是内核缓冲区(驱动缓冲区)没有这么大导致程序在VIDIOC_DEBUF时一直阻塞
也可能是驱动的问题
将耗时的工作放入线程线程中,会出现线程间任务来回切换完成、任务堆叠等情况,使用时需要充分考虑好。
搜索
复制
<iframe></iframe>标签:视频,qt,捕获,阻塞,VIDIOC,线程,ui 来源: https://www.cnblogs.com/zhukaile/p/16343603.html