使用 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 从浏览器录制视频的主要内容,如果未能解决你的问题,请参考以下文章

Red5点播和直播的实现

RED5 1.0 录制问题 NetStream.Buffer.Empty

单击 javascript 按钮时播放 SWF

来自 Ruby Web 应用程序的实时音频录制/播放

Javascript - Flash 录音

什么是red5