问题标签 [uvc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
663 浏览

directshow - 使用 DirectShow 连接 UVC 1.1 H.264 扩展设备

使用 DirectShow,我试图在 Windows 8 上访问 Logitech C920 摄像头的 H.264 流。

使用罗技驱动程序,相机似乎只通过UVC 1.1 H.264 扩展暴露其 H.264 输出。

有没有人清楚地解释为了查询/初始化这样的摄像机并随后使用 DirectShow 从摄像机捕获 H.264 编码的视频需要发生什么?

0 投票
2 回答
14745 浏览

linux - 如何在 Linux UVC 驱动程序中启用 UVC_QUIRK_FIX_BANDWIDTH 怪癖?

我目前正在尝试在 Wandboard 板上运行 2 个网络摄像头,它们必须共享一个 USB 集线器。问题是,当前的驱动程序实现(仅限 YUV)使 USB 集线器饱和,最后我只能连接一个摄像头。

然而,UVC 驱动程序实现对这种情况和其他情况有一个怪癖

问题是,我没有找到任何关于如何加载这些怪癖的文档。你能帮我解决这个问题吗?

0 投票
1 回答
3439 浏览

video - 在 Windows 上使用 ffmpeg,从 Logitech c930e 捕获硬件编码的 H264 流的命令是什么

我在 Windows 8 上使用 ffmpeg,我想从罗技 c930e 相机捕获内置的 H264 硬件编码流。H264 内置编码流是 UVC 1.5 接口的一部分。

使用这个命令我注意到 c930e 通过 DirectShow 暴露了两个视频引脚:0 和 1。

ffmpeg -report -list_options true -f dshow -i video="Logitech Webcam C930e"

[dshow @ 0000000002d89360] Pin "Capture" (alternative pin name "0")

[dshow @ 0000000002d89360] Pin "Capture" (alternative pin name "1")

选择 Pin 0 或 1 似乎无关紧要,我仍然可以从 Logitech c930e 网络摄像头获得原始视频。在 Linux 上,假定的命令涉及 v4l2,但这在来自http://ffmpeg.zeranoe.com/builds/的默认 Windows 版本的 ffmpeg 中似乎不存在

ffmpeg的默认windows构建是否支持直接捕获UVC接口?

这是我在这次旅程中最接近的一次,但仍然不太正确:

ffmpeg -report -f dshow -i video="Logitech Webcam C930e" -s 1920x1080 -r 30 -video_pin_name 1 -vcodec H264 -c copy -f mp4 Logitechc930eFeed.mp4

截至 2015 年 4 月 17 日,我仍在努力解决这个问题并获得两条新信息。

我在罗技的网站上发现了这篇有趣的文章,指导用户将默认罗技驱动程序更改为通用 USB 视频设备驱动程序:https: //support.logitech.com/en_us/article/Install-native-UVC-drivers-for-your -Logitech-webcam?product=a0qi00000069v0MAAQ#

我还发现我的 C930e 有一个较旧的固件 (8.0.866),罗技建议将固件更新到 8.0.875 以修复未指定的 UVC H.264 问题。

所以现在我有了最新的固件,并且在 Windows 8.1 上使用通用的“USB 视频设备”。

ffmpeg -list_devices true -f dshow -i

这给出了这个输出:

ffmpeg version N-69608-g9dc45d1 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.9.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 18.100 / 54. 18.100 libavcodec 56. 21.102 / 56. 21.102 libavformat 56. 19.100 / 56. 19.100 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 9.103 / 5. 9.103 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 [dshow @ 00000000045c9360] DirectShow video devices (some may be both video and audio devices) [dshow @ 00000000045c9360] "Logitech Webcam C930e" [dshow @ 00000000045c9360] Alternative name "@device_pnp_\\?\usb#vid_046d&pid_0843&mi_00#7&3693c0e6&1&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" [dshow @ 00000000045c9360] DirectShow audio devices [dshow @ 00000000045c9360] "Microphone (Logitech Webcam C930e)" [dshow @ 00000000045c9360] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{BB8BE70B-4DDC-465F-9247-86E6EC98D627}" dummy: Immediate exit requested

这个命令: ffmpeg -list_options true -f dshow -i video="Logitech Webcam C930e"

仍然给出这个输出: ffmpeg version N-69608-g9dc45d1 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.9.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 18.100 / 54. 18.100 libavcodec 56. 21.102 / 56. 21.102 libavformat 56. 19.100 / 56. 19.100 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 9.103 / 5. 9.103 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 3.100 / 53. 3.100 [dshow @ 0000000004469360] DirectShow video device options (from video devices) [dshow @ 0000000004469360] Pin "Capture" (alternative pin name "0") [dshow @ 0000000004469360] pixel_format=yuyv422 min s=640x480 fps=5 max s=640x480 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=640x480 fps=5 max s=640x480 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=160x120 fps=5 max s=160x120 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=160x120 fps=5 max s=160x120 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=176x144 fps=5 max s=176x144 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=176x144 fps=5 max s=176x144 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=320x180 fps=5 max s=320x180 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=320x180 fps=5 max s=320x180 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=320x240 fps=5 max s=320x240 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=320x240 fps=5 max s=320x240 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=352x288 fps=5 max s=352x288 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=352x288 fps=5 max s=352x288 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=424x240 fps=5 max s=424x240 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=424x240 fps=5 max s=424x240 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=480x270 fps=5 max s=480x270 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=480x270 fps=5 max s=480x270 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=640x360 fps=5 max s=640x360 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=640x360 fps=5 max s=640x360 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=800x448 fps=5 max s=800x448 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=800x448 fps=5 max s=800x448 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=800x600 fps=5 max s=800x600 fps=24 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=800x600 fps=5 max s=800x600 fps=24 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=848x480 fps=5 max s=848x480 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=848x480 fps=5 max s=848x480 fps=30 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=960x540 fps=5 max s=960x540 fps=15 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=960x540 fps=5 max s=960x540 fps=15 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=1024x576 fps=5 max s=1024x576 fps=15 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=1024x576 fps=5 max s=1024x576 fps=15 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=1280x720 fps=5 max s=1280x720 fps=10 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=1280x720 fps=5 max s=1280x720 fps=10 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=1600x896 fps=5 max s=1600x896 fps=7.5 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=1600x896 fps=5 max s=1600x896 fps=7.5 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=1920x1080 fps=5 max s=1920x1080 fps=5 [dshow @ 0000000004469360] pixel_format=yuyv422 min s=1920x1080 fps=5 max s=1920x1080 fps=5 [dshow @ 0000000004469360] vcodec=mjpeg min s=640x480 fps=5 max s=640x480 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=640x480 fps=5 max s=640x480 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=160x120 fps=5 max s=160x120 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=160x120 fps=5 max s=160x120 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=176x144 fps=5 max s=176x144 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=176x144 fps=5 max s=176x144 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=320x180 fps=5 max s=320x180 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=320x180 fps=5 max s=320x180 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=320x240 fps=5 max s=320x240 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=320x240 fps=5 max s=320x240 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=352x288 fps=5 max s=352x288 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=352x288 fps=5 max s=352x288 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=424x240 fps=5 max s=424x240 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=424x240 fps=5 max s=424x240 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=480x270 fps=5 max s=480x270 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=480x270 fps=5 max s=480x270 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=640x360 fps=5 max s=640x360 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=640x360 fps=5 max s=640x360 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=800x448 fps=5 max s=800x448 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=800x448 fps=5 max s=800x448 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=800x600 fps=5 max s=800x600 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=800x600 fps=5 max s=800x600 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=848x480 fps=5 max s=848x480 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=848x480 fps=5 max s=848x480 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=960x540 fps=5 max s=960x540 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=960x540 fps=5 max s=960x540 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=1024x576 fps=5 max s=1024x576 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=1024x576 fps=5 max s=1024x576 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=1280x720 fps=5 max s=1280x720 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=1280x720 fps=5 max s=1280x720 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=1600x896 fps=5 max s=1600x896 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=1600x896 fps=5 max s=1600x896 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=1920x1080 fps=5 max s=1920x1080 fps=30 [dshow @ 0000000004469360] vcodec=mjpeg min s=1920x1080 fps=5 max s=1920x1080 fps=30 [dshow @ 0000000004469360] Pin "Capture" (alternative pin name "1") video=Logitech Webcam C930e: Immediate exit requested

0 投票
0 回答
7884 浏览

linux - 无法打开 /dev/video0(没有这样的设备)

我正在尝试在 Synology NAS(arm,linux 内核 3.2.40)上安装网络摄像头。我已经编译并安装了内核模块,它们似乎可以工作。这是插入模块并插入相机(Logitech C270)时的内核输出:

这是 lsusb 输出:

但是,我无法访问相机:

在 strace 中:

我尝试了不同的相机型号,另一台计算机上的 C270(工作正常),删除 /dev/video0 并重新创建它(mknod /dev/video0 c 81 0),更改权限等,但我得到了同样的错误。 ..

lsmod 显示 uvcvideo 不用于摄像头:

有任何想法吗?

0 投票
2 回答
1660 浏览

linux - Beaglebone Black Video Capture:错误“选择超时”

嘿,我正在关注 Derek Molloy 的教程:

http://derekmolloy.ie/beaglebone/beaglebone-video-capture-and-image-processing-on-embedded-linux-using-opencv/#comment-30209

使用 Linux UVC 驱动程序支持的 Logitech c310 网络摄像头。

所以我们可以看到它被 Beagleboard 读取没有问题。当我尝试捕获视频时,我只是收到此错误:

看了其他帖子,大家似乎不知道怎么回答这个问题,有这个项目经验的人可以帮帮我吗?

0 投票
0 回答
774 浏览

java - 使用 USB 设备更改 Android 相机 ID?

我开发了一个应用程序,该应用程序显示UVC通过 USB 连接到设备的相机,使用组合libusblibuvc方式JNI

我想要做的是找出一种在启动时运行服务的方法,该服务将为这个 USB 摄像头分配后置摄像头的 ID,以便其他应用程序可以通过简单地请求使用后置摄像头来使用它,这实际上是USB 摄像头,因为它具有后置摄像头的 ID。

这样的事情可能吗?另外,我将如何重新分配相机 ID?在此先感谢您的帮助!

0 投票
1 回答
182 浏览

device - usb:为什么我的 f_uvc 不响应 GET_DEF 请求?

我需要在我的设备中实现 uvc1.5 规范,我选择 linux3.4 作为我的内核,我想使用它drivers/usb/gadget/webcam.c 作为我的功能驱动程序。但它不能正常工作。

根据wireshark捕获的信号,当主机向GET_DEF设备发送请求时,我的设备应答-ENOENT导致枚举失败。

我发现当composite.c收到这种请求时,它会转发它们f->set_up以继续。

主要部分f->set_up是:

v4l2_event_queue令我困惑的是:谁来处理这个事件?我没有看到任何代码在做这种与事件相关的初始化工作......

我的问题是如何正确处理此事件,以便我可以回答GET_DEF请求?

0 投票
1 回答
3193 浏览

ios - 是否可以将外部有线摄像头连接到 ios 设备?

是否可以将外部有线 USB 网络摄像头连接到 ios 设备照明连接器?我想将 USB 网络摄像头连接到 IOS 设备。

这可能是因为有一个例子

但是,我不知道这是否真的可能。必须是有线连接,不是wifi,因为电池问题。

谢谢你。

0 投票
0 回答
880 浏览

android - Android 从外部摄像头录制视频 - 三星 Galaxy S5 - 罗技 C920

我正在尝试通过插入外部摄像头在我的 S5 上录制视频。当我开始录制时,它会启动,但是当我停止录制时,它会崩溃。

我无法理解为什么 Audio Flinger 会死掉。我为记录、写入外部存储、音频等设置了必要的权限,

相同的代码在我的 Moto G 上使用相同的相机也能正常工作。

我附上我的崩溃日志以供参考。我也插入了我的评论...

高度赞赏调试此问题的任何帮助。

我的设备监视器线程:

0 投票
0 回答
146 浏览

uvc - 将电路板实现为 UVC 设备

全部,

我想做一个摄像头模块的采集和编码,做成uvc设备的形式,现在我有一个开发板可以采集和编码,如果我实现板子作为UVC设备,当使用otg或usb连接时开发板,可以看到图像采集。