目前,由于Flash 的流行,网络上绝大多数的微视频网站都采用了 Flv 格式来播放视频。
在互联网上播放视频,有两种方式,一种是文件方式,即通过HTTP 协议访问视频文件,这种方式的缺点是不能从特定的帧开始播放;另外一种就是采用专门的流媒体服务器,这种方式的缺点是要搭建复杂的流媒体服务器。不过,现在有了一种集合了以上两种方式优点的一种解决方案,即通过 HTTP 来实现伪流媒体。本文描述的就是这样的一种解决方案。
首先配置nginx 服务支持 flv 模块功能
⑴查看你的nginx 是否已支持 flv 功能模块
[root@localhost ~]# /usr/local/nginx/sbin/nginx -V //查看 nginx 服务支持
结果:
nginx version: nginx/0.8.24
built by gcc 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC)
configure arguments: --prefix=/usr/local/nginx --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module
分析:我的nginx 版本 0.8.24 , http_flv_module已经开启,支持 flv 服务
⑵安装支持flv 模块的 nginx 服务器:
#tar zxvf nginx-0.8.24.tar.gz
#cd nginx-0.8.24
#./configure --prefix=/usr/local/nginx --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module //开启 flv 模块
#make && make install
#/usr/local/nginx/sbin/nginx //启Nginx
⑶nginx服务器配置(nginx.conf文件)
server
{
listen 80;
server_name localhost;
charset utf-8;
location / {
root html;
index index.php index.html index.htm;
}
location ~ \.flv {
flv;
limit_rate_after 10m;
limit_conn one 1;
limit_rate 85k;
}
}
使用location 将 .flv 的文件指向 flv 模块即可。
以上使用了limit_rate 是为了限速,当 flv 视频下载超过 10M ,则限速到 85K, 只允许用户开1个进程,也就是先快速缓存可以播放,后面的慢慢下载。
⑷安装支持flv 拖放进度条的播放器
上面三步都是安装支持nginx 服务支持 flv 功能的,现在需要支持 flv 拖放进度条的播放器 .
你需要有一个能够播放Flv 视频的播放器,很显然,它还需要能够嵌入到网页中。目前比较流行的,功能上也还比较完善的一个 Flv 播放器就是 JW FLV Media Player (也称为 jwplayer )。它的网址是:
http://www.longtailvideo.com/players/jw-flv-player/
这个播放器支持视频加入广告和视频节目单功能,
下载包里面有很全的实例和使用方式,
将包中的player.swf (如果是带有 Viral 插件的,就是 player-viral.swf )放到你的网站内,这就是用来提供视频播放的播放器。至于包中其它的文件,都可以不要。
接下来,将播放器嵌入到你的视频播放网页中:
直接嵌入,使用Object/Embed 代码嵌入:
<embed
type="application/x-shockwave-flash"
id="player2"
name="player2"
src="player.swf"
width="328"
height="200"
allowscriptaccess="always"
allowfullscreen="true"
flashvars="file=http://192.168.40.135/test.flv&image=http://192.168.40.135/preview.jpg&autostart=false&type=http&streamer=start"
> </embed>
file:"video.flv", // FLV视频地址
type:"http", // 数据类型, 本文是基于http模式的,这个必须写滴
image:"preview.jpg",// 开始播放之前的预览图
autostart:"false", // 是否自动播放
streamer:"start", // 参数为 “ start ” , 这个参数用于传递给服务器从特定的关键帧开始播放, nginx 编译了 flv 模块 所以是支持的。。
⑸添加关键帧
如果一个Flv 视频要能够被拖到特定点播放,该 Flv 需要在其 metadata 中有关键帧的信息。如果你的 Flv 视频制作的时候没有这些信息,也是不能拖放播放的。可以使用 yamdi来为你的视频加上关键帧信息 :
安装:
1 [root@localhost ~]#wget http://sourceforge.net/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download
2 [root@localhost ~]#tar zxvf yamdi-1.4.tar.gz
3 [root@localhost ~]#cd yamdi-1.4/
4 [root@localhost yamdi-1.4]#make && make install
使用方法:
yamdi -i source.flv -o dest.flv //原视频 输出视频
发表评论
-
使用 awstats 监控 Nginx图文教程
2013-02-19 10:36 1363http://blog.webwlan.net/wordpr ... -
nginx状态监控
2013-02-19 10:07 929http://blog.csdn.net/adparkin ... -
在linux网站运维方向老男孩最近几年常用的免费的开源软件
2013-02-18 23:35 1615http://blog.chinaunix.net/uid- ... -
(总结)Nginx配置文件nginx.conf中文详解
2013-02-18 22:49 901http://www.ha97.com/5194.html# ... -
rsync服务部署
2013-02-18 22:40 878http://oplinux.com/app/rsync/r ... -
centos6.0 配置SVN
2013-02-04 14:52 1007http://blog.csdn.net/tonysz12 ... -
Centos搭建SVN服务器三步曲
2013-02-04 12:09 926搭建SVN服务,有效的管理代码,以下三步可以快速搞定。1、安 ... -
linux(centos)如何使用svn进行多个版本库的配置
2013-02-04 12:08 3571如果当前有svnserve进程在运行,指令 ... -
nginx切割日志文件处理
2012-12-29 11:05 889编写shell文件: [root@web-test ~]# v ... -
nginx 搭建flv流媒体服务器并做accesskey 防盗链
2012-12-27 11:45 1625http://www.peifi.com/519.html ... -
MySQL CMake参数说明手册
2012-12-24 10:52 780http://www.sunchis.com/html/db/ ... -
Nginx-concat-Module 减轻http请求连接数
2012-12-21 10:25 1135http://blog.zongzk.com/index/ar ... -
如何查询centos查看系统内核版本,系统版本,32位还是64位
2012-12-15 11:13 1245http://hi.baidu.com/tjbaso/item ... -
linux下磁盘I/O查看
2012-12-07 13:11 817http://zlbzhu.blog.51cto.co ... -
Nginx负载均衡
2012-11-29 23:10 751http://www.cnblogs.com/xiaogang ... -
Nginx配置文件详细说明
2012-11-29 23:01 812http://www.cnblogs.com/xiaogang ... -
Nginx中文手册下载
2012-11-25 17:23 1107Nginx 常见应用技术指南[Nginx Tips] 第二版 ... -
Centos5.5最小化安装后的优化
2012-11-20 23:16 1194购买了服务器(现在主流 ... -
CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2
2012-11-11 23:37 1041说明: 操作系统:CentOS 6.2 32 ... -
CentOS minimal 版安装图形界面的步骤分享,中文语言包.
2012-11-11 22:33 7511、连接网络: CentOS minimal.iso安装好 ...
相关推荐
4. 安装支持FLV拖动进度条的播放器。一个常用的解决方案是JW FLV Media Player(jwplayer),它是一个功能丰富的Flash播放器,支持在网页中嵌入FLV视频,并且可以处理视频的拖动播放。从官方网址下载播放器包,将`...
首先,我们来看【标题】"nginx搭建流媒体服务器(flv,mp4视频播放网站).zip",这表明我们将使用Nginx搭建一个能够播放FLV和MP4视频的网站。FLV是Adobe Flash Player支持的一种流式视频格式,而MP4是一种广泛应用的、...
该资源文件用于 Windows服务器环境下flv视频播放——对未缓冲进度条实现拖动 该nginx服务器已经做好了相关的配置,支持视频的播放。相关文章说明请参考http://hi.baidu.com/mtb573/item/6a7115558f9b649f8c12ed9e
在搭建流媒体服务器方面,Nginx支持多种视频格式的流媒体服务,其中FLV格式由于其广泛的浏览器支持(尤其在使用Flash Player时)而被许多视频网站使用。本文主要介绍如何使用Nginx搭建流媒体FLV视频服务器,并提供一...
**Nginx**是推荐的服务器环境,因为它支持FLV和MP4的拖动播放,提供缓存加速、负载均衡和容错功能。**Apache**仅支持FLV的拖动,而**IIS**虽然支持MP4,但资源消耗大,且兼容性不佳。在Nginx中,可以通过修改`nginx....
YAMDI的主要功能是将元数据信息嵌入到FLV文件中,使得用户在播放时可以实现流畅的拖拽进度条,提高观看体验。 元数据在FLV视频中的重要性在于它提供了视频的基本结构信息,比如时间戳、帧率等,这些信息对于播放器...