花了我接近3周,历经了重重问题,今日终于把流媒体服务器搞定,赶紧的写个博文以免忘记。。。

  起初是跟着网上的一些教程来的,但是说的很不全面,一些东西也过时不用了(比如jwplayer老版本)。我这次是用的最新版jwplayer6.8,在配置上有很多不同的地方,也很坑,值得注意一下!在配置方面,我精简了很多,没有了那么多繁琐的配置项需要修改。

  注意:本人是在虚拟机centos6.2系统下搭建的流媒体服务器,在win7主机上做测试

另,文章最后有下载地址,可下载搭建过程中所有用到的包和其他文件。

  废话不说,从搭建服务器的准备工作开始:

一、准备工作,安装依赖包,缺一不可!(推荐先用命令查看自己是否已经安装一下软件,确认没有再安装

-------------------------------------------------------------------------------------------------------------------------------------------------------

1.安装zlib

  tar xzvf zlib-1.2.3.tar.gz  #解压
cd zlib-1.2.3  #进入解压目录
./configure  #配置
make && make install  #编译并安装

2.安装gcc-c++

  yum -y install gcc-c++  #会自动安装的,但需联网

4.安装pcre

  tar zxvf pcre-7.9.tar.gz
   cd pcre-7.9
  ./configure --prefix=/usr/local/pcre  #配置安装路径为/usr/local/pcre
   make && make install

5.安装 openssl openssl-devel

  yum -y install openssl openssl-devel

二、安装yamdi,给flv添加关键帧用的。(老是想到“亚麻碟”,哈哈。。。)

-------------------------------------------------------------------------------------------------------------------------------------------------------

  #先cd到某个目录下,用wget命令下载包

  wget http://sourceforge.net/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download

  #安装yadmi
  tar xzvf yamdi-1.4.tar.gz
  cd yamdi-1.4
  make && make install

三、安装Nginx服务器,并配置

-------------------------------------------------------------------------------------------------------------------------------------------------------

1.安装

    groupadd www    #添加用户组www
useradd -g www www #向组添加用户www
tar xzvf nginx-0.8.34.tar.gz #解压包
cd nginx-0.8.34
#此步骤重要,--with-http_flv_module和--with-http_ssl_module不可变动,其他自定义吧。
./configure --with-http_ssl_module --with-pcre=/opt/nginx/pcre-7.9 --with-zlib=/opt/nginx/zlib-1.2.3 --user=www --group=www --prefix=/opt/nginx --with-http_flv_module
make && make install

2.配置

vim /opt/nginx/conf/nginx.conf    #编辑nginx配置文件
#找到server节点,参照一下代码简单变动一下,so easy!
server {
listen       80;
server_name  192.168.1.105;
root    /opt/nginx/html/;
limit_rate_after 5m;    #在flv视频文件下载了5M以后开始限速
limit_rate 100k;         #速度限制为100K
index   index.html;
charset utf-8; #将.flv文件指向flv模块
location ~ \.flv {
flv;
} error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   html;
}
}

四、使用与测试

-------------------------------------------------------------------------------------------------------------------------------------------------------

1.为准备的flv文件添加关键帧

#参数 -i:input文件  -o:out文件
yamdi -i test1.flv -o test2.flv #目录下会生成test2.flv,此时该文件已经生成了关键帧

2.拷贝test2.flv到服务器目录下,我的服务器目录是“/opt/nginx/html/”。

3.拷贝jwplayer.flash.swf到服务器目录下。

4.编辑网页,TestStreaming项目,(我是把网页部署到到win7主机apache服务器下的,用来模拟远程访问流媒体服务器,想在本机弄的,自己倒腾)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title></title>
<script type="text/javascript" src="jwplayer.js"></script>
</head>
<body>
<div id="myElement">Loading the player...</div> <script type="text/javascript">
jwplayer("myElement").setup({
       //192.168.164.132是我虚拟机的ip,加载播放器文件
flashplayer: "http://192.168.164.132/player6.swf",
       //加载服务器下,/video/test2.flv带关键帧的flv文件
file: "http://192.168.164.132/video/test2.flv",
image: "test.jpg",
width: 800,
height: 500,
screencolor: "#BBBBBB",
autostart: true,
provider: "http",
streamer: "start",
stretching: "fill",
       //上面三个参数都不重要,下面两个参数才是最重要的!新版本奇葩之处!
startparam: "start",
primary: "flash"
});
</script>
</body>
</html>

5.测试,win7下打开浏览器,输入:localhost/TestStreaming/index.html

yeah!视频成功播放,并且可随意拖动seek!

若不能成功,请仔细检查jwplayer的配置参数!

附上下载链接:http://download.csdn.NET/detail/cyh970473/7443127

from:http://blog.csdn.net/cyh970473/article/details/50593227

[置顶][终极精简版][图解]Nginx搭建flv mp4流媒体服务器的更多相关文章

  1. [终极精简版][图解]Nginx搭建flv mp4流媒体服务器

    花了我接近3周,历经了重重问题,今日终于把流媒体服务器搞定,赶紧的写个博文以免忘记... 起初是跟着网上的一些教程来的,但是说的很不全面,一些东西也过时不用了(比如jwplayer老版本).我这次是用 ...

  2. Nginx搭建flv mp4流媒体服务器[转]

    Nginx搭建flv mp4流媒体服务器 作者:二蛋 时间:December 1, 2014 分类:Note 环境:Centos 6.4 32bit 一.安装依赖包 1.安装zlib wget htt ...

  3. nginx搭建rtmp协议流媒体服务器总结

    最近在 ubuntu12.04+wdlinux(centos)上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下. 大部分都是参考网络上的资料. 前提: 在linux下某个目录中新建一个nginx ...

  4. Nginx搭建flv视频点播服务器

    Nginx搭建flv视频点播服务器 前一段时间使用Nginx搭建的多媒体服务器只能在缓冲过的时间区域内拖放, 而不能拖放到未缓冲的地方. 这就带来了一个问题: 如果视频限速的速率很小, 那么客户端观看 ...

  5. nginx搭建前端项目web服务器以及利用反向代理调试远程后台接口

    前端同学用nginx搭建自己的web服务器,后台程序专门部署在一台服务器上(我们之前公司就有三套环境,开发/测试/生产),这样做的好处是 1.前端代码基本都是静态文件,重启一次很快,也就几秒钟时间. ...

  6. 用VLC Media Player搭建简单的流媒体服务器

    VLC可以作为播放器使用,也可以搭建服务器. 在经历了Helix Server和Darwin Streaming Server+Perl的失败之后,终于找到了一个搭建流媒体简单好用的方法. 这个网址中 ...

  7. 搭建rtmp直播流服务之1:使用nginx搭建rtmp直播流服务器(nginx-rtmp模块的安装以及rtmp直播流配置)

    欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) 一.方案简要 首先通过对开发方案的仔细研究(实时监控.流媒体.直播流方案的数据源-->协议转换-->服务器--&g ...

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

    http://itindex.NET/detail/48702-nginx-rtmp-http 一.流媒体播放方式 1.  HTTP方式 这种方式要下载FLV视频文件到本地播放,一旦FLV视频文件下载 ...

  9. 使用 Nginx 搭建静态资源 web 服务器

    在搭建网站的时候,往往会加载很多的图片,如果都从 Tomcat 服务器来获取静态资源,这样会增加服务器的负载,使得服务器运行 速度非常慢,这时可以使用 Nginx 服务器来加载这些静态资源,这样就可以 ...

随机推荐

  1. Reparameterization Trick

    目录 Sample() is not differentiable Reparameterization trick Too Complex Sample() is not differentiabl ...

  2. linux文件及目录的权限管理

    一.文件的权限 1.文件权限的查看 命令:ls -l 可以使用ll命令代替 ls -l 2.ls -l 所包含的信息 (1)权限信息 (-rw-r--r-- ) 一共有10位 a.第一位:表示文件信息 ...

  3. Centos7 静态IP配置

    先将虚拟机设置为桥接模式: 虚拟机网络将VMnet8设置为NAT模式: 查看本机IP地址,ipconfig,记住ipv4地址和默认网关地址,等会配置的时候要用 启动Centos,进入终端模式,设置IP ...

  4. Spider-scrapy 中的 xpath 语法与调试

    把setting中的机器人过滤设为False ROBOTSTXT_OBEY = False 1 语法 artcile 选取所有子节点 /article 选取根元素 artile article/a 选 ...

  5. 在项目中全局添加FastClick导致图片上传插件在ios端失效的解决方案

    ---恢复内容开始--- 项目是移动端的项目,为了解决300ms的click延迟,所以在全局中加入了FastClick,引入的方式很简单,网上一大堆教程,这里不做赘述 我们就谈,我遇到的问题: 某天产 ...

  6. JS 比较运算符 逻辑运算符

    逻辑运算符 三元运算符 摘自:http://www.w3school.com.cn/js/js_comparisons.asp

  7. VS2017 + Qt5 + OpenCV400 环境配置

    首先为VS2017 IDE点赞. 配置核心 配置 Qt5 和 OpenCV400,最主要的就是头文件路径.库路径以及库文件名字. 配置方法和步骤 新建一个工程,或者打开一个已有的工程: 选择 View ...

  8. 11-看图理解数据结构与算法系列(B树的删除)

    删除操作 删除操作比较复杂,主要是因为删除的项可能在叶子节点上也可能在非叶子节点上,而且删除后可能导致不符合B树的规定,这里暂且称之为导致B树不平衡,于是要进行一些合并.左旋.右旋等操作,使之符合B树 ...

  9. Vue页面骨架屏(二)

    实现思路 参考原文中在构建时使用 Vue 预渲染骨架屏一节介绍的思路,我将骨架屏也看成路由组件,在构建时使用 Vue 预渲染功能,将骨架屏组件的渲染结果 HTML 片段插入 HTML 页面模版的挂载点 ...

  10. hihoCoder#1069 最近公共祖先·三

    原题地址 根据提示用Spase Table做 将Tree先展成List,因为数组长度等于边数的2倍,树中边数等于节点数-1,所以List数组只要开2倍节点数大小即可 WA了几次,原来是查询的时候出现左 ...