其他分享
首页 > 其他分享> > qt使用线程捕获视频总结

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