`
javatgo
  • 浏览: 1211866 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Nginx下搭建flv视频服务器且支持视频拖动进度条播放

 
阅读更多

目前,由于Flash的流行,网络上绝大多数的微视频网站都采用了Flv格式来播放视频。

在互联网上播放视频,有两种方式,一种是文件方式,即通过HTTP协议访问视频文件,这种方式的缺点是不能从特定的帧开始播放;另外一种就是采用专门的流媒体服务器,这种方式的缺点是要搭建复杂的流媒体服务器。不过,现在有了一种集合了以上两种方式优点的一种解决方案,即通过HTTP来实现伪流媒体。本文描述的就是这样的一种解决方案。

首先配置nginx服务支持flv模块功能

⑴查看你的nginx是否已支持flv功能模块

[root@localhost~]#/usr/local/nginx/sbin/nginx-V//查看nginx服务支持

结果:

nginxversion:nginx/0.8.24

builtbygcc4.4.420100726(RedHat4.4.4-13)(GCC)

configurearguments:--prefix=/usr/local/nginx--with-http_flv_module--with-http_gzip_static_module--with-http_stub_status_module

分析:我的nginx版本0.8.24http_flv_module已经开启,支持flv服务

⑵安装支持flv模块的nginx服务器:

#tarzxvfnginx-0.8.24.tar.gz

#cdnginx-0.8.24

#./configure--prefix=/usr/local/nginx--with-http_flv_module--with-http_gzip_static_module--with-http_stub_status_module//开启flv模块

#make&&makeinstall

#/usr/local/nginx/sbin/nginx//启Nginx

⑶nginx服务器配置(nginx.conf文件)

server

{

listen80;

server_namelocalhost;

charsetutf-8;

location/{

roothtml;

indexindex.phpindex.htmlindex.htm;

}

location~\.flv{

flv;

limit_rate_after10m;

limit_connone1;

limit_rate85k;

}

}

使用location.flv的文件指向flv模块即可。

以上使用了limit_rate是为了限速,当flv视频下载超过10M,则限速到85K只允许用户开1个进程,也就是先快速缓存可以播放,后面的慢慢下载。

⑷安装支持flv拖放进度条的播放器

上面三步都是安装支持nginx服务支持flv功能的,现在需要支持flv拖放进度条的播放器.

你需要有一个能够播放Flv视频的播放器,很显然,它还需要能够嵌入到网页中。目前比较流行的,功能上也还比较完善的一个Flv播放器就是JWFLVMediaPlayer(也称为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~]#wgethttp://sourceforge.net/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download

2 [root@localhost~]#tarzxvfyamdi-1.4.tar.gz

3 [root@localhost~]#cdyamdi-1.4/

4 [root@localhostyamdi-1.4]#make&&makeinstall

使用方法:

yamdi-isource.flv-odest.flv//原视频输出视频

分享到:
评论

相关推荐

    Nginx下搭建flv视频服务器且支持视频拖动进度条播放.docx

    4. 安装支持FLV拖动进度条的播放器。一个常用的解决方案是JW FLV Media Player(jwplayer),它是一个功能丰富的Flash播放器,支持在网页中嵌入FLV视频,并且可以处理视频的拖动播放。从官方网址下载播放器包,将`...

    nginx搭建流媒体服务器(flv,mp4视频播放网站).zip

    首先,我们来看【标题】"nginx搭建流媒体服务器(flv,mp4视频播放网站).zip",这表明我们将使用Nginx搭建一个能够播放FLV和MP4视频的网站。FLV是Adobe Flash Player支持的一种流式视频格式,而MP4是一种广泛应用的、...

    Windows环境下用jwplayer+Nginx搭建视频点播服务器

    该资源文件用于 Windows服务器环境下flv视频播放——对未缓冲进度条实现拖动 该nginx服务器已经做好了相关的配置,支持视频的播放。相关文章说明请参考http://hi.baidu.com/mtb573/item/6a7115558f9b649f8c12ed9e

    Nginx搭建流媒体FLV视频服务器配置示例

    在搭建流媒体服务器方面,Nginx支持多种视频格式的流媒体服务,其中FLV格式由于其广泛的浏览器支持(尤其在使用Flash Player时)而被许多视频网站使用。本文主要介绍如何使用Nginx搭建流媒体FLV视频服务器,并提供一...

    视频随意拖动

    **Nginx**是推荐的服务器环境,因为它支持FLV和MP4的拖动播放,提供缓存加速、负载均衡和容错功能。**Apache**仅支持FLV的拖动,而**IIS**虽然支持MP4,但资源消耗大,且兼容性不佳。在Nginx中,可以通过修改`nginx....

    yamdi-1.9-win32.zip(windows版本)

    YAMDI的主要功能是将元数据信息嵌入到FLV文件中,使得用户在播放时可以实现流畅的拖拽进度条,提高观看体验。 元数据在FLV视频中的重要性在于它提供了视频的基本结构信息,比如时间戳、帧率等,这些信息对于播放器...

Global site tag (gtag.js) - Google Analytics