- 浏览: 154428 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
梁梓程:
GitHub里面的那个sand的代码可以换成java的吗?
浅入浅出游戏粒子系统 -
aa276174247:
楼主好人,求源码研究, 670205373@qq.com
基于java Red5服务器客户端视频聊天室搭起来了 -
07shou:
楼主,小弟最近在学习视频播放,有很多问题,不知可以发份代码学习 ...
基于java Red5服务器客户端视频聊天室搭起来了 -
star245:
能共享出来代码吗,liwen337@163.com
基于java Red5服务器客户端视频聊天室搭起来了 -
lf555:
楼主~~ 何时打算开源呀~~ 借鉴学习下~
打算实现开源网页游戏框架openjpfgame(Java Php flex game),目前实现部分
基于java Red5服务器客户端视频聊天室(ldfu)
开发环境:
Red5(视频服务端内嵌Tomcat6),Mina(高性能 socket通讯框架),
Flash(Flex) Builder4,Myeclipse8.0,java sdk6.0
一.先看看客户端的界面,呵呵。
(1)Flash Buidler开发原型图
(2)全屏图:
(3)UI部分源码:
(4)服务器启动:
(5)开始视频接受对方数据流以及聊天记录:
二.原理:
(1)服务器启动ServerSocket监听RTSP协议数据流;
@Override
public boolean appStart(IScope arg0) {
/**
* 此应用启动时,第一个触发
*/
System.out.println("服务器启动成功!");
return super.appStart(arg0);
}
(2)客户端Flash启动获取摄像头以及音频输入显示在本地左下方区域;
private var rtmpUrl:String="rtmp://192.168.1.100/chatlive";
camera= Camera.getCamera();
if (camera!=null)
{
writeMessage("您的系统已经安装摄像头");
camera.addEventListener(ActivityEvent.ACTIVITY,cameraActivityHander);
camera.addEventListener(StatusEvent.STATUS, cameraStatusHander);
this.myVideo.attachCamera(camera);
}
else
{
writeMessage("您的系统没有安装摄像头");
}
mic = Microphone.getMicrophone();
if (mic!=null) {
writeMessage("您的系统已经安装麦克风");
mic.setSilenceLevel(0);
mic.gain = 100;
}
else
{
writeMessage("您的系统没有安装麦克风");
}
(3)客户端Flash连接Red5服务器是否已经存在,存在则从服务器获取一个
自己的ID.不存在着提示:
nc = new NetConnection();
nc.client = this;
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
nc.connect(rtmpUrl, localUsername);
(4)哈哈,其他代码暂时不公布,呵呵。
三.此视频架构缺点:
1.客户端需要服务器来中转数据流,严重依赖于服务器;
2.严重地占用服务器的资源,包括CPU,内存以及网络带宽,可扩展性差;
除非像ku6那样每年给电信烧十几亿的带宽费;客户端越多,服务器
需要越多,带宽要求越高。
四.感言:
这种架构没有太多钱投资情况下,几乎是无法运行的,呵呵。所以我想基于
P2P架构进行点对点聊天。经过多天的摸索,目前已经找到一种点对点直接视频
方式,它不需要服务器中转。不过稍微深入一点的技术,其技术难点:
(1)如何穿透在NAT服务器后面的私有内部网络进行UDP数据传送,因为你的内部
IP地址在外面是看不到,外面也是无法主动连接内部IP;
(2)如何穿透防火墙的阻拦;呵呵,现在的公司一般都打开http 80端口,我们就在这个
上面下功夫,那就是利用Http隧道穿越!或JXTA技术,is No Problem。
(3)以怎么样的协议传送视频音频数据
(4)如何获取摄像头以及声音;
目前(1),(2)两点已经实现基本的解决方案代码,加油,有挑战性,呵呵
评论
07shou@163.com
(3)以怎么样的协议传送视频音频数据
(4)如何获取摄像头以及声音;
解决了吗?
7779177@qq.com
hillhaw@qq.com
123020576@qq.com
谢谢啦
官方所有demo代码的svn地址:http://red5.googlecode.com/svn/java/example/trunk (可在官网找到最新下载链接) 其中的videoconerence即为此例代码
楼主只不过想自我炫耀一下罢了.
再有,基本red5的视频会议运用,一般在内网运行.基于NIO技术的流传播,支持个千把链接没问题.
发表评论
-
java高速生成大文件的MD5算法
2012-10-27 00:28 0java快速生成大文件的MD5算法import java.io ... -
教你轻松拿下百度音乐播放器mp3地址
2010-09-28 21:23 1079教你轻松拿下百度音乐播放器mp3地址----ldfu2010 ... -
周会&惩罚激励制度
2012-03-21 13:41 0周会 个人很反感开会,因为之前参与过的会议,有80%都是没有 ... -
负载均衡--大型在线系统实现的关键(下篇)
2012-03-21 12:42 0在网络应用中,“负载 ... -
技术主义者的网游观点
2012-03-21 12:06 0大概一年多或者更早以前,我就想过是否能实现单一游戏世界平均同时 ... -
C++中使用Lua脚本 和lua中调用c的方法
2012-03-21 12:04 0参考http://blog.csdn.net/kun12345 ... -
超大地图MMORPG的场景管理
2012-03-21 12:03 0超大地图MMORPG的场景管 ... -
MMORPG开发入门
2012-03-21 11:59 0作者: Radu Privantu 译者:pAnic 20 ... -
服务器宕机
2012-03-21 11:53 0服务器宕机 我不得不承认,我的能力不足以写出一个100% ... -
从腾讯QQgame高性能服务器集群架构看“分而治之”与“自治”等分布式架构设计原则
2012-03-21 11:28 0从腾讯QQgame高性能服务器集群架构看“分而治之”与“自治 ... -
一种经典的服务器架构
2012-03-21 11:27 0一种经典的服务器架构 ... -
一个AS3 socket解码设计的错误思路
2012-03-20 17:34 0一个AS3 socket解码设计的错误思路 作者:闪刀 ... -
FLASH端SOCKET连接C++服务端代码
2012-03-20 16:55 0FLASH端S 最近在开发一个休闲类的游 ... -
java并发分析as3中的无用css样式
2012-03-12 16:19 0java并发分析as3中的无用css样式 -
java连接SSH服务器并执行shell命令
2012-03-09 18:27 0前要通过java连接到SSH服务器并执行一些linux配置命令 ... -
ant + jsch 远程发布web工程
2012-03-09 18:08 0<?xml version="1.0&quo ... -
nio支持epoll
2012-03-05 11:52 0<project name="xiyou&qu ... -
游戏中用户点击不可达地点引起寻路循环,游戏停顿问题解决
2011-11-20 18:36 1860游戏中用户点击不可达地点引起寻路循环,游戏停顿问题解决 ... -
apache common-dbutils 的使用
2011-06-08 14:46 0package demo.dbutilsdemo; i ... -
用Varnish搭建Cache服务
2011-06-07 15:57 0用Varnish搭建Cache服务器 - [技术笔记] ...
相关推荐
在这个名为"Red5 Java 端聊天室代码"的压缩包中,包含的是一个使用Red5服务器构建的聊天室应用的源代码。下面我们将深入探讨Red5服务器、Java编程以及聊天室应用的相关知识点。 1. **Red5服务器** - Red5是一个...
Red5是一款开源的流媒体服务器,它支持实时流传输协议(RTMP)、H.264、Flash视频(FLV)以及其他多种媒体格式,能够用于创建实时互动的应用,如视频聊天室、直播服务等。本项目利用Red5实现了多功能聊天室,提供了...
通过以上分析可以看出,该项目通过Red5服务器端的应用编程接口(API)实现了基本的多人视频聊天室功能。客户端采用Flash ActionScript进行开发,实现了用户界面设计和事件响应等功能。整个项目涵盖了视频传输、用户...
在本文中,我们将深入探讨如何使用Red5部署一个基于Flex的简单聊天室源代码。Red5是一款开源的流媒体服务器,而Flex是一种用于构建富互联网应用程序(RIA)的开发工具,通常与Adobe Flash Player一起使用。这个示例...
"VideoMettingServer2"则可能是Java服务器端的源代码,处理客户端的请求,管理聊天数据,并可能包含与Red5服务器的集成代码。 学习这个项目,开发者可以深入了解Flex与Java的结合,如何利用Red5实现实时数据传输,...
Red5服务器基于Java EE平台,利用Servlet和EJB等组件进行扩展。其主要由以下几个部分构成: - **Application Server**:负责运行Red5应用程序,处理客户端请求。 - **Proxy Server**:处理RTMP和RTSP协议的转发,...
Red5服务器的核心是Java应用,基于Java的Servlet容器运行,如Tomcat或Jetty。它提供了一个API,开发者可以通过这个API来创建自定义的应用服务,例如聊天室、直播、vod(视频点播)等。在"myample"这个文件中,可能...
1. **连接Red5**:Java程序通过`OFMServer`类建立与Red5服务器的连接,实现客户端与服务器的通信。 2. **发布流**:使用`IFlowRecorder`接口创建并发布流,如创建一个名为"myStream"的视频流。 3. **播放流**:...
- **互动性**: Red5提供聊天室、白板等功能,支持用户间的实时互动。 **2. 安装Red5 1.0.1** 下载"setup-Red5-1.0.1-java6.exe"安装文件后,按照以下步骤进行安装: 1. 运行安装程序,阅读并接受许可协议。 2. ...
1. **编写服务器端代码**:使用Java编写简单的Red5服务器端逻辑,例如实现一个简单的聊天室功能。 2. **编写客户端代码**:使用Flex开发客户端界面,实现与服务器端的数据交互。 3. **运行程序**:启动Red5服务器...
4. **互动功能**:Red5支持聊天室、白板等互动应用,用户可以通过Flash Player与服务器进行双向通信,实现在线协作或互动游戏等功能。 5. **扩展性**:由于Red5是用Java编写的,因此它具有良好的跨平台性,并且易于...
Red5是一款用Java编写的服务器,支持RTMP、RTMPT、RTMPS、RTMPE等多种协议,这些协议广泛应用于音频、视频流和数据共享。在聊天应用中,Red5可以创建一个或多个聊天室,允许用户加入并发送消息。 然后,深入Flex。...
1. RTMP协议:Flash与Red5之间的通信主要基于RTMP协议,它允许客户端向服务器发送音频、视频数据流。理解RTMP协议的工作原理对于实现Flash与Red5的交互至关重要。 2. ActionScript 3.0接口:在Flash中,使用...
3. **互动性**:Red5支持双向通信,这意味着用户不仅可以观看视频,还可以通过评论、聊天室等功能参与互动。 4. **适应性流**:Red5可以通过HLS(HTTP Live Streaming)提供适应性流,根据网络状况自动调整视频质量...
2. **互动应用**:Red5支持Flash Player和其他客户端进行交互,如聊天室、游戏、白板等,这使得它能够构建丰富的多媒体互动应用。 3. **录制功能**:用户可以设置服务器自动录制直播流,便于后期回放或存档。 4. *...
Red5是一款开源的流媒体服务器,它支持实时流传输协议(RTMP)、RTMPT、RTMPE、RTMPS以及HLS等协议,能够处理音视频数据的录制、播放和存储。在Web开发中,尤其是涉及到在线直播、互动聊天等应用场景时,Red5是一个...
【Red5流媒体服务器】是基于Java开发的开源流媒体服务器,主要支持RTMP(实时消息传输协议)来实现Flash客户端与服务器之间的交互。Red5提供了视频、音频流的传输,以及Remote Shared Object等功能,与Adobe的FMS...
2. Red5服务端脚本:可能是Java代码,定义了Red5服务器上的应用程序逻辑,如接收和处理客户端的请求。 3. 配置文件:如Red5的`application.xml`,定义了应用程序的元数据和设置。 4. 测试或运行脚本:用于启动Flex...
- Scope和Room是Red5中组织客户端连接的概念,用于管理不同用户群组的交互,例如在聊天室或游戏中。 9. **视频播放程序和简单聊天程序** - 提供完整的视频播放应用程序和聊天程序示例,帮助读者将理论知识转化为...