基于red5的在线视频录制实例和详细注释
本文最后更新于 6139 天前,其中的信息可能已经有所发展或是发生改变。

最近在学校做毕业设计
顶着压力,昨天晚上研究了一个晚上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);
}

评论

  1. doudou
    17年前
    2007-6-08 11:41:48

    你真强

  2. 17年前
    2007-6-08 11:42:06

    很好很强大

  3. doudou
    17年前
    2007-6-08 13:31:46

    啊?

  4. caleb
    17年前
    2007-6-12 15:53:44

    技术勃

  5. 15年前
    2009-8-19 14:45:26

    不错 学习 ^_^

  6. 12年前
    2011-10-11 13:37:12

    我需的是red5端实现视频的录制!!客户端太简单了!!www.8gcom.com

  7. handsome
    9年前
    2014-10-27 15:33:14

    请问您能将源文件发我学习一下吗。
    ns.attachVideo(cam);这句报错是为什么?

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇