文档章节

nginx+rtmp module搭建直播+录制环境

andrew810810
 andrew810810
发布于 2016/05/09 16:00
字数 491
阅读 705
收藏 8

安装过程

 

1、将nginx和nginx-rtmp-module的源码包解压
PS:

nginx下载地址

http://nginx.org/en/download.html

nginx-rtmp-module网址
https://github.com/arut/nginx-rtmp-module

2、进入nginx的源代码目录,编译
./configure --add-module=<path-to-nginx-rtmp-module>

使用nginx 1.7.2

错误如下:

adding module in /home/andrew/Work/tools/nginx-rtmp-module

 + ngx_rtmp_module was configured

checking for PCRE library ... not found

checking for PCRE library in /usr/local/ ... not found

checking for PCRE library in /usr/include/pcre/ ... not found

checking for PCRE library in /usr/pkg/ ... not found

checking for PCRE library in /opt/local/ ... not found

 

./configure: error: the HTTP rewrite module requires the PCRE library.

You can either disable the module by using --without-http_rewrite_module

option, or install the PCRE library into the system, or build the PCRE library

statically from the source with nginx by using --with-pcre=<path> option.

需要安装PCRE或者不支持rewrite功能

./configure --add-module=<path-to-nginx-rtmp-module>  --without-http_rewrite_module
make
make install

3、写一个测试配置文件

worker_processes  1;
 
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
error_log  logs/error.log  info;
 
#pid        logs/nginx.pid;
 
events {
    worker_connections  1024;
}
 
 
http {
    include       mime.types;
    default_type  application/octet-stream;
 
    sendfile        on;
    keepalive_timeout  65;
 
    server {
        listen       80;
        server_name  localhost;
 
        location / {
            root   html;
            index  index.html index.htm;
        }
 
        location /stat {
                rtmp_stat all;
                rtmp_stat_stylesheet stat.xsl;
        }
        location /stat.xsl {
                root /home/andrew/Work/tools/nginx-rtmp-module;
        }
 
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
 
rtmp {
        server {
                listen 1935;
                chunk_size 4096;
                application myapp {
                        live on;
                }
        }
}

 

nginx配置

worker_processes  1;
user root;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  18000;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;

            client_body_temp_path  /usr/local/nginx/html/tmp;
        }

	location /stat {
		rtmp_stat all;
		rtmp_stat_stylesheet stat.xsl;
	}
	location /stat.xsl {
		root /home/andrew/Work/tools/nginx-rtmp-module;
	}
	

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

rtmp {
	server {
		listen 1935;
		chunk_size 4096;
		application myapp {
			live on;
			record all;
			record_path /tmp/;

			recorder all {
				record all;
				record_suffix -%d-%b-%y-%T.flv;
			}
		}
	}
}

启动nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

 

 进入/usr/local/nginx/sbin目录,执行nginx

./nginx  

 打开浏览器输入http://ip可看到nginx已经启动的画面

 

使用ffmpeg推流到服务器

例如

./ffmpeg -re -i test2.flv -c:a copy -y -f flv rtmp://192.168.40.128:1935/myapp/stream1

 

访问http://192.168.40.128/stat,看到以下统计信息

 

nginx结束

./nginx -s stop或者./nginx -s quit  

 

一个是强制快速结束,一个是温柔结束.

 

注释:

192.168.40.128为测试内网IP

© 著作权归作者所有

andrew810810
粉丝 3
博文 141
码字总数 117648
作品 0
朝阳
私信 提问
加载中

评论(1)

Loveni
Loveni
好像不错
Mac中配置nginx的rtmp协议

背景 想要在mac上面,通过ffmpeg、nginx搭建本地流媒体服务,也就是发布rtmp协议。对ffmpeg、nginx和rtmp都不太熟悉,这里仅仅是一个对流媒体服务器的模仿,最终能够初步共享自己的电脑桌面,...

亚林瓜子
2017/11/29
0
0
在Windows下搭建基于nginx的视频直播和点播系统

一、软件准备 由于nginx原生是为linux服务的,因此官方并没有编译好的windows版本可以下载,要在windows上使用nginx,要么下载源码进行编译,要么使用其他人已经编译好的文件。 而要让nginx...

汉克斯
2015/07/14
0
1
流媒体服务器,给你好看

> 花满楼原创 > 花满楼:我的D盘有部大电影,你想看吗? > 小白:想!拿u盘来拷? > 花满楼:太low了,点播给你看就行啦。 > 小白:点播是什么? 点播,就是把录制编码好的东西分发一下。 直...

奇哥3
2017/12/13
0
0
Nginx-rtmp模块实现流媒体play、push、pull功能

官方wiki:https://github.com/arut/nginx-rtmp-module#readme Nginx rtmp 功能特点 1. 支持音视频直播 2. 支持flv/mp4视频格式,输入可以是文件或者HTTP流 3. 支持两种流的分发模式 pushand ...

li13522275125
2014/06/23
0
0
【腾讯Bugly干货分享】H5 视频直播那些事

本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57a42ee6503dfcb22007ede8 Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员...

腾讯Bugly
2016/08/12
158
0

没有更多内容

加载失败,请刷新页面

加载更多

硬件配置

https://akkadia.org/drepper/futex.pdf sudo lshw -businfo[sudo] lambda 的密码: Bus info Device Class Description======================================......

MtrS
今天
3
0
springmvc的return “success”源码解读

qqqq

architect刘源源
今天
5
0
Java程序员五面阿里分享 逆袭成功 太不容易了!

前言 拿到阿里实习offer,经历了5次面试,其中4轮技术面,1轮HR面试。在这里分享一下自己的面试经验和学习心得。希望能够帮助更多的小伙伴。 我本科毕业于中南大学信管专业,真正开始学习Jav...

别打我会飞
昨天
4
0
Android Camera模块解析之视频录制

《Android Camera架构》 《Android Camera进程间通信类总结》 《Android Camera模块解析之拍照》 《Android Camera模块解析之视频录制》 《Android Camera原理之CameraDeviceCallbacks回调模...

天王盖地虎626
昨天
2
0
手把手教你使用issue作为博客评论系统

自从上周在阮一峰的 每周分享第 60 期 看到了可以将 GitHub 的 issue 当作评论系统,插入第三方网页的 JS 库——utterances。我就对此“魂牵梦绕”。个人博客使用的是VuePress。 TLDR (不多废...

jump--jump
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部