服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - Mac上搭建nginx+rtmp直播服务器的步骤详解

Mac上搭建nginx+rtmp直播服务器的步骤详解

2019-11-14 17:05daisy Nginx

最近的直播很火,所以这篇文章跟大家分享了在Mac上搭建nginx+rtmp直播服务器的步骤,文章通过一步步图文介绍的很详细,有需要的朋友们可以参考借鉴。

前言

相信大家都知道nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,所以小编在网上整理了安装流程,现在分享给大家并且作备忘。有需要的朋友们可以参考学习,下面来一起看看吧。

一、安装Homebrow

已经安装了brow的可以直接跳过这一步。

执行命令

?
1
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如果已经安装过,而想要卸载:

?
1
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

二、安装nginx

先glone nginx项目到本地:

?
1
brew tap homebrew/nginx

执行安装:

?
1
brew install nginx-full --with-rtmp-module

安装过程比较缓慢,耐心等待

通过操作以上步骤nginx和rtmp模块就安装好了,下面开始来配置nginx的rtmp模块

首先来看看我们的nginx安装在哪里了

?
1
brew info nginx-full

执行上面的命令后我们可以看到信息

Mac上搭建nginx+rtmp直播服务器的步骤详解

nginx安装所在位置

?
1
/usr/local/Cellar/nginx-full/1.10.1/bin/nginx

nginx配置文件所在位置

?
1
/usr/local/etc/nginx/nginx.conf

三、运行nginx

执行命令 ,测试下是否能成功启动nginx服务

?
1
nginx

命令行如下图所示

Mac上搭建nginx+rtmp直播服务器的步骤详解

在浏览器地址栏输入:http://localhost:8080 (直接点击)

如果出现

Mac上搭建nginx+rtmp直播服务器的步骤详解
Welcome to nginx!.03

代表nginx安装成功了

如果终端上提示

?
1
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)

则表示8080

端口被占用了, 查看端口PID

?
1
lsof -i tcp:8080

kill掉占用8080端口的PID

?
1
kill 9603(这里替换成占用8080端口的PID)

然后重新执行nginx

nginx常用方法:重新加载配置文件

?
1
nginx -s reload

重新加载日志:

?
1
nginx -s reopen

// 停止 nginx

?
1
nginx -s stop

// 有序退出 nginx

?
1
nginx -s quit

四、配置rtmp

现在我们来修改nginx.conf这个配置文件,配置rtmp

复制nginx配置文件所在位置

?
1
/usr/local/etc/nginx/nginx.conf

打开Finder Shift + command + G前往,用记事本工具打开nginx.conf

?
1
2
3
http {
  ……
}

在http节点后面加上rtmp配置:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
rtmp {
 
 server {
   listen 1935;
 
 
  #直播流配置
   application rtmplive {
     live on;
   #为 rtmp 引擎设置最大连接数。默认为 off
   max_connections 1024;
 
 
    }
 
 
   application hls{
 
     live on;
     hls on;
     hls_path /usr/local/var/www/hls;
     hls_fragment 1s;
   }
  }
}

五、安装ffmepg工具

?
1
brew install ffmpeg

安装这个需要等一段时间等待吧 然后准备一个视频文件作为来推流,然后我们在安装一个支持rtmp协议的视频播放器,Mac下可以用VLC

Mac上搭建nginx+rtmp直播服务器的步骤详解
VLC.04

显示下图表示ffmpeg安装完毕

Mac上搭建nginx+rtmp直播服务器的步骤详解
ffmpeg安装完毕0.5

六、ffmepg 安装完成后可以开始推流了

?
1
2
ffmpeg -re -i 你的视频文件的绝对路径(如/Users/lideshan/Downloads/Demo.mp4) -vcodec copy -f flv rtmp://localhost:1935/zbcs/room
// 如:ffmpeg -re -i /Users/jiangys/Documents/Document/demo.mp4 -vcodec copy -f flv rtmp://localhost:1935/zbcs/room

这里zbcs是上面的配置文件中,配置的应用的路径名称;后面的room可以随便写。

推流界面:

Mac上搭建nginx+rtmp直播服务器的步骤详解

七、验证视频

然后电脑上打开vlc这个播放器软件 点击File---->Open Network 在弹出来的框中选择Network然后输入URL:

?
1
rtmp://localhost:1935/zbcs/room

Mac上搭建nginx+rtmp直播服务器的步骤详解

双击播放

 Mac上搭建nginx+rtmp直播服务器的步骤详解

播放界面

 Mac上搭建nginx+rtmp直播服务器的步骤详解

报错处理

1.ffmepg命令推流的时候,提示连接失败。 [tcp @ 0x7ff162504b60] Connection to tcp://localhost:1935 failed (Connection refused), trying next address

出现这个错,是因为配置了nginx.conf后,需要重启nginx。输入命令重启后就没有问题了

?
1
nginx -s reload

Mac上搭建nginx+rtmp直播服务器的步骤详解

2.安装完nginx后,在浏览器地址栏输入:http://localhost:8080 显示打不开网页

解决方式:由于安装后nginx服务器,有时需要等上几分钟才生效。如果还不生效,测试下是否能成功启动nginx服务,命令

?
1
nginx

具体请参考“步骤安装”第三点。

总结

好了,到这就基本安装结束了,大家安装步骤一步步来都可以安装成功的,以上就是这篇文章的全部内容,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

延伸 · 阅读

精彩推荐
  • Nginxnginx ssl免密码重启教程详解

    nginx ssl免密码重启教程详解

    这篇文章给大家介绍了nginx 如何启动以及nginx ssl 免密码重启 的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧 ...

    mrr4272019-11-19
  • Nginx通过Nginx规则重写URL去掉index.php不显示index.php

    通过Nginx规则重写URL去掉index.php不显示index.php

    Nginx不仅占用内存少,并发能力强,而且拓展功能丰富,可以通过安装模板来强化功能,也能通过规则优化,优化服务器并发处理能力,是建站的不二之选...

    Genius日记5872020-10-16
  • NginxNginx动静分离实现案例代码解析

    Nginx动静分离实现案例代码解析

    这篇文章主要介绍了Nginx动静分离实现案例代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参...

    盗哥泡茶去了3382020-09-27
  • NginxNginx Rewrite使用场景及代码案例详解

    Nginx Rewrite使用场景及代码案例详解

    这篇文章主要介绍了Nginx Rewrite使用场景及代码案例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可...

    盗哥泡茶去了11862020-09-27
  • NginxNginx location 和 proxy_pass路径配置问题小结

    Nginx location 和 proxy_pass路径配置问题小结

    本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,进行测试,完全还原了整个测试过程,本文给大家介绍Nginx location 基本配置及相关配...

    自由早晚乱余生18742021-09-24
  • Nginx如何优化Nginx的处理性能

    如何优化Nginx的处理性能

    Nginx是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性,在连接高并发的情况下,Nginx是Apache服务不错的替代品。其特点是占有内存少,...

    Dockone.io5142020-12-11
  • Nginxnginx rewrite 伪静态配置参数和使用例子

    nginx rewrite 伪静态配置参数和使用例子

    nginx下伪静态配置参数详细说明,使用nginx的朋友,nginx rewrite 伪静态配置参数和使用例子 附正则使用说明 ...

    服务器之家3102019-10-08
  • Nginx利用nginx和腾讯云免费证书制作https的方法

    利用nginx和腾讯云免费证书制作https的方法

    这篇文章主要介绍了利用nginx和腾讯云免费证书制作https的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    dalaoyang5992019-12-30