# UVCCapture **Repository Path**: penggebest/UVCCapture ## Basic Information - **Project Name**: UVCCapture - **Description**: windows下利用DirectShow和qt支持的摄像头拍照软件 - **Primary Language**: C++ - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 24 - **Created**: 2021-02-24 - **Last Updated**: 2021-10-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # UVCCapture ### 介绍 UVCCapture是windows下利用DirectShow和qt支持的摄像头拍照软件,支持使用摄像头的硬件按钮触发拍照功能。虽然qt的QCamera已经支持了摄像,拍照等功能,但是由于不支持使用摄像头的硬件按钮触发拍照,所以本软件基于direct show实现了这个功能。 ### 软件架构 ##### 开发环境 VS2019 ##### 依赖工具包 qt5.12.9 ### 安装教程 ##### 编译安装qt 由于本工程非常小,使用qt5的时候可以静态编译qt,形成一个独立的exe文件,可以使用如下所示的configure选项: ``` bash .\..\qt-everywhere-src-5.12.9\configure.bat -static -debug-and-release -platform win32-msvc -prefix "E:\qt-5.12.9-msvc2019-x64-static-full" -opensource -confirm-license -nomake examples -nomake tests -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -mp ``` ##### 编译工程 编译工程时,打开VS2019的command prompt,输入qmake即可生成VS工程: ``` bash E:\qt-5.12.9-msvc2019-x64-static-full\bin\qmake -tp vc ``` ##### 更新翻译文件 需要更新中文翻译文件,请修改translation/zh.ts文件,并且使用lupdate、lrelease更新zh.ts以及zh.pm: ``` bash E:\git\UVCCapture>E:\qt-5.12.9-msvc2019-x64-static-full\bin\lupdate uvc_capture.pro E:\qt-5.12.9-msvc2019-x64-static-full\bin\lrelease uvc_capture.pro ``` 翻译文件格式可以手动修改,各个字段类似与下边的XML代码: ``` xml Resolutions 分辨率 Output Path 输出路径 ``` ### 支持功能 1. 软件按钮点击录制MJPG编码AVI视频 2. 硬件按钮触发拍照,等待2秒后在对应目录生成图片 3. 软件按钮点击拍照 4. 选择分辨率和设备 5. 连续点击两次硬件按钮触发录制视频,点击一次按钮,间隔500ms以上再点击一个硬件按钮触发启动或者关闭摄像,不同摄像头时间不太一致,提供了硬件按钮双击控制录制视频的功能,但是代价就是,每次点击硬件触发按钮,需要等待2秒才能触发 ### 待支持功能 2. 增加更改压缩率的编码格式生成AVI视频,目前采用MJPG,也就是直接用JPEG图片来拼接形成的video stream对于4k分辨率的摄像头来说,生成的AVI文件会非常大