是否可以从 Web 应用程序与任意客户端外围设备进行交互?

Is it possible to interact with an arbitrary client peripheral from a webapp?

我知道网络应用可以访问麦克风和网络摄像头等媒体设备,以及智能手机 GPS 等其他硬件。据我所知,这是针对每种特定类型的设备使用严格约束的协议完成的。

不过,我有an advanced scientific camera。它只对电脑有用——它附带一个桌面应用程序来控制它和拍照。它还附带一个 C/C++ SDK,以便在您自己的应用程序中与之交互。

浏览器显然无法将其识别为网络摄像头。即使这样做,除了最基本的功能外,其他所有功能都会被忽略。 摄像头在客户端。是否可以编写一个可以与该相机接口并使用其所有功能的网络应用程序? 我不是在寻找完整的解决方案,我只是不知道要做什么 google。

任何 数量的手动解决方案在这里都是公平的游戏。 从普通 JavaScript 到浏览器插件的任何东西到自定义桌面中间件伪驱动程序,位于硬件、相机和浏览器之间。即使将客户端绑定到特定的 OS 也可以。

您可以使用 Silverlight 进行基本的视频捕获和屏幕抓取: https://msdn.microsoft.com/en-us/library/ff602282(v=vs.95).aspx

它也可以由 Javascript 编写脚本: https://msdn.microsoft.com/en-us/library/cc645085(v=vs.95).aspx

问题是,Silverlight 即将消失。不过要到 2021 年 10 月才正式发布,因此在浏览器供应商使用 HTML 5 Media Capture 和 Streams 上线之前,这可能仍然是一个选项: http://w3c.github.io/mediacapture-main/getusermedia.html

除了基本捕捉之外的任何内容,您可能正在寻找自定义浏览器扩展来控制相机的功能,认为它已提供 API