使用 Flash、PHP、Red5 从浏览器录制视频
Posted
技术标签:
【中文标题】使用 Flash、PHP、Red5 从浏览器录制视频【英文标题】:Video Recording from Browser using Flash, PHP, Red5 【发布时间】:2011-10-28 18:19:24 【问题描述】:我希望构建一个应用程序,我可以使用它来录制视频(连同音频)和音频(最好是 mp3 格式的音频)。
根据我所做的一些研究,我发现我需要一个 Flash 或 flex 客户端应用程序,一个 RTMP 服务器(最好是 RED5,因为它是免费的)
这是我用来让 cam 工作闪存的代码。
var camera:Camera = Camera.getCamera();
var video:Video = new Video();
video.attachCamera(camera);
addChild(video);
问题是,我不知道如何将流发送到 RED5。
另外,我需要做什么才能根据用户存储视频。我正在创建的网站是 php/mysql,需要录制自己的视频和音频。我喜欢 facebook 集成视频录制的方式。
【问题讨论】:
【参考方案1】:检查这个:http://www.actionscript.org/resources/articles/615/2/Getting-started-with-red5-server/Page2.html
它解释了如何连接和使用RED5并给你一个例子。
【讨论】:
【参考方案2】:以下是用于将视频从 Flash 发布到 Red5、Wowza 或 AMS 等媒体服务器的确切 AS3 代码:
//init vars
public var nc:NetConnection;
public var ns:NetStream;
//net connection to media server
nc = new NetConnection();
nc.connect("rtmp://yourmediaserver/oflaDemo/instance");
//net stream through which the recording data is sent
ns = new NetStream(nc)
//attach cam and mic to net stream
ns.attachCamera(Camera.getCamera())
ns.attachAudio(Microphone.getMicrophone())
//send the data to the media server
ns.publish("streamName","record");
对于音频评论,ns.attachAudio
行。
Flash Player 无法编码 mp3 声音(它可以解码)。您将获得使用 NellyMoser ASAO 编码的声音。 Speex 也是一种选择。 See this answer 了解更多详情。
oflaDemo
是 Red5 附带的支持视频录制的应用程序。
对于支持 Red5 和 PHP 的(商业)Flash/HTML 视频录制解决方案,您应该查看https://hdfvr.com。
另外,我需要做什么才能根据用户存储视频。
只需执行一个 PHP 脚本(从 Flash 客户端)将信息保存在数据库中。您可以使用 POST 或 GET 发送视频数据和会话或 cookie 来检索用户数据。
【讨论】:
【参考方案3】:var video:Video;
var camera:Camera = Camera.getCamera();
camera.addEventListener(ActivityEvent.ACTIVITY, active);
video = new Video();
video.attachCamera(camera);
function active(event:Event):void
addChild(video);
camera.removeEventListener(ActivityEvent.ACTIVITY, active);
【讨论】:
此代码只是将视频添加到舞台,并不会将其流式传输到 Red5 媒体服务器。以上是关于使用 Flash、PHP、Red5 从浏览器录制视频的主要内容,如果未能解决你的问题,请参考以下文章