2014-09-30 70 views
2

在我的公司,我有建立网站的任务,用户可以在其中录制视频, 将发送到服务器,一些东西将完成,用户最终收到一封电子邮件,内含 指向嵌入该视频的微型网站的链接。从网络摄像头录制带有HTML输入类型文件捕获摄像机的视频

经过一番研究,我得出结论,至少在目前, 不可能通过iPad上的getUserMedia获取视频。

所以解决方案非常简单,我只是使用一个输入元素与接受=“视频/ *;捕获=摄像机”。

<input type="file" accept="video/*;capture=camcorder"> 

到目前为止,这么好。正如我在this页面上看到的那样,也可以用这种技术从网络摄像头捕捉视频,我认为它是一个完整的跨浏览器解决方案。

但经过一些测试后,我可以在桌面浏览器上选择已录制的视频。

我误解了那篇文章吗?或者我只是做错了?

干杯, Mohammer

+0

总之''输入接受=“视频/ *'从来没有被桌面浏览器/操作系统实现。查看我的答案获取详细信息和解决方案@Mohammer – 2015-10-29 12:32:29

回答

1

总之你结束了使用HTML Media Capture Standard这是超载<input type="file">元素,为accept参数添加新值。

关于它的伟大之处是它在大多数移动浏览器(除了仅录制iOS上的麦克风)上效果很好。支持至少在实施的:

  • Safari和Chrome在iOS 6+
  • 互联网和Android版Chrome 3+

这几乎涵盖任何人,但是根据设备的不同,将以.mp4(Android),.mov(iOS)和.3gp文件结束。

不是那么棒的事情是,它默认为一个普通的旧文件选择器,当用于桌面操作系统而不是打开Photo Booth例如。

令人惊讶列入该标准的草案,如何将视频通过某种的Photo Booth应用程序的捕捉会看起来桌面上的图片: enter image description here

这就是为什么在桌面上的Flash视频记录客户机+媒体服务器是只有在浏览器和平台上运行良好的解决方案。

也有商业解决方案,包括HDFVR(HTML媒体捕获+闪存)和Pipe其中包括转换到.mp4,推到你的S3/FTP和webhooks更多。

1

我认为这是一个错字。

的正确方法是

<p>Capture Video: <input type="file" accept="video/*" id="capture" capture="camcorder"> 

的“捕捉”属性只影响移动文件上传,据我所知。

来源:http://mobilehtml5.org/ts/?id=23

+0

其实,我不认为这是一个错字,大多数网站我已经发现给样品代码提供了'accept =“video/*; capture = camcorder”'。但是你是正确的,除非capture属性是分开的,否则浏览器似乎没有正确地限制接受的文件类型 – jessica 2016-06-24 02:23:53

+0

'capture =在2012年7月发布的[HTML Media Capture草案](https://www.w3)中最后可以看到“camera”,“capture =”摄像机“,”capture =“microphone”和“capture =”filesystem“ .org/TR/2012/WD-html-media-capture-20120712 /)**从[2012年12月草案]开始(https://www.w3.org/TR/2012/WD-html-media- capture-20121213 /#the-capture-attribute)'capture'属性的类型为boolean。** – 2016-11-03 17:01:56