基于red5的在线视频录制实例

顶着压力,昨天晚上研究了一个晚上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);

}

时间: 2024-09-16 17:51:02

基于red5的在线视频录制实例的相关文章

FMS3系列(四):在线视频录制、视频回放

使用Flash/Flex+FMS实现在线视频录制.视频回放的很简单的.通过阅读API文档后基本都可以实现这个功能,本文也意在抛砖引玉,希望对刚入手这块的朋友有所帮助. 首先建立好Flash(ActionScript 3.0)文件,从组件(可使用Ctrl+F7打开)库中拖拽相应的组件到Flash舞台上,如下图: 界面布局好后我们通过程序设置组见的显示文本以及为按扭添加事件监听,新建一个ActionScript类文件,编写代码如下: 以下为引用的内容: 1 public function Publi

Flex与.NET互操作(十三):FluorineFx.Net实现视频录制与视频回放

本文主要介绍使用FluorineFx.Net来实现视频录制与视频回放,FluorineFx如同FMS一样,除了有AMF通信,RTMP协议,RPC和远程共享对象 外,它同样具备视频流服务的功能.通过它我们可以非常方便的实现在线视频录制.视频直播.视频聊天以及视频会议等类似应用程序的开发 . 在<FMS3系列(四):在线视频录制.视频回放>这篇文章里我写了通过FMS来实现在线视频录制和视频回放的功能,客户端的开发和 这篇文章是相同的,不同的是本文将使用Flex来开发. 首先我们来看看使用Fluor

Flex与.NET互操作(十三):FluorineFx.Net实现视频录制与视频回放_Flex

通过它我们可以非常方便的实现在线视频录制.视频直播.视频聊天以及视频会议等类似应用程序的开发.  在<FMS3系列(四):在线视频录制.视频回放 >这篇文章里我写了通过FMS来实现在线视频录制和视频回放的功能,客户端的开发和这篇文章是相同的,不同的是本文将使用Flex来开发.       首先我们来看看使用FluorineFx服务端是如何开发的,建立ApplicationAdapter是必然的,这里我们为本文中的示例程序建立的ApplicationAdapter为VideoApplicatio

iOS开发系列--音频播放、录音、视频播放、拍照、视频录制

概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制,还是对麦克风.摄像头的操作都提供了多套API.在今天的文章中将会对这些内容进行一一介绍: 音频 音效 音乐 音频会话 录音 音频队列服务 视频 MPMoviePlayerController MPMoviePlayerViewController AVPlayer 摄像头 UIImagePickerControlle

Silverlight之视频录制

摘要:在前两篇Silverlight的文章中跟大家一块学习了Silverlight的基础知识.Silverlight摄像头麦克风的相关操作以及截图.声音录制等,在文章后面也简单的说明了为什么没有视频录制,今天就和大家一块看一下上一节中最后的一个问题:如何使用Silverlight进行视频录制. 主要内容: 1.NESL项目简介 2.使用NESL实现视频录制 3.注意 一.NESL项目简介 在silverlight 中如何录制视频?相信这个问题有不少朋友都搜索过,但是好像目前还没有见到很好的答案,

FLASH视频录制+抓图

源文件:视频录制.rar代码:stop();  实例名begin_btn,view_btn,norm_btn,photo_btn四个按钮,实例名为mybox的一个视频(库--新建视频),  //将按钮设为禁用  begin_btn.enabled = false;  view_btn.enabled = false;  norm_btn.enabled=false;  client_nc = new NetConnection();  client_nc.onStatus = function(

在线视频王者YouTube的技术哲学

导读:许多团队都使得他们的基础架构越来越复杂,YouTube团队却尽量保持简单的风格.正是凭借简单的技术哲学,才成就了YouTube在线视频王者的盛名. 如果你想构建一个可以承载日访问量40亿次的网站,YouTube有许多值得借鉴的地方.本文是YouTube的工程师Mike Solomon在PyCon(PyCon是Python开源社区的开发者年度盛会)上关于YouTube扩展性演讲的摘要,相信会对大家有所启发. 许多团队都使得他们的基础架构越来越复杂,YouTube团队却尽量保持简单的风格.他们

暴风影音宣布正式进入在线视频服务领域

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 中国几百家互联网视频网站混战的局面或许很快就会结束.昨日,作为中国最大的视频播放软件,暴风影音宣布正式进入在线视频服务领域.而这一转型很可能将使得中国互联网视频行业的龙头争夺战提前进入"收官"阶段. 基于暴风影音每日2200万的使用量,各大互联网视频企业纷纷搭车,为暴风影音提供视频内容,以提高自己的占有率.其中不乏搜狐网.

android-自己做Android行车记录,怎么代码实现后台检测以确定视频录制的时长。

问题描述 自己做Android行车记录,怎么代码实现后台检测以确定视频录制的时长. 现在在做这个Android行车记录仪的毕业设计,但是我这一个实现视频循环的不会,要求是软件要具有后台检测手机内存大小的功能,即便可以确认录制时间,等到录制的一定的程度,就自动返回原来录制的视频,执行删除,释放空间,完了就可以再接着录制(其实就是用最新的视频覆盖最开始录制的视频,来回反复). 现在我找到了一个基于Linux下的单个AVI文件循环存储方式,但是网上关于这一块的东西实在是太少太少了,我也不会,实在是技术