`

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

阅读更多

目前,由于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 //原视频 输出视频

分享到:
评论

相关推荐

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

    在Nginx中,HTTP FLV模块允许服务器支持FLV视频流,从而实现视频拖动进度条的功能。以下是如何在Nginx中配置这一功能的步骤: 1. 首先,检查Nginx是否已经集成了HTTP FLV模块。通过运行命令`/usr/local/nginx/sbin/...

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

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

    使用Tomcat或Nginx搭建视频服务器

    标题中提到的“使用Tomcat或Nginx搭建视频服务器”涉及到两个Web服务器软件:Apache Tomcat和Nginx。Apache Tomcat是一个开源的Web服务器和Servlet容器,主要用来运行Java Servlet和JavaServer Pages (JSP)。而Nginx...

    一步步安装nginx搭建流媒体服务器

    一步步安装nginx搭建流媒体服务器的所有软件打包; nginx-1.8.0.tar.gz :应用服务器主程序 nginx_mod_h264_streaming-2.2.7.tar.gz :MP4流媒体支持模块...yamdi-1.9.tar.gz :为flv文件添加关键帧,才能实现拖动播放

    nginx带nginx-http-flv模块windows编译版rtmp

    Nginx-RTMP模块允许Nginx接收来自Flash Player或其他支持RTMP的客户端的音视频流,并进行推流、播放、录制等操作。通过这个模块,开发者可以构建自己的流媒体服务器,实现类似YouTube Live或Twitch的功能。 **Nginx...

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

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

    cpp-nginxvideoserver一键搭建NGINX视频服务器支持rmtpmp4等

    标题 "cpp-nginxvideoserver一键搭建NGINX视频服务器支持rmtpmp4等" 提到的是一个使用C++编写的工具或脚本,用于快速配置和部署一个支持RTMP(Real-Time Messaging Protocol)和MP4格式的NGINX视频服务器。NGINX是一...

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

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

    搭建nginx点播服务器

    搭建Nginx点播服务器是将Nginx配置为一种能高效处理静态媒体文件,如音频和视频,供用户按需访问的服务器。Nginx因其高性能、高并发能力、内容分发、缓存功能、安全性以及负载均衡能力,成为搭建点播服务器的理想...

    windows平台nginx编译nginx-http-flv-module

    这个模块允许Nginx直接处理FLV流,使得视频内容可以在网页中流畅播放。 要在Windows上编译Nginx并集成HTTP FLV Module,你需要以下步骤: 1. **下载源码**:首先,从Nginx官网获取稳定版本的源代码,例如nginx-...

    windows-nginx-http-flv.zip

    这个压缩包旨在帮助用户在Windows环境中快速搭建一个能够支持FLV格式视频流的服务器。 HTTP-FLV是一种基于HTTP的实时流媒体协议,它允许视频数据以FLV(Flash Video)格式通过HTTP传输,广泛应用于在线视频直播。...

    搭建ffmpeg+nginx+yasm 流媒体服务器低延迟,最低延迟两三秒

    搭建ffmpeg+nginx+yasm流媒体服务器低延迟 一、流媒体服务器概念 流媒体服务器是指能够实时地传输和处理视频流的服务器,通常用于直播、监控、在线视频等应用场景中。搭建流媒体服务器需要选择合适的软件和硬件...

    海康rtsp拉流,rtmp推流,nginx部署转flv集成

    "海康rtsp拉流,rtmp推流,nginx部署转flv集成"这一主题涉及到多个技术点,包括海康威视的RTSP协议支持、RTMP推流、以及使用Nginx进行流媒体服务器的部署与FLV格式的转换。下面将详细解释这些知识点。 1. **海康...

    windows下编译nginx-http-flv-moudle

    这个模块是Nginx的一个扩展,它添加了对HTTP FLV流的支持,通常与RTMP服务器一起使用,用于视频流的推送和分发。 1. **Nginx**: Nginx是一款高性能的HTTP和反向代理服务器,也是一款邮件代理服务器。它的特点是稳定...

    ffmpeg+nginx-rtmp-module+flv监控视频web展示

    FFmpeg、Nginx-RTMP-Module 和 FLV 监控视频Web展示是一个整合了实时流媒体处理、传输和播放的技术方案。这个方案适用于在Web端实现监控视频的实时展示,尤其对于需要构建远程监控系统或者直播平台的场景非常实用。...

    NGINX集成nginx-http-flv

    nginx-http-flv模块使Nginx能够解析并处理FLV流,从而在不增加服务器压力的情况下,高效地分发视频内容。 使用Nginx作为流媒体服务器的优势在于其可扩展性、稳定性和低内存占用。Nginx可以通过反向代理功能分发负载...

    nginx-http-flv-module-master

    【Nginx-HTTP-FLV-Module-Master】是一个专为Nginx服务器设计的扩展模块,旨在增强其对HTTP FLV(Flash Video)流的支持,并且特别强调了对h265视频编码格式的兼容性。这个模块使得Nginx能够作为一个高效的流媒体...

    win环境使用nginx的nginx-http-flv-module.zip

    在windows 7 64位 环境下使用nginx的nginx-http-flv-module搭建flv视频流播放所有的安装包,参考:https://blog.csdn.net/qq_33071429/article/details/102628008

    Windows下一站式搭建ffmpeg推流+nginx-http-flv-module直播拉流+FLV.js播放环境.rar

    1、在Windows系统下,搭建ffmpeg推流+nginx-http-flv-module直播拉流+FLV.js播放环境,所需依赖相关资源文件。 2、适合初学、研究、验证视频直播部署方案的相关技术人员。

    nginx-windows 支持视频点播 直播服务

    本教程将详细介绍如何在Windows环境下使用Nginx搭建支持视频点播和直播服务的服务器。 首先,我们要明白Nginx的基本架构。Nginx采用事件驱动模型,通过非阻塞I/O处理请求,这使得它在处理大量并发连接时表现出色。...

Global site tag (gtag.js) - Google Analytics