我们正在开发一个网站,您可以在其中上传有关教程的视频,它看起来像某个机构的视频存储库。我们想出了一个用户可以将视频直接录制到网站并上传标题,说明等内容的想法。我们将在rails框架上使用ruby。除了使用闪光灯和银光之外,有谁知道如何制作它? 好吧,我搜索一些,发现一些,但案例是当用户停止录制时,它自动上传文件...用户可以放一些标题或描述等..而这个例子是在php,这就是为什么它对我来说是一个问题我怎么能在rails中做到这一点
提前致谢
答案 0 :(得分:8)
如果HTML5解决方案适合您,您可以查看WebRTC(目前Chrome,Firefox和Opera支持)。
您可以在此处找到一个好的教程:http://www.html5rocks.com/en/tutorials/getusermedia/intro/
第一次点击搜索webcam plugin
:http://www.xarg.org/project/jquery-webcam-plugin/因为它使用的是JavaScript,所以很容易包含在Rails中。
结果中出现了许多其他人......
另一种选择是使用Nimbb widget
。有很多教程展示了如何将其嵌入到网站中。
网络摄像头有 JQuery插件列表。最佳前10名列出如下:
ScriptCam是一个流行的JQuery插件来操纵网络摄像头。拍摄快照,检测移动,颜色,QR和条形码,录制视频片段并组织视频聊天。
jQuery网络摄像头插件是一个透明层,可以直接在JavaScript中与摄像头进行通信。这个插件提供了三种不同的模式,可以通过一个小的API直接使用JavaScript访问网络摄像头 - 或者更确切地说是jQuery。因此,可以将图像置于Canvas(回调模式),将图像存储在服务器上(保存模式),并在Canvas(流模式)上流式传输Flash元素的实时图像。
WebcamQRCode是一个jQuery插件,它使用网络摄像头用户扫描QR码并将结果返回给Javascript进行处理。此插件最初是为扫描产品的条形码而开发的,并自动在Intranet的形式上填写相应的信息。此插件使用Flash访问网络摄像头。
Photobooth-js是一个jQuery插件加上一个html5小部件,允许用户在你的网站上拍摄他们的头像。所有支持navigator.getUserMedia的浏览器都支持这个jquery插件。
在本教程中,我们将构建一个jQuery和PHP驱动的photobooth。它将允许您的网站访问者使用他们的网络摄像头拍摄快照,并从一个简洁的CSS3界面上传。我们将用于此应用程序的解决方案是webcam.js。它是围绕flash API的JavaScript包装器,可以让我们控制用户的网络摄像头。
允许jQuery从用户的网络摄像头或其他视频捕获设备读取数据的插件。
headtrackr是一个用于实时人脸跟踪和头部跟踪的javascript库,通过网络摄像头和webRTC / getUserMedia标准跟踪用户头部相对于计算机屏幕的位置。
tracking.js通过对象跟踪,颜色标记等自然交互,为摄像机捕获的真实场景提供网络元素跟踪技术,通过简单直观的API开发界面和游戏。 / p>
这是我将基于网络摄像头的手势识别与Hakim El Hattab的reveal.js结合使用时得到的结果。我花了一段时间来编写和微调检测算法。即使这样,算法的准确率也只有80%左右。
用于将网络摄像头快照集成到您的应用中的最小库。它使用getUserMedia,这是一种用于在浏览器中访问音频和视频的最新API。
如果我的回答在某种程度上或某个地方满足了您的要求,那么我很感激您向上投票这个答案 ... :);)
答案 1 :(得分:1)
您可以在没有任何外部库的情况下执行此操作,实际上,我认为,如果从头开始构建此库,则工作会更容易。
首先,您需要访问用户的网络摄像头,使用JavaScript,您可以首先测试用户是否首先拥有网络摄像头。这可以通过以下方式完成:
function hasNavigator() {
return !!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia)
}
然后,如果hasNavigator()
是true
,则可以
if (video) {
navigator.mediaDevices.getUserMedia(constraints).then((stream) => { video.srcObject = stream })
}
video
在哪里
var video = document.querySelector('video')
这使您可以从网络摄像头获取流:
一旦有了流,就可以在画布上绘制流的框架并将其另存为图像。
我写了一篇有关Linking a Webcam Directly to Rails' ActiveStorage的博客文章,我认为您可能会有所帮助。