使用Flash、PHP和Red5从浏览器录制视频
我希望建立一个应用程序,使用它我可以录制视频(连同音频)和音频(只有音频最好是mp3格式) 从我做的一些研究中,我发现我需要一个flash或flex中的客户端应用程序,一个RTMP服务器(最好是免费的RED5) 这是我用来让cam工作的代码使用Flash、PHP和Red5从浏览器录制视频,php,flash,actionscript-3,red5,rtmp,Php,Flash,Actionscript 3,Red5,Rtmp,我希望建立一个应用程序,使用它我可以录制视频(连同音频)和音频(只有音频最好是mp3格式) 从我做的一些研究中,我发现我需要一个flash或flex中的客户端应用程序,一个RTMP服务器(最好是免费的RED5) 这是我用来让cam工作的代码 var camera:Camera = Camera.getCamera(); var video:Video = new Video(); video.attachCamera(camera); addChild(video); 问题是,我不知道如何将
var camera:Camera = Camera.getCamera();
var video:Video = new Video();
video.attachCamera(camera);
addChild(video);
问题是,我不知道如何将流发送到RED5
此外,我需要做什么,以便我可以根据用户存储视频。我正在创建的网站是PHP/MySQL,需要有自己的视频和音频记录。我喜欢facebook集成视频录制的方式。检查以下内容:
它解释了如何连接和使用RED5,并给出了一个示例。以下是将视频从Flash发布到RED5、Wowza或AMS等媒体服务器的确切AS3代码:
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);
}
//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声音进行编码(它可以解码)。你可以用Nellymore ASAO对声音进行编码。Speex也是一种选择。更多细节
Lademo的是一款支持Red5附带的视频录制的Red5应用程序
对于支持Red5和PHP的(商业)Flash/HTML视频录制解决方案,您应该查看
此外,我需要做什么,以便我可以根据用户存储视频
只需执行一个PHP脚本(来自Flash客户端),将信息保存在数据库中。您可以使用POST或GET发送视频数据以及会话或cookie来检索用户数据。此代码只是将视频添加到后台,而不是将其流式传输到Red5媒体服务器。