多数知名视频网站都采用的是前一种方式。
两种方式对比如下:
Http :生成关键帧后可拖动播放、 下载完成后不再消耗服务器资源
Rtmp/rtmpt: 任意拖动播放 、无缓存,每次播放都会消耗服务器资源
这里说一下怎么用nginx 搭建http 方式的视频点播服务器,主要分为三步:
一、 nginx安装及配置
1. 下载nginx 最新win32 版本解压到任意目录
2. 打开cmd 进入nginx 目录,使用命令start nginx 启动nginx (默认使用\conf\nginx.conf 配置,可用-c 选项指定要使用的配置文件,更多参数可使用nginx ?h 查看)
二、 nginx对flv 的支持
1. 编辑配置文件\conf\nginx.conf ,加入如下配置:
在http 块加入启动gzip 的配置
gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;
在server 块中加入启用flv 的配置:
limit_rate_after 1m; #下载1M 后开始限速
limit_rate 100k; #将速度限制为100k/s
location ~ \.flv {
flv;
}
2. 使用命令nginx ?s reload 重新加载配置文件
三、 客户端播放器
1. 下载开源的flash 播放器jwplayer
2. 将文件解压到nginx 下的html 目录
3. 访问http://localhot/player.swf?type=http&file=1.flv即可播放视频
注意:现在视频能播放了,但并不支持拖动功能,因为没有给flv 文件添加“关键帧”,可以的工具有“yamdi” 和“flvtool” ,以yamdi win32 版为例,下载解压后进入cmd 执行:
yamdi ?i src.flv ?o dst.flv
意思是将src.flv 添加关键帧,并输出为dst.flv 。
OK,这时我们再访问http://localhot/player.swf?type=http&file=dst.flv即可自由拖动播放了。
来源:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=313997