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