问题标签 [usb-camera]
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.
opengl - 如何将 ueyesrc 缓冲区转换为 opengl 纹理?
我正在尝试使用 gstreamer在Coral DevBoard上制作UI-3370CP-C-HQ R2 相机。
由于摄像头不是标准的 v4l2 摄像头,所以我在开发板上下载并编译了ueyesrc
gst 插件(https://github.com/atdgroup/gst-plugin-ueye)。
在我的应用程序中,我需要将框架作为 opengl 纹理,并且我一直在构建一个工作管道。
到目前为止,我设法从相机中获取东西的唯一方法是将帧保存为 jpeg:
gst-launch-1.0 tee ueyesrc num-buffers=10 ! jpegenc ! filesinklocation=ueyesrc-frame.jpg
ueyesrc 提供的管道示例gst-launch-1.0 ueyesrc ! videoconvert ! xvimagesink
在我的情况下不起作用,因为设备上没有 X-Server(但 Wayland)
gst-launch-1.0 ueyesrc ! videoconvert ! glimagesink
返回以下错误:
使用标准 USB 网络摄像头(Logitech HD Pro Webcam C920),gst-launch-1.0 v4l2src ! videoconvert ! glimagesink
工作正常。
我真的不明白出了什么问题或如何找到有关它的更多线索,我想我在中间错过了一个转换步骤,但我不知道如何解决它。有人有想法吗?
编辑1:这确实是一个转换问题。我通过在videoconvert
大写字母中指定格式来让它工作:gst-launch-1.0 ueyesrc exposure=2 ! videoconvert ! video/x-raw,format=YUY2 ! glimagesink sync=False
尽管 CPU 使用率非常高(iMx8 的所有 4 个内核上 > 90%)并且帧速率最高达到 6.5 fps。
gstreamer - Gstreamer 无法从 USB 摄像头捕获视频
我有一个HikVision MV-CA050-20UC USB 相机(USB 3.0)。我想使用gstreamer在Ubuntu的Nvidia Jetson Nano上捕获视频。安装驱动 后,连接摄像头后出现(断开摄像头后也会消失)。/dev/video0
gst-launch-1.0 v4l2src device="/dev/video0" name=e ! 'video/x-raw, width=640, height=480' ! videoconvert ! 'video/x-raw, width=640, height=480, format=(string)YUY2' ! xvimagesink
或使用此命令
gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw,framerate=30/1,width=1280,height=720 ! xvimagesink
它向我显示了这条消息,没有任何视频:
我确信v4l2安装正确。但它无法检测到插入的 USB 摄像头。
或者 1050Ti 系统(另一个系统)的这个结果:
也通过运行v4l2-ctl -d /dev/video0 --list-formats-ext
我得到了同样的信息。
Gstreamer 版本
我该如何解决这个问题。提前致谢。
android - USB 摄像头通过 RTMP 实时流式传输在 android 中存在问题
我正在使用https://github.com/saki4510t/UVCCamera库来预览 USB 相机到纹理视图和流式传输,我正在使用https://github.com/pedroSG94/rtmp-rtsp-stream-client-java 库。
我使用 RtmpCamera2 类进行流式传输,并使用 UVCCameraTextureView 将输出渲染到设备。我的问题是,当我开始流式传输时,只发送音频数据包。sendVideo() 不是从SrsFlvMuxer调用的。如果有人对此问题有一些解决方案,那就太好了。
这是我到目前为止实现的代码:
在单击“开始流”按钮时,我写了以下几行:
注意:我在 UVCCamera 项目中添加了 rtmp-rtsp 库作为依赖项,并且 USB 摄像头预览在 android 设备中可见。
python - 使用 OpenCV 连接 USB 摄像头
由于某种原因,我的脚本无法识别连接的 USB 摄像头(MU500),但是,它可以识别并显示我的另一台模拟转换为 USB 摄像头的摄像头。以下脚本是运行和显示视频捕获的 GUI 的一部分。
用户输入“1”访问摄像机 1,或输入“2”访问摄像机 2,依此类推。我试过只连接 MU500 并连接两者。都不认识MU500。MU500 使用 AmScope 驱动程序,并在设备管理器中列为成像设备。
有谁能帮助我吗?
python - 使用较低分辨率的opencv捕获fps下降
我有一个能够记录 60 fps 的 USB 相机。我在 Windows 上使用带有简单 python 代码的 openCV 来捕获一些视频,但是它并不顺利!
我的主要问题是,如果我将[width, height]
属性设置为相机接受的最大值,则它能够很好地录制 60 fps,否则(即任何较低的分辨率)录制/流式传输将降至 30 fps 最大值(录制会很有趣加速或减速以匹配指定的录制 fps;即,如果指定的分辨率为 320X240 并且录制 fps 设置为 60 和 10 秒,则生成的视频将被压缩到 5 秒,所以基本上加速了 2 倍!!)
我不明白为什么会发生这种情况?有任何想法吗?
这是代码片段:
android - 验证 org.WebRTC VideoFrame 或 NV21Buffer 是否包含有效(未损坏)图片
我调用以下方法将帧从 USB 摄像机流式传输到org.WebRTC
的 Video Capture Observer。它工作正常,除了在远程对等方的视频显示中每隔几秒钟出现一些损坏的帧(绿色或扭曲的灰色帧)。我想在将它们进一步发送给观察者之前验证它们是否是好图片nv21Buffer
。videoFrame
在进一步发送帧之前,是否有任何内置工具/方法来验证帧的好坏?
python - 如何使用 OpenCV 和 python 访问我的 USB 摄像头?
我在使用带有 python 的 OpenCV 访问我的 USB 相机时遇到问题。
我收到以下错误消息,我理解这意味着没有捕获任何帧?
简单代码如下。有什么想法吗?一些帮助我将不胜感激
python - 如何在 Python 3.8 中为 asyncio.gather 构建任务列表
下面我附上了一个测试程序来演示我遇到的asyncio.gather抛出TypeError的问题。
我的目标: 进行多个并发异步调用,以从连接到我的计算机的 USB 摄像头阵列中将摄像头图像捕获到文件中。当所有相机都完成异步捕获后,我想恢复处理。
此处显示的异步协程take_image()对“ffmpeg”应用程序进行系统调用,该应用程序将图像从指定相机捕获到指定文件。
下面显示的main()例程获取多个摄像头的列表,并遍历列表中的每个摄像头, main() 使用asyncio.create_task()为每个摄像头创建一个异步任务。每个任务都添加到任务列表中。
一旦所有图像捕获任务都已启动,我使用await asyncio.gather(tasks)等待它们完成。
不幸的是,当我尝试运行这个程序时,我收到了这个错误:
类型错误:不可散列类型:“列表”
和以下追溯:
我一直试图通过 asyncio 的 3.8 文档来解决问题,但我不明白出了什么问题。
如何让每个 take_image 请求异步运行,然后在每个任务完成后在我的调用例程中恢复处理?
gstreamer - 为什么 v4l2src 错误消息不通过包含队列元素的管道传播?
我正在尝试构建一个 gstreamer 管道,该管道从 h264 USB 摄像头获取视频流并对其进行处理(将其显示在屏幕上,将其记录到文件等)。如果管道中发生错误,我想将其打印出来并终止管道。例如:如果 USB 摄像头被拔掉,管道应该终止,并且应该打印出一条错误消息。
使用以下简单管道可以按需要工作:
管道显示视频,当我拔下相机时,管道终止并打印以下输出:
当我构建一个更复杂的管道(满足我的需要)时,我发现错误消息没有通过管道传播,因此它没有终止管道。我将其缩小到“麻烦制造者”元素,结果是队列元素。
以下管道不再按预期工作:
拔下摄像头时,视频显示会无限期冻结,而不会终止管道。
这是正常行为吗?我错过了什么?有解决方法吗?
PS.:我尝试使用标识元素及其error-after属性来模拟错误消息。
此管道也可以按需要工作,这意味着它会因相关错误消息而终止。
android - 是否可以同时将手机与 USB 摄像头和 Macbook/Windows 连接以调试 Android 应用程序?
我想创建一个 Android 应用程序,我可以在其中处理来自 USB 相机的图像并在它们上运行 ML 检测。我有 Pixel 2XL、Logitech C920 和 Macbook Pro,我想同时连接它们,所以我可以在应用程序崩溃/不运行时对其进行调试。现在,我正在使用 ALogic C 型扩展坞,但它没有检测到用于 USB 调试的移动设备。有什么方法可以调试应用程序吗?