Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 在rails 4中使用网络摄像头录制视频_Ruby On Rails 4_Video Capture - Fatal编程技术网

Ruby on rails 4 在rails 4中使用网络摄像头录制视频

Ruby on rails 4 在rails 4中使用网络摄像头录制视频,ruby-on-rails-4,video-capture,Ruby On Rails 4,Video Capture,我们正在开发一个网站,您可以上传有关教程的视频,它看起来像是某个机构的视频库。我们想出了一个主意,用户可以直接将视频录制到网站上,并上传带有标题、描述等内容的视频。我们将使用RubyonRails框架。除了使用闪光灯和silverlight,这里有人知道如何制作吗? 嗯,我搜索了一些,发现了一些,但情况是当用户停止录制时,它会自动上传文件…用户可以放一些标题或描述等。。这个例子是用php编写的,这就是为什么这对我来说是个问题,我如何在rails中实现它 提前感谢如果HTML5解决方案适合您,您可

我们正在开发一个网站,您可以上传有关教程的视频,它看起来像是某个机构的视频库。我们想出了一个主意,用户可以直接将视频录制到网站上,并上传带有标题、描述等内容的视频。我们将使用RubyonRails框架。除了使用闪光灯和silverlight,这里有人知道如何制作吗? 嗯,我搜索了一些,发现了一些,但情况是当用户停止录制时,它会自动上传文件…用户可以放一些标题或描述等。。这个例子是用php编写的,这就是为什么这对我来说是个问题,我如何在rails中实现它


提前感谢

如果HTML5解决方案适合您,您可以看看WebRTC(目前在Chrome、Firefox和Opera中受支持)

您可以在此处找到一个很好的教程:

搜索
网络摄像头插件的第一个成功之处是:由于它使用JavaScript,因此很容易将其包含在Rails中

结果中还出现了许多其他问题

另一个选项是使用
nimb小部件
。有很多教程展示了如何将其嵌入到网站中

有用于网络摄像头的JQuery插件列表。。最佳前10名如下:

1. ScriptCam是一个流行的JQuery插件,用于操作网络摄像头。拍摄快照、检测运动、颜色、二维码和条形码、录制视频片段并组织视频聊天

2. jQuery网络摄像头插件是一个透明层,可以直接用JavaScript与摄像头通信。该插件提供了三种不同的模式,可以通过一个小API直接用JavaScript访问网络摄像头,或者更准确地说,是jQuery。因此,可以将图像置于画布上(回调模式),将图像存储在服务器上(保存模式),并将Flash元素的实时图像流放到画布上(流模式)

3. WebcamQRCode是一个jQuery插件,它使用webcam用户扫描QRCode并将结果返回给Javascript进行处理。该插件最初用于扫描产品的条形码,并自动在内部网上填写相应的信息。该插件使用Flash访问网络摄像头

4. Photobooth js是一个jQuery插件加上一个html5小部件,允许用户在您的网站上拍摄他们的头像。支持navigator.getUserMedia的所有浏览器都支持此jQuery插件

5. 在本教程中,我们将构建一个jQuery和PHP驱动的photobooth。它将允许您的网站访问者使用他们的网络摄像头拍摄快照,并从整洁的CSS3界面上传。我们将用于此应用程序的解决方案是webcam.js。它是一个围绕flash API的JavaScript包装,让我们能够控制用户的网络摄像头

6. 允许jQuery从用户的网络摄像头或其他视频捕获设备读取数据的插件

7. headtrackr是一个javascript库,用于实时人脸跟踪和头部跟踪,通过网络摄像头和webRTC/getUserMedia标准跟踪用户头部相对于计算机屏幕的位置

8. tracking.js通过来自对象跟踪、颜色标记等的自然交互,将摄像机捕捉的真实场景的跟踪技术引入web元素,允许通过简单直观的API开发界面和游戏

9 这就是我将基于网络摄像头的手势识别与Hakim El Hattab的reveal.js相结合时得到的结果。我花了一段时间编写和微调检测算法。即便如此,这些算法的准确率也只有80%左右

10 用于将网络摄像头快照集成到应用程序中的最小库。它使用getUserMedia,这是一种最新的API,用于在浏览器中访问音频和视频


如果我的回答在某种程度上或某个地方满足了您的要求,那么如果您投赞成票,我将不胜感激

您可以在没有任何外部库的情况下完成这项工作,事实上,我认为如果您从头开始构建,这项工作会容易得多

您首先需要访问用户的网络摄像头,使用JavaScript您可以首先测试用户是否有网络摄像头。这可以通过以下方式实现:

function hasNavigator() {
      return !!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia)
    }
然后,如果
hasNavigator()
true
,则可以

if (video) {
        navigator.mediaDevices.getUserMedia(constraints).then((stream) => { video.srcObject = stream })
      }
其中
视频

var video = document.querySelector('video')
这允许您从网络摄像头获取流:

一旦你有了这个流,你可以在画布上画一个流的框架,并将其保存为一个图像


我写了一篇博客文章,我想你可能会觉得这很有帮助。

我在xarg中遇到了关于jquery网络摄像头插件的问题,最糟糕的是我忘了再次查看它哈哈,顺便问一下,你有使用插件的经验吗?@heathcliff:没有,我还没有用过它们……现在检查一下我的最新答案……)WebRTC现在仅通过安全连接(https)支持。请提供您所提供的解决方案。我们尚未实现它,因为这对我们来说非常困难。所以我们没有解决这个问题yet@MartijnPieters有人会怎么做?