经历
失败1: 先使用VC++ ,Opencv打开usb相机,正确获取RGB图像,但是由于应用需要原始帧YUV,不管如何调整参数,都无法获取,最后放弃。
失败2: 使用VC++ ,libusb 获取,学到了很多概念, 无奈usb协议特别复杂,资料很少,调试总是出错。最后放弃。
失败3: 使用VC++ , videoInput , 嗯,不依赖任务库,使用简单,支持多个相机,能正确获取RGB图像, 还是无法获取原始帧YUV。最后放弃。
失败4: Vmware + Ubuntu , 使用guvcview无法播放,提示select 总是超时,无奈放弃。
成功5: ffmpeg,成功获取图像,和原始YUV数据,嗯,经历坎坷。
曾使用的工具: ffmpeg ,opencv,usbview.exe,zadig等
参考文章如下:
FFmpeg
FFmpeg获取DirectShow设备数据(摄像头,录屏)
show_video_device_dialog : 显示usb控制窗口 ffmpeg -f dshow -show_video_device_dialog true -i video="Integrated Webcam"
.....
libusb
源码: https://github.com/libusb/libusb
API函数地址 http://libusb.sourceforge.net/api-1.0/libusb_api.html
API函数中文说明(翻译)libusb-api-1.0
关于libusb,libusbx,libusbK,libusb-win32,WinUSB的关系
Zadig驱动安装软件 https://zadig.akeo.ie/
https://github.com/libuvc/libuvc
.....
videoInput
地址: http://www.muonics.net/school/spring05/videoInput/
A simple way to capture image through USB camera on windows
Vmware + Ubuntu
.....