关键词:Nignx(http服务器);rtmp,hls(流媒体服务)

前言:感谢开源,感谢战斗民族。现在在做流媒体服务的一些工作,流媒体服务器搭建的网上教程多入牛毛,但是细细查看,发现很多同志贴上来的教程都有些许问题,还有一些是爬别人的数据得来的,排版上也有问题,让新手无所适从。本文也是通过翻看一些优质的博文得到的这篇分享。以下分享的网址就是引用的博文,安利一下。

1. http://redstarofsleep.iteye.com/blog/2123752

2. http://blog.csdn.net/cjsafty/article/details/9108587

3. http://blog.chinaunix.net/uid-20639775-id-154556.html

教程:

1. 下载nginx, openssl, pcre, zlib到一个目录下,如(/home/user),用wget命令,具体可查看下面的各种版本。

nginx-1.8.0.tar.gz
openssl-1.0.1i.tar.gz
pcre-8.37.tar.gz
zlib-1.2.8.tar.gz

2. tar解压。

tar -zxvf nginx-1.8.0.tar.gz
tar -zxvf openssl-1.0.1i.tar.gz
tar -zxvf pcre-8.37.tar.gz
tar -zxvf zlib-1.2.8.tar.gz

3. git下nginx-rtmp-module(https://github.com/arut/nginx-rtmp-module),具体略。

4. 进入nginx内,配置好,再make和make install。

(这里强调一下,/home/user里的user就是你的用户名,然后是configure的时候最好加入--with-debug)

./configure --prefix=/usr/local/nginx --with-debug --with-pcre=/home/user/pcre/pcre-8.37 --with-zlib=/home/user/zlib/zlib-1.2.8 --with-openssl=/home/user/openssl/openssl-1.0.1i  --add-module=/home/user/nginx-rtmp-module
make
make install

5. 进到(/usr/local/nginx/conf),配置好conf,下面来个简单完整版的

#user  nobody;
worker_processes  1; #这里可以通过加入debug模式来查看error.log,内容更加丰富
error_log  logs/error.log debug;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info; #pid        logs/nginx.pid; events {
    worker_connections  1024;
}
-------------------------------------@@@
rtmp {
    server {
        listen 1935;         application myapp {
            live on;
        }
        application hls {
            live on;
            hls on;
            hls_path /tmp/hls;
        }
    }
}
---------------------------------------@@@ http {
    include       mime.types;
    default_type  application/octet-stream;     sendfile        on;
    keepalive_timeout  65;     server {
        listen       80;
        server_name  localhost;         --------------------------------------------@@@
        location /hls {
            types {
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }
            root /tmp;
            add_header Cache-Control no-cache;
       }
       --------------------------------------------@@@
        location / {
            root   html;
            index  index.html index.htm;
        } }

加的部分已经在上面标出来了。

6. 进入(/usr/local/nginx/sbin)运行

./ngnix

7. 可以查看端口占用,80,1935是不是在监听

netstat -ltn

8. 更多测试

1)把rtmp流发给服务器

rtmp://ip/myapp/test

myapp是ngnix.conf里application设置的,stream为test则是自定义的。

2)接收hls流

http://ip/hls/test.m3u8

hls是http内的location设置的,访问的是Linux下的(/tmp/hls),test则是按照上面rtmp的test,如果上面是haha,下面也是haha。

3)ngnix主页

http://ip

后言:有教程说明在./configure时可以不需要zlib和pcre,这个我没有试过,真心不需要这两个模块的童鞋们可以不添加。

rtmp与hls流媒体服务器搭建:ubuntu下Nginx搭建初探与rtmp-module的添加的更多相关文章

  1. 基于Nginx+nginx-rtmp-module+ffmpeg搭建rtmp、hls流媒体服务器

    上篇文章是基于Red5与ffmpeg实现rtmp处理NVR或摄像头的监控视频处理方案,有兴趣的朋友可以查看. Nginx及nginx-rtmp-module安装 新建目录 mkdir /usr/loc ...

  2. 基于Nginx+nginx-rtmp-module+ffmpeg搭建rtmp、hls流媒体服务器(二)

    前言 Nginx-rtmp-module插件针对RTMP协议中一些命令,实现了事件通知和exec外部脚本处理.这里我通过一个简单的SpringBoot项目和Python代码,快速搭建一个HTTP服务来 ...

  3. nginx::基于Nginx+nginx-rtmp-module+ffmpeg搭建rtmp、hls流媒体服务器

    待续 ffmpeg -re -i "/home/bk/hello.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 4 ...

  4. 流媒体基础实践之——RTMP和HLS分发服务器nginx.conmf配置文件(解决了,只能播放RTMP流而不能够播放HLS流的原因)

    user www www; worker_processes ; error_log logs/error.log debug; #pid logs/nginx.pid; events { worke ...

  5. 流媒体技术学习笔记之(二)RTMP和HLS分发服务器nginx.conmf配置文件(解决了,只能播放RTMP流而不能够播放HLS流的原因)

    user www www; worker_processes ; error_log logs/error.log debug; #pid logs/nginx.pid; events { worke ...

  6. 利用Nginx搭建http和rtmp协议的流媒体服务器[转]

    利用nginx搭建http和rtmp协议的流媒体服务器 实验目的:让Nginx支持flv和mp4格式文件,同时支持Rtmp协议:同时打开rtmp的hls功能资料:HTTPLive Streaming( ...

  7. nginx搭建http和rtmp协议的流媒体服务器

    nginx搭建http和rtmp协议的流媒体服务器 时间:2013-09-23 23:52来源:佚名 作者:本站 举报 点击:232次 实验目的:让Nginx支持flv和mp4格式文件,同时支持Rtm ...

  8. EasyDarwin开源流媒体服务器实现RTSP直播同步输出MP4、RTMP、HLS的方案思路

    背景 近期跟开源团队商量,想在EasyDarwin上继续做一些功能扩展,目前EasyDarwin开源流媒体服务器只能够实现高效的RTSP推流直播转发/分发功能,输入与输出都是RTSP/RTP流,不能够 ...

  9. virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续)

    virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续) 第一次接触到 linux,不知道linux的确很强大,然后用virtualbox ...

随机推荐

  1. 划分Linux分区

    / Swap 这二个分区是必须有的. /usr linux系统都在 /usr 中 /home  用户信息都在 /home 下 /var 保持所有服务器的登录文件,且Web默认的路径在 /var中 可以 ...

  2. 统计输入的单词中有几个长度大于n的,n是自己指定的,用函数对象实现

    #ifndef COUNT_WORD_H #define COUNT_WORD_H #include <string.h> #include <iostream> #inclu ...

  3. Python 推导式、迭代器、生成器、模块和包

    一.推导式 (一).列表推导式(集合推导式也同理于此) 利用列表推导式,取出1-20内所有偶数 li = [i for i in range(1, 21) if i % 2 == 0] # 如果只有一 ...

  4. 替换jar包内指定的文件

    用Java jar 工具来替换. ① jar uvf test.jar test.class 把test.class 直接添加到jar包的根目录,也就是替换到根目录文件. ②jar uvf test. ...

  5. 【BZOJ3510】首都 LCT维护子树信息+启发式合并

    [BZOJ3510]首都 Description 在X星球上有N个国家,每个国家占据着X星球的一座城市.由于国家之间是敌对关系,所以不同国家的两个城市是不会有公路相连的. X星球上战乱频发,如果A国打 ...

  6. 第一章 MATLAB数字图像处理编程基础

    1 为什么用MATLAB MATLAB的图像处理工具箱(Image Processing Toolbox,IPT)封装了一系列不同图像处理需求的标准算法,它们都是通过直接或间接调用MATLAB中矩阵运 ...

  7. Hadoop DataNode 节点的动态添加和动态删除

    动态添加 DataNode 节点 hadoop环境是必须的 需要加入新的 DataNode 节点,前提是已经配置好 SSH 无密登录:直接复制已有DataNode中.ssh目录中的authorized ...

  8. ArcGIS API for js Legend(图例)

    1.说明 有关怎么把ArcGIS API for js部署到IIS上,请参考我上面的写的博客https://www.cnblogs.com/net064/p/10302660.html 2.运行效果 ...

  9. 九度OJ 1201:二叉排序树 (二叉树)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4894 解决:2062 题目描述: 输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历. 输入: 输入第一行包括一个整数n(1< ...

  10. 九度OJ 1181:遍历链表 (链表、排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2733 解决:1181 题目描述: 建立一个升序链表并遍历输出. 输入: 输入的每个案例中第一行包括1个整数:n(1<=n<=1 ...