我希望构建一个应用程序,使用它我可以记录视频(连同音频)和音频(只有音频最好在mp3格式)。
从我做的一些研究,我发现我需要一个客户端应用程序在flash或flex, RTMP服务器(RED5优先,因为它是免费的)
这是我用来获得凸轮工作闪光灯的代码。
var camera:Camera = Camera.getCamera();
var video:Video = new Video();
video.attachCamera(camera);
addChild(video);
问题是,我不知道如何将流发送到RED5。
还有,我需要做些什么才能根据用户存储视频。我正在创建的网站是在PHP/MySQL,需要有自己的视频和音频记录。我喜欢facebook集成视频录制的方式。
检查:http://www.actionscript.org/resources/articles/615/2/Getting-started-with-red5-server/Page2.html
它解释了如何连接和使用RED5,并给出了一个示例。
从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也是一种选择。
oflaDemo
是一个Red5应用程序,支持Red5自带的视频录制。
对于一个(商业)Flash/HTML视频录制解决方案,支持Red5和PHP,你应该检查https://hdfvr.com.
还有,我需要做些什么才能根据用户存储视频。
只需执行一个PHP脚本(从Flash客户端),将信息保存在数据库中。您可以使用POST或GET发送视频数据和会话或cookie来检索用户数据
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);
}