我已经尝试了很多东西:red5,jquery网络摄像头,html5 ......但是这些解决方案都没有录制视频并准备上传到服务器 .
无论如何(html5,flash,无论......更好的跨浏览器,最好的)上传视频(音频!)并将结果上传到服务器(我想通过AJAX)?
总结:
-
jQueryWebcam(https://github.com/infusion/jQuery-webcam):它有flash视频,上传到服务器镜像,而不是视频
-
Eric Bidelman的解决方案(http://ericbidelman.tumblr.com/post/31486670538/creating-webm-video-from-getusermedia):records:records)视频在html5中,允许你下载(所以你可以上传到服务器),但没有音频!
-
Red5(http://www.red5-recorder.com/services.php):付费服务,不以免费版上传:(
-
DMV(https://github.com/rwldrn/dmv):它只是拍摄一张照片......除了不是跨浏览器
3 回答
你可以通过javascript使用像二进制下载这样的东西 .
Here is one example
由于你没有太多关于视频协议的信息,我无法给你更好的答案
你可以试试这个图书馆,RecordRTC . 它生成一个blob文件放入视频源,您可以稍后将此文件上传到您的服务器 .
RecordRTC Library
这个库是其他库的容器,如Whammy for video,Recorderjs for audio和jsGif for gifs .
您也可以将Whammy库用于录制视频:Whammy
我在过去5年的大部分时间里都开发了视频录制解决方案,并为修复Red5中的视频录制错误做出了很多贡献 .
目前有2种 生产环境 就绪的技术解决方案,用于在网络上录制音频和视频 . 一个用于桌面,一个用于移动 .
On desktop 您需要一个嵌入在网页中的Flash应用程序,捕获访问者网络摄像头和麦克风,对原始视频和音频数据进行编码,并在记录时(通过rtmp)将其流式传输到媒体服务器 .
您至少有3个媒体服务器选项:
Red5是免费的开源(顺便说一下 . 录制工作在Red5中开箱即用)
Wowza(每月65美元)
Adobe Media Server Pro($ 4500)
媒体服务器接收(再次通过流/ rtmp而不是通过http)数据,并根据客户端上使用的编解码器将其保存到mp4,flv或f4v文件 .
此Flash客户端媒体服务器录制过程 - 自2002年的Flash Player 6以来运行良好 - 很可能会被名为_1746002的HTML5替代品取代(尚未完全由任何浏览器实现) .
On mobile 您可以使用HTML Media Capture(explained here with screenshots)使用设备的原生视频录制应用和编解码器录制视频 . HTML Media Capture在本地(在设备上)记录,然后将文件上载(正常的HTTP上载过程)到Web服务器 .
实现这两者的商业解决方案(桌面上的Flash客户端媒体服务器和移动设备上的HTML媒体捕获)是HDFVR .