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

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

卧槽,就是被新版的jwplayer坑了,用了博主的

startparam: "start",
primary: "flash"

最终搞定了,特意注册一个账号顶一下!谢谢。

  花了我接近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

时间: 2024-10-06 23:18:48

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

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

花了我接近3周,历经了重重问题,今日终于把流媒体服务器搞定,赶紧的写个博文以免忘记... 起初是跟着网上的一些教程来的,但是说的很不全面,一些东西也过时不用了(比如jwplayer老版本).我这次是用的最新版jwplayer6.8,在配置上有很多不同的地方,也很坑,值得注意一下!在配置方面,我精简了很多,没有了那么多繁琐的配置项需要修改. 注意:本人是在虚拟机centos6.2系统下搭建的流媒体服务器,在win7主机上做测试. 另,文章最后有下载地址,可下载搭建过程中所有用到的包和其他文件. 废

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

Nginx搭建flv mp4流媒体服务器 作者:二蛋 时间:December 1, 2014 分类:Note 环境:Centos 6.4 32bit 一.安装依赖包 1.安装zlib wget http://zlib.net/zlib-1.2.8.tar.gz tar xzvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure make && make install 2.安装gcc-c++ yum -y install gcc-c++ 3.安装pcr

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

最近在 ubuntu12.04+wdlinux(centos)上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下. 大部分都是参考网络上的资料. 前提: 在linux下某个目录中新建一个nginx目录. 然后进入该目录去下载搭建环境所需要的一些资源包. 此处在 /root/  目录下新建一个nginx目录即: /root/softsource/ 注意:依赖包和工具包需要下载,请在良好的网络环境下安装,否则在网速不好的情况下容易下漏掉,造成后面安装失败 ====================

nginx搭建flv、mp4流媒体服务

1.安装pcre-8.33.tar.bz2 #tar -xvf 1.pcre-8.33.tar.bz2 #cd pcre-8.33/ #./configure #make && make install 2.安装openssl-1.0.1h.tar.gz #tar -xvf openssl-1.0.1h.tar.gz # cd openssl-1.0.1h/ #./config #make && make install 3.添加mp4支持模块 下载 http://h264

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

VLC可以作为播放器使用,也可以搭建服务器. 在经历了Helix Server和Darwin Streaming Server+Perl的失败之后,终于找到了一个搭建流媒体简单好用的方法. 这个网址中的内容已经很详细了: http://m.blog.csdn.net/article/details?id=38424957 我使用的是UDP的方法. 粗略步骤如下:1.在PC和手机上分别下载好VLC Media Player这个软件.将PC作为服务器,手机作为客户端. 在电脑上下载软件的地址是:ht

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

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

centos6.8+nginx搭建简单的https服务器

这里nginx搭建https服务器,必须几个要求,第一有安装openssl-devel,当然这个没有貌似编译添加ssl模块会出错.那如果编译有不会的可以参考我前面的博客,当然baidu和google上资料也很多. 1.确认nginx服务器能正常运行 lsof -i:80 #查看80端口是否正常启用,nginx默认80端口而不是443端口 netstat -ntpl | grep nginx | wc -l ss -ntpl | grep nginx |wc -l #这也是一种方法,wc -l是统

nginx支持flv MP4 扩展nginx_mod_h264_streaming,nginx-rtmp-module-master,yamdi

./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/usr/local/nginx/log/error.log --http-log-path=/usr/local/nginx/log/access.log --pid-path=/usr/local/nginx/var

CentOS6下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)

1.先添加几个RPM下载源 1.1)安装RPMforge的CentOS6源      [[email protected] ~]# wget -c http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm      [[email protected] ~]# rpm –import http://apt.sw.be/RPM-GPG-KEY.dag.txt      [[email