问题标签 [webcam-capture]

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 投票
2 回答
1343 浏览

javascript - 使用网络摄像头捕获个人资料图片并在画布中显示图片

我有一个插件,我在其中使用笔记本电脑或移动设备上的网络摄像头捕获图像,然后将其放置在画布中。所有这些在 Chrome 中运行良好,但在使用 Firefox 时,它根本不起作用。我怀疑它的 navigator.getUserMedia 导致了 Firefox 中的问题,因为它已被弃用。

链接:https ://developer.mozilla.org/en-US/docs/Web/API/Navigator/getUserMedia

谷歌开发人员建议使用 navigator.getUserMedia 并且它也与我的应用程序兼容。

链接:https ://developers.google.com/web/updates/2015/10/media-devices

因此,请建议应该在下面的代码中进行哪些更改以使其在 Firefox 中工作。

提前致谢。

0 投票
2 回答
3430 浏览

opencv - 以高清 60 fps 将视频流式传输到 PC

我正在从事软件工程学士学位的最后一个项目。我们的项目包括在桌上足球游戏中跟踪球。实际上,对于 Foosball 表的大小,我至少需要高清 1080p 格式(1920x1080 像素)相机,并且由于高速,我还需要 60 fps。

我将使用 OpenCV 开源代码在 C/C++ 中编写代码,并在每个接收到的帧上检测一个球。

所以这是我的问题:我需要从广角 60fps 的高清摄像机中获取蒸汽。

我不能使用网络摄像头,因为它不会为我提供 60fps 的高清格式(网络摄像头无法做到这一点,即使是昂贵的罗技或微软,因为它写在包装上 - 实际上它们意味着它可能是低分辨率的60 fps 或高清与 30 fps)而且它不是广角的。

另一方面,我想使用网络摄像头,因为它很容易从中获取流。

首选的解决方案是使用极端相机(像 Go Pro 但更便宜的版本 - 我有 AEE S70 - 大约 120 美元)我可以使用这款相机的 HDMI 输出将数据流式传输到 PC。但我不能使用 USB,它会被识别为大容量存储设备。它有微型 HDMI 输出,但我的电脑上没有 HDMI 输入。

问题是是否有可能找到一些便宜的捕获设备(HDMI->USB3.0/PCI Express),它可以通过 HDMI 将帧作为高清 1080p 和 60fps 从这个极端相机传输到 PC?我应该使用什么设备?也许您建议我使用另一台相机/或更好的解决方案?

谢谢

0 投票
1 回答
11707 浏览

udp - GStreamer - 从 Raspberry 到 VLC-PC 的网络摄像头流

我正在尝试使用 gstreamer 1.0 将网络摄像头视频从 Raspberry 流式传输到 VLC 播放器。现在我得到了树莓的以下命令:

以及以下 sdp 文件以使用 vlc 播放流:

当我运行 gst-launch-1.0 命令时,我可以使用 wireshark 看到它正在发送 udp 数据包,但是当我尝试使用 vlc 和 sdp 文件播放流时,我什么也得不到。vlc 日志说:

我不知道怎么了。我可能没有正确构建管道,这就是 vlc 无法将流识别为正确的视频流的原因。有任何想法吗?

在此先感谢您的帮助。

0 投票
0 回答
268 浏览

c++ - Microsoft SDK AMCap GetCurrentImage 错误

我正在尝试修改现有的 AmCap 应用程序,可通过 Microsoft 的 SDK Direct Show 示例获得,以便在按下空格按钮时获取捕获的流的图像。下面是我处理空格键的地方。

下面是 CaptureImage 函数的内容。

问题是,当我尝试运行应用程序时,在调用 GetCurrentImage 函数时收到 HRESULT (0x8000ffff) 错误。

另一方面,如果我通过 VS 调试器执行应用程序,代码就可以正常工作。

我试图在流 pMC->Pause() 之后添加一个睡眠,假设问题是时间问题,但这不起作用。

任何想法都会非常有帮助!

先感谢您。

0 投票
1 回答
2209 浏览

python - 将图像从 pygame 转换为 PIL 图像

我们正在使用Raspberry Pi + Python 3.4 + PyGame从特定的 USB 网络摄像头捕获图像。我们使用这个简单的代码来捕获(它工作正常):

问题来了:我们必须把这个webcamImage转换成 PIL 图像。我们关注这个链接,但不幸的是函数 Image.fromstring() 不再存在。所以,我们不能这样做

PIL 说 Image.fromstring() 已被弃用,并建议使用函数Image.frombytes()。显然,我们没有找到将 webcamImage 转换为字节数组的等效 pygame.image 函数。所以我们被困在这里:你能帮助我们吗?谢谢 :-)

0 投票
1 回答
2982 浏览

c - 如何将网络摄像头提要到 GTK 窗口?

我需要使用 C、GTK2/3、Cairo 获取网络摄像头视频源。但是找不到任何关于它的参考资料。

下面显示了我是如何尝试使用 opencv 的。它不成功。我需要知道使用 gstreamer 的其他方法,开罗。

我期待简单的代码将视频发送到 GTK 窗口。如果有人可以提供示例代码,我将不胜感激。

0 投票
1 回答
402 浏览

c# - 访问设备管理器中未显示为成像设备的“网络摄像头”

我有一些使用 Directshow.Net 库的代码(Winforms、C#、.Net 4)。我现在遇到了 2 次问题,其中设备有一个“网络摄像头”,但它没有在设备管理器中显示为成像设备,而是作为其他设备显示。发生这种情况时,DirectShow.Net 要么无法识别它,要么识别它足以与它一起工作,但如果我尝试捕获视频,它就会爆炸。这最近发生在运行 Windows 10 的 Microsoft Surface Pro 4 上。有人对此有任何想法吗?为什么会发生或如何解决?硬件接口不是我的专长,这是我唯一处理直接硬件接口的产品代码。

答案可以是 VB 或 C#(或任何其他语言)。

谢谢

编辑:我相信错误发生在这行代码(来自 DirectShow.Net 库),完整的函数调用进一步向下:

我无法确定这一点,因为我无权在具有实际上不是网络摄像头的网络摄像头的设备上进行开发

返回的错误是

完整功能代码:

0 投票
1 回答
6850 浏览

c# - 在 C# 中从网络摄像头捕获图像

我一直在开发一个生成和读取(解码)二维码的应用程序。在解码部分,用户捕获二维码的图片,程序将开始解码过程。我的问题是我不知道如何拍照。PS:如果您提供库,请提供包含使用该库的教程的链接。谢谢你。

0 投票
1 回答
77 浏览

android - 从 Flash 网络摄像头中提取图像

我在 Android 上的个人项目中工作,我想将从网络摄像头捕获的图像添加到应用程序中,例如从这里:

https://www.skylinewebcams.com/en/webcam/united-states/new-york/new-york/new-york-manhattan.html

我的问题是网络摄像头在 Flash 中,我想在应用程序中只显示一个 picture.jpg 或 .png 捕获,所以我在想:

我正在尝试使用 www.screenshotlayer.com 或 www.whoapi.com 之类的工具,遇到的问题是:

  • 脚本获取屏幕截图时未加载 WebCam,因此在屏幕截图中仅显示了加载程序。
  • 屏幕截图不包含捕获的图像(就像我从 screenshotlayer.com 获得的附加图像)

关于如何解决这个问题的任何想法?

使用 screenshotlayer.com 捕获的网络摄像头

0 投票
1 回答
1359 浏览

c++ - 使用 OpenCV 3.0.0-rc1 的 VideoCapture 选择超时

我在带有 Windows 8 主机的 VirtualBox 中的 Ubuntu 14.04 LTS Guest 上使用 OpenCV 3.0.0-rc1。我有一个非常简单的程序来读取来自网络摄像头(Logitech C170)的帧(来自 OpenCV 文档)。不幸的是,它不起作用(我尝试了 3 种不同的网络摄像头)。它每隔几秒钟就会抛出一个错误“选择超时”并读取一帧,但该帧是黑色的。有任何想法吗?

代码如下: