配置Red5详解

RED5将所有的应用程序都放在RED5根目录下的”webapps“目录。你需要为所创建的程序在webapps目录下添加相应的目录。在你的应用程序目录里应该有一个名为”WEB-INF“的目录,用来存放你的程序的配置文件。在”doc/templates/myapp“目录有一个模板,可以用来帮你完成建立程序的初始工作。

RED5启动的时候,在”webapps”目录的程序文件都是搜索”WEB-INF”的目录下的配置文件来完成配置的。

最主要的配置文件是”web.xml”。这个文件里包含了以下参数:

globalScope:指定全局作用范围

  1. <context-param>
  2. <param-name>globalScope</param-name>
  3. <param-value>default</param-value>
  4. </context-param>

contextConfigLocation:指定配置handler的文件的位置。这些配置文件描述了客户端加入/离开的动作触发后调用的处理方法,作用范围。在描述的时候可以使用通配符来描述多个文件:
[阅读全文...]

FLV视频发布的两种方式(HTTP or RTMP)

配好了FMS/Red5,用flvplayerBack测试RTMP协议通过。想进一步用NetStream做开发的时候,却发现NetStream.play只支持Http和File两种协议(参考Flash帮助)。
上网检查youtube,6rooms和56,发现他们用的播放协议也都是Http。按说FMS/Red5作为流媒体服务器,是专门做过优化的。但为何这些网站都没采用RTMP的协议呢。

RTMP协议和Http比有哪些优势呢,或者说:我们为什么要使用FMS/Red5呢?

两种协议HTTP和RTMP,有点点不同,
用HTTP方式: 先通过IIS 将FLV下载到本地缓存,然后再通过NetConnection的本地连接来播放这个FLV,这种方法是播放本地的视频,并不是播放服务器的视频。因此在 本地缓存里可以找到这个FLV。其优点就是服务器下载完这个FLV,服务器就没有消耗了,节省服务器消耗。其缺点就是FLV会缓存在客户端,对FLV的保 密性不好。
用RTMP方 式: 通过NetConnection连接到FMS/Red5服务器,并实时播放服务器的FLV文件,这种方式可以任意选择视频播放点(SEEK()), 并不象HTTP方式需要缓存完整个FLV文件到本地才可以任意选择播放点,其优点就是在本地缓存里是找不到这个FLV文件的。其优点就是FLV不会缓存在 客户端,FLV的保密性好,其缺点就是消耗服务器资源,连接始终是实时的。
一句话,一个是本地播放,一个是服务器实时播放,因需而定。

HTTP现在应用的比较多,因为这个完全不需要RED5或者FMS的服务器端的支持,普通的WEB服务器都可以实现(虚拟主机)
后面一个就必须有服务器了,不过保密性会强一些。

只所以大多数站点都用HTTP模式,一个是因为对服务器来说压力小一些,另外一种对FLASH来讲,播放器的参数更容易设置一些,因为只要修改xxx.swf?file=xxx就可以了:)