nginx+jwplayer配置flv/MP4点播系统, 视频拖动支持 - 一 水

标签: nginx jwplayer flv | 发表时间:2015-05-23 11:22 | 作者:一 水
出处:

一 配置nginx

1. 下载 nginx 最新版 http://nginx.org/

2. 安装依赖库, 以ubuntu为例

apt-get install libpcre3 libpcre3-dev libssl-dev openssl

3. 编译nginx, 增加flv和MP4的支持

/configure --with-http_flv_module --with-http_mp4_module --with-http_ssl_module --with-debug

   编译时可以指定安装目录 --prefix=/path/to/install

   然后make install

4. 测试是否支持seek(拖动, 快进)

    1) flv需要metadata数据才可以seek. 可以通过ffmpeg来查看flv视频是否有metadata数据. 

> ffmpeg -i test.flv

Input #0, flv, from 'test.flv':
Metadata:
metadatacreator : Yet Another Metadata Injector for FLV - Version 1.9
hasKeyframes : true
hasVideo : true
hasAudio : true
hasMetadata : true
canSeekToEnd : false
datasize : 23736525
videosize : 21784752
audiosize : 1923169
lasttimestamp : 157
lastkeyframetimestamp: 153
lastkeyframelocation: 23532906

  如果flv没有metadata数据. 可以通过yamdi来增加metadata数据, 这个工具windows和linux版本都有, 使用起来也很简单     

yamdi -i sample.flv -o sample_with_metadata.flv

  

     2) 把flv视频放在nginx 的html目录下. 然后通过curl或vlc测试拖动

     先修改下nginx的配置nginx.conf, 增加如下内容

location ~ \.flv$ {
flv;
limit_rate 250k;
}
location ~ \.mp4$ {
mp4;
limit_rate 250k;
}

  limit_rate是限速的意思, 因为是本地测试. 缓冲速度非常快. 如果不限速的话, 视频会立刻下载完成. 

 

curl -I http://ip/test.flv
Content-Length: 23739622

curl -I http://ip/test.flv?start=2373
Content-Length: 23727290

  两次的Content-Length不一样. 

  也可以通过vlc来播放http流. 都是界面点一点. 

二 配置jwplayer

     网上的jwplayer的配置基本上是过时的. 误导我半天

  早期jwplayer里配置的streamer; type; provider; 这些参数在新版里已经没有, 或者不生效了. 

     jwplayer的support中关于seek的文章 http://support.jwplayer.com/customer/portal/articles/1430518-pseudo-streaming-in-flash 可能要FQ才能看

<div id="myElement">Loading the player...</div>

<script type="text/javascript">
jwplayer("myElement").setup({
file:"http://ip/test.flv",
image: "../image/webrtc.png",
startparam: "start"
});
</script>

  关键是 startparam: "start". 没有这句的话. jwplayer是无法拖动视频的. MP4可以不需要这个startparam就可以拖动. 

  

 

    这个是jwplayer文档中关于startparam的参数说明. 

 


本文链接: nginx+jwplayer配置flv/MP4点播系统, 视频拖动支持,转载请注明。

相关 [nginx jwplayer flv] 推荐:

nginx+jwplayer配置flv/MP4点播系统, 视频拖动支持 - 一 水

- - 博客园_首页
下载 nginx 最新版 http://nginx.org/. 安装依赖库, 以ubuntu为例. 编译nginx, 增加flv和MP4的支持.    编译时可以指定安装目录 --prefix=/path/to/install.    然后make install. 测试是否支持seek(拖动, 快进).

GitHub - winshining/nginx-http-flv-module: Media streaming server based on nginx-rtmp-module. In addtion to the features nginx-rtmp-module supplies, HTTP-FLV, GOP cache and VHOST are supported now.

- -
MUSTbe enclosed by quotation marks, or arguments in url will be discarded (some shells not so smart will interpret "&" as "run in background").. ngx_rtmp_stat_modulemay not get statistics from a specified worker process in multi-processes mode, for HTTP requests are randomly distributed to worker processes.

用nginx搭建基于rtmp或者http的flv、mp4流媒体服务器

- - 开源软件 - ITeye博客
这种方式要下载FLV视频文件到本地播放,一旦FLV视频文件下载完成,就不会消耗服务器的资源和带宽,但是拖动功能没有RTMP/RTMP流媒体方式强大,很多视频网站都是用HTTP方式实现的,如:YouTube,土豆,酷6等. 2、  RTMP/RTMP流媒体方式. 这种方式不用下载FLV视频文件到本地,可以实时的播放flv文件,可以任意拖拽播放进度条,但是比较消耗服务器的资源.

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

- gOODiDEA - CSDN博客推荐文章
目前,由于Flash的流行,网络上绝大多数的微视频网站都采用了Flv格式来播放视频. 在互联网上播放视频,有两种方式,一种是文件方式,即通过HTTP协议访问视频文件,这种方式的缺点是不能从特定的帧开始播放;另外一种就是采用专门的流媒体服务器,这种方式的缺点是要搭建复杂的流媒体服务器. 不过,现在有了一种集合了以上两种方式优点的一种解决方案,即通过HTTP来实现伪流媒体.

FLV Extract:轻松从FLV文件中分离音频/视频

- 十年恋一人! - 软件志
一、FLV Extract简介: 这款小工具能帮助我们快速地从FLV文件中分离音频/视频,而且官方宣称是无损分离,能将FLV、F4V、PFV以AVI(H.263/FLV1)(VP6/VP6F)(H.264/AVC)视频格式以及MP3,AAC(ADTS标头),WAV(PCM)的音频格式分离输出. 二、FLV Extract安装及简单使用: 1、下载及安装:下载后解压文件到任意文件夹,因为是绿色软件,所以无须安装,直接运行文件夹内的主程序就能启动该软件; 2、从FLV文件中分离音频/视频: 软件操作十分简单,运行软件后,只需要将FLV视频文件拖拽到软件窗口内,对应该文件的视频文件、timecodes文件以及音频文件就会被单独分离出来.

HTTP-FLV直播初探 - 冒雨ing - 博客园

- -
两个flv.js的扩展版本:. 目前几种视频流的简单对比:. 可通过html5解封包播放(flv.js). 可通过html5解封包播放(hls.js). 如果dash文件列表是mp4webm文件,可直接播放. RTMP(Real Time Messaging Protocol)是基于TCP的,由Adobe公司为Flash播放器和服务器之间音频、视频传输开发的开放协议.

nginx配置ssl

- - 邢红瑞的blog
先生成网关证书 ,仿照CA模式.

Nginx安装

- - 企业架构 - ITeye博客
nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好. ububtu平台编译环境可以使用以下指令. centos平台编译环境使用如下指令. 一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩.

Nginx GZip 压缩

- - 开心平淡对待每一天。热爱生活
  Nginx GZip 模块文档详见: http://wiki.nginx.org/HttpGzipModule 常用配置片段如下:. # 压缩比例,比例越大,压缩时间越长. 默认是1 gzip_types. text/css text/javascript; # 哪些文件可以被压缩 gzip_disable.

Nginx 限流

- - 鸟窝
电商平台营销时候,经常会碰到的大流量问题,除了做流量分流处理,可能还要做用户黑白名单、信誉分析,进而根据用户ip信誉权重做相应的流量拦截、限制流量. Nginx自身有的请求限制模块 ngx_http_limit_req_module、流量限制模块 ngx_stream_limit_conn_module基于令牌桶算法,可以方便的控制令牌速率,自定义调节限流,实现基本的限流控制.