打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
基于red5的在线视频录制实例
www.111cn.net  2011-12-06  编辑:tjxionping
顶着压力,昨天晚上研究了一个晚上red5和as3发现还是蛮有意思的
red5和fms都是个不错的东西,发现在压力下学东西学起来特别快哈
代码如下 复制代码
//预定义声明
import mx.utils.Delegate;
//创建一个基本的网络连接对象
var nc:NetConnection = new NetConnection();
//连接到本地的Red5服务器
nc.connect("rtmp://localhost/online");
//将已和red5服务器建立连接的nc传递给NetStream
var ns:NetStream = new NetStream(nc);
//从摄像头和麦克风取得信息
var cam:Camera = Camera.get();
var mic:Microphone = Microphone.get();
//初始化摄像头和麦克风,调用函数
setupCameraMic();
//保存上次录制的内容,并进行清空
var lastVideoName:String = "";
//监听开始录制和停止录制两个按键的点击动作并进行相应的处理
playButton.addEventListener("click", Delegate.create(this, playClick));
stopButton.addEventListener("click", Delegate.create(this, stopClick));
//定义开始录制的playclick函数
function playClick():Void
{
//此flv文件是保存在 webapps/oflaDemo/streams/文件夹
//将摄像头和麦克风赋给ns
ns.attachVideo(cam);
ns.attachAudio(mic);
//将摄像头信息赋给视频显示窗口,这样我们可以即时看到信息
videoContainer.attachVideo(cam);
// 此处是定义存储名字的,用随机数目获得一个唯一的文件名
lastVideoName = "red5RecordDemo_" + random(getTimer());
ns.publish(lastVideoName, "record");
//锁定开始按键使其失效
playButton.enabled = false;
//锁定停止按键使其生效
stopButton.enabled = true;
}
function stopClick():Void
{
//关闭ns与red5的连接
ns.close();
//并清空视频显示窗口
videoContainer.attachVideo(null);
videoContainer.clear();
//锁定开始按键使其生效
playButton.enabled = true;
//锁定停止按键使其失效
stopButton.enabled = false;
//播放已经录制的视频
playLastVideo();
}
function playLastVideo():Void
{
// 传递录制的视频信息给视屏显示窗口
videoContainer.attachVideo(ns);
//回访已经上次录制的视频片段
ns.play(lastVideoName);
}
function setupCameraMic():Void
{
//启动摄像头
cam = Camera.get();
//设置尺寸
cam.setMode(320, 240, 30);
//设置录制质量
cam.setQuality(0,70);
//启动麦克风
mic = Microphone.get();
mic.setRate(44);
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
网页视频播放的常见兼容方式总结
配电系统图 怎么看,符号,字母含义举例说明
MIC
【图】DY波段--天地出品,皆为精品
配电系统图怎么看
飞狐选2买 - red303的日志 - 网易博客
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服