这两天在做视频会议系统,用的是fms(Flash Media Server)做服务器的rtmp方式播放视频流。
下面是查的一点资料,比较一下用fms的rtmp和web的http播放flv的差别:
1、 用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就可以了.
2、用fms的rtmp 协议播放flv文件可支持的连接数有限,fms的收费很高,如果不经注册只能同时容纳最多5个人同时视频,也会遇到经常卡的情况。用http方式播放,可 以依托成熟的web应用,播放时会自动缓存在IE临时目录,缓存好二次播放就流畅了,但是就有了flv会被盗用的问题。
3、rtmp将视频,音频数据分开,比如可能是avvvavvvavvvvvavvva,一帧视频数据很大时,传输时被分为多块,中间夹杂着音频数据。而http传输音频,视频数据,可能就为avvvvvvvvvvvvvvvvavvvvvvvvv。
4、 国内大部分的视频分享网站都是http方式播放,一些防盗链的做法是在自己的视频上加logo,不用安装fms服务,这也就没有了连接数的限制。使用 rtmp方式,无论哪个版本的flv文件都能在服务端取到视频文件的长度,而有的缺少文件头信息的flv文件用http就方式就取不到了。