·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

FLV视频发布的两种方式(HTTP协议和RTMP协议)

时间:2011-09-19 15:40Black Mustang
as与RTMP协议,HTTP和RTMP,rtmp播放器,上网检查youtube,6rooms和56,发现他们用的播放协议也都是Http。按说FMS/Red5作为流媒体服务器,是专门做过优化的。但为何这些网站都没采用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就可以了.

  flv视频目前国内用的最多的是互联网视频点播。
  flv的播放分两种形式: 下播 和 流 2种。
  下播简单说就是,视频必须缓冲到本地才能播放,如果视频没有缓冲完,则不能向后拖拽进度。
  流(streaming)的形式就比较类型原来wmv的流的形式,可以从任意时间点开始播没有缓冲的内容。
  下播是比较常用的,因为实现简单,flv文件像图片一样被存取,不需要特殊的流媒体服务。而streaming的形式需要fms来支持。
  flv文件本身就比较适合网络视频,缓冲时间短,互动效果好,用户体验好。其中又以on2的编码在同等画质情况下能把视频压的很小从而节省带宽。flash9.0.54(要不就是9.0.115)以后就可以支持h.264编码的高清格式。
  格式转换主要需要根据不同的视频格式进行解码,再用flv的编码器进行编码。flv常用的编码器有sinero??park??(具体拼写忘了)和 on2vp6 2种,前者是开源的但画质一般,但转码速度快,后者是收费的转码时间很长,但效果非常好。最新的还有H.264的编码(H.264的编码的文件后缀就不是 flv了)。
  flv的播放器自己写应该不难,有开源的好像叫“若吃”?最简单的用flash的object直接读flv就可以实现视频播放,也可以自己用as编写实现丰富的互动功能。

  服务器端如果不用fms的服务,采用下播的方式,基本没有什么特别的。页面之间读去flv文件就好了。如果需要防盗链什么的另说。
  建议把flv文件单独放在一台服务器上,给予足够的带宽。
如果视频量大建议用CDN进行视频分发。

相关链接:

[AS3]RTMP流媒体协议在视频系统中应用的优势
[AS3]RTMP协议的分析与研究
[AS3]as3服务端FMS常用方法属性参考 
[AS3]FMS播放器连接fms的几种返回状态
RTMP协议与RTMP视频播放器的应用
flex播放器代码支持rtmp协议
关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE,RTMFP,AMF协议的介绍
[AS3]rtmp协议MP4(f4v)格式视频VOD点播实现过程
[AS3]极酷阳光V2版RTMP流媒体播放器实例演示与介绍

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器