Mac搭建nginx+rtmp服务器

nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,本人在网上整理了安装流程,分享给大家并且作备忘。

一、安装Homebrow

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

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

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

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

二、安装nginx

先glone nginx项目到本地:

brew tap homebrew/nginx

执行安装:

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

安装过程比较缓慢,耐心等待
通过操作以上步骤nginx和rtmp模块就安装好了,下面开始来配置nginx的rtmp模块

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

brew info nginx-full

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

nginx基本信息.01

nginx安装所在位置

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

nginx配置文件所在位置

/usr/local/etc/nginx/nginx.conf

三、运行nginx

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

nginx

命令行如下图所示

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

Welcome to nginx!.03

代表nginx安装成功了

如果终端上提示

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

则表示8080
端口被占用了, 查看端口PID

lsof -i tcp:8080

kill掉占用8080端口的PID

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

然后重新执行nginx

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

nginx -s reload

重新加载日志:

 nginx -s reopen

// 停止 nginx

nginx -s stop

// 有序退出 nginx

nginx -s quit

四、配置rtmp

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

/usr/local/etc/nginx/nginx.conf

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

1http { 2 …… 3}

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

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

五、安装YASM编译工具

终端命令如下:

curl http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz >yasm.tar.gz

tar xzvf yasm.tar.gz

cd yasm-1.2.0

./configure

make

sudo make install

六、安装ffmepg工具

brew install ffmpeg

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

VLC.04

显示下图表示ffmpeg安装完毕

ffmpeg安装完毕0.5

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

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Mac搭建nginx+rtmp服务器 - HelloWorld