【问题标题】:Record video on browser and upload to LAMP server在浏览器上录制视频并上传到 LAMP 服务器
【发布时间】:2013-04-26 22:16:56
【问题描述】:
我已经尝试了很多东西:red5、jquery webcam、html5 ...但是这些解决方案都没有记录视频并准备好上传到服务器。
无论如何(html5、flash 等...更好的跨浏览器解决方案,最好的)上传视频(+ 音频!)并将结果上传到服务器(我猜是通过 AJAX)?
总结:
【问题讨论】:
标签:
php
jquery
flash
video
record
【解决方案1】:
在过去 5 年的大部分时间里,我开发了视频录制解决方案,并为修复 Red5 中的视频录制错误做出了很多贡献。
目前有 2 种可用于在网络上录制音频和视频的生产就绪技术解决方案。一种用于台式机,一种用于移动设备。
在桌面上您需要一个嵌入网页的 Flash 应用程序,捕获访问者的网络摄像头和麦克风,对原始视频和音频数据进行编码,并在记录时将其流式传输(通过 rtmp)到媒体服务器。
媒体服务器至少有 3 个选项:
-
Red5 是免费和开源的(顺便说一句,Red5 中的录音功能开箱即用)
-
Wowza(65 美元/月)
-
Adobe Media Server Pro ($4500)
媒体服务器接收(再次通过流式传输/rtmp 而不是通过 http)数据,并根据客户端上使用的编解码器将其保存到 mp4、flv 或 f4v 文件。
这种 Flash 客户端 + 媒体服务器录制过程 - 自 2002 年 Flash Player 6 以来一直运行良好 - 很可能会被名为 MediaStream Recorder 的 HTML5 替代方案取代(任何浏览器尚未完全实现)。
在移动设备上,您可以使用 HTML 媒体捕获 (explained here with screenshots) 使用设备的本机视频录制应用程序和编解码器录制视频。 HTML Media Capture 在本地(在设备上)记录,然后您将文件上传(正常的 HTTP 上传过程)到 Web 服务器。
同时实现(桌面上的 Flash 客户端 + 媒体服务器和移动设备上的 HTML 媒体捕获)的商业解决方案是 HDFVR。
【解决方案3】:
你可以试试这个库,RecordRTC。它会生成一个 blob 文件以放入视频源中,您可以稍后将此文件上传到您的服务器。
RecordRTC Library
这个库是其他库的容器,例如用于视频的 Whammy、用于音频的 Recorderjs 和用于 gif 的 jsGif。
您也可以使用 Whammy 库来录制视频:
Whammy