Mac上搭建直播服务器Nginx

1.安装Homebrew,执行命令

Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew就是mac下的apt-get、yum神器

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

2. 安装Nginx服务器

增加对 nginx 的扩展;也就是从github上下载,home-brew对ngixnx的扩展

brew tap homebrew/nginx

3. 安装Nginx服务器和rtmp模块

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

4. 配置nginx的ramp模块

查看nginx-full信息

brew info nginx-full

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

Docroot is: /usr/local/var/www

The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that
nginx can run without sudo. nginx will load all files in /usr/local/etc/nginx/servers/. - Tips -
Run port 80:
$ sudo chown root:wheel /usr/local/Cellar/nginx-full/1.10.0/bin/nginx
$ sudo chmod u+s /usr/local/Cellar/nginx-full/1.10.0/bin/nginx
Reload config:
$ nginx -s reload #重新加载配置文件
Reopen Logfile:
$ nginx -s reopen #再次打开日志文件
Stop process:
$ nginx -s stop #停止服务器
Waiting on exit process
$ nginx -s quit #退出服务器

从上面可以看出

  1. nginx安装所在位置

    /usr/local/Cellar/nginx-full/
  2. nginx配置文件所在位置
    /usr/local/etc/nginx/nginx.conf
  3. nginx服务器根目录所在位置
    /usr/local/var/www
  4. 执行命令 ,测试下是否能成功启动nginx服务
    /usr/local/Cellar/nginx-full/1.10.0/bin/nginx

    在浏览器地址栏输入:http://localhost:8080 如果出现

    Welcome to nginx!

    代表nginx安装成功了

5. 修改nginx.conf这个配置文件,配置rtmp

用Xcode打开nginx.conf, 找到/usr/local/etc/nginx/nginx.conf 文件,拖入到Dock中的Xcode,就可以打开.

http {
……
}
#在http节点下面(也就是文件的尾部)加上rtmp配置:
rtmp {
server {
listen 1935;
application gzhm {
live on;
record off;
}
}
}
  • 说明:
    1. rtmp是协议名称
    2. server 说明内部中是服务器相关配置
    3. listen 监听的端口号, rtmp协议的默认端口号是1935
    4. application 访问的应用路径是 gzhm
    5. live on; 开启实时
    6. record off; 不记录数据

6. 保存文件后,重新加载nginx的配置文件

nginx -s reload

7. 安装ffmepg工具

brew install ffmpeg

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

8. 通过ffmepg命令进行推流

ffmpeg -re -i 你的视频文件的绝对路径(如/Users/lideshan/Downloads/广州iOS黑马程序员.mp4)  -vcodec copy -f flv rtmp://localhost:1935/gzhm/room

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

9. 验证视频

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

rtmp://localhost:1935/gzhm/room

如图:

VLC设置URL.png

播放界面:

VLC播放.png

9. 可能会遇到的问题

  1. 找不到C语言的编译器clang
    <font>错误信息:

    checking for OS
    + Darwin 15.3.0 x86_64
    checking for C compiler ... not found
    ./configure: error: C compiler clang is not found

    解决方案:
    需要去apple官网下载命令行工具,安装即可. 注意命令行工具的版本需要和你的Xcode对应.

参考文章:
OSX安装nginx和rtmp模块(rtmp直播服务器搭建
Homebrew官网
Homebrew 隐藏命令

Mac上搭建直播服务器Nginx的更多相关文章

  1. Mac上搭建直播服务器Nginx+rtmp

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

  2. Mac上搭建直播服务器Nginx+rtmp,实现手机推流、拉流

    转载自http://www.cnblogs.com/jys509/p/5649066.html 简介 nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,本人在网 ...

  3. ios即时通讯客户端开发之-mac上搭建openfire服务器

    一.下载并安装openfire 1.到http://www.igniterealtime.org/downloads/index.jsp下载最新openfire for mac版 比如:Openfir ...

  4. XMPP之ios即时通讯客户端开发-mac上搭建openfire服务器(二)

    come from:http://www.cnblogs.com/xiaodao/archive/2013/04/05/3000554.html 一.下载并安装openfire 1.到http://w ...

  5. Mac上搭建Web服务器--Apache

    局域网搭建 Web 服务器测试环境,因为Mac OS X 自带了 Apache 和 PHP 环境,我们只需要简单的启动它就行了. 1.命令:sudo apachectl start Apache服务器 ...

  6. mac上搭建svn服务器

    1.terminal 执行svnadmin create 库地址/库名,生成的即为svn库根地址. 2.修改对应目录下conf/svnserve.conf文件: anon-access = read ...

  7. Mac直播服务器Nginx配置对HLS的支持

    在上一篇中Mac上搭建直播服务器Nginx+rtmp,我们已经搭建了nginx+rtmp直播服务器.下面需要对Nginx服务器增加对HLS的支持.在Nginx增加对HLS种支持比较简单,只是简单的修改 ...

  8. 直播服务器Nginx

    Mac直播服务器Nginx配置对HLS的支持 在上一篇中Mac上搭建直播服务器Nginx+rtmp,我们已经搭建了nginx+rtmp直播服务器.下面需要对Nginx服务器增加对HLS的支持.在Ngi ...

  9. mac 教你如何在Mac上搭建自己的服务器——Nginx

    WHAT 本篇主要是基于Nginx在Mac上搭建自己的服务器. 我相信很多朋友肯定是第一次听到Nginx,关于它具有怎样的传奇,这儿肯定说不完也说不透. 有兴趣的朋友可以自行google或者baidu ...

随机推荐

  1. es6数组去重复

    var arr=[1,1,2,3,5,7,7,7] arr=Array.from(new Set(arr))

  2. Maven仓库设置代理

    线上服务器是没有外网环境的, 添加代理配置如下: <settings>     ...    <proxies>       <proxy>          &l ...

  3. 《深入理解Java虚拟机》笔记6

    class文件由无符号数和表两种类型数据构成.表其实相当于一种结构体,内部又嵌套无符号数或者表. 用u1,u2,u4,u8分别代表一个字节,两个字节,四个字节,八个字节的无符号数. 如图中所示,cla ...

  4. 【Linux】Ubuntu vi 上下左右变ABCD及 apt-get install报错问题解决方法

    新装的ubuntu12.04,本人绝对新手,在使用VI编辑器编辑文本时觉得实在是难用,因此找了几个解决方法如下: 1. 安装vim full版本 由于Ubuntu预安装的是tiny版本,就会导致我们在 ...

  5. iptables不小心把127.0.0.1封了,导致redis连不上

    写了个脚本扫描apache日志,自动把恶意攻击者的ip交给iptables给封掉 谁知道一不小心把127.0.0.1也给封了... 直接导致redis无法链接. redis-server服务正常启动, ...

  6. java线程总结(2/5)

    线程基本信息和优先级别 方  法 功        能 isAlive() 判断线程是否还“活”着,即线程是否还未终止. getPriority() 获得线程的优先级数值 setPriority() ...

  7. Textarea自动适用高度且无滚动条解决方案

    今日的系统需要动态显示一项数据库里面的内容,该内容包含换行等格式字符,要求如实的反应在页面上. 最初解决办法是使用textarea控件,代码如下: <textarea style="b ...

  8. 《大话操作系统——做坚实的project实践派》(5)

    有人说我不是仅仅会玩X86吗?我如今铁板钉钉的申明:我事实上兼通:ARM.IA-32.IA-32e.AMD64. ​了解MIPS.但没做过MIPS由于确实没有对应的MIPS硬件平台. ​

  9. MSSQL数据库迁移到Oracle(二)

    上一篇文章采用的PowerDesigner实现对MSSQL数据库迁移到Oracle,后来博友建议用ESF Database Migration Toolkit进行迁移会更加简单方便,本文就是通过一个实 ...

  10. input输入框禁止显示历史记录

    有时我们在设计网页时不想让表单保存用户输入历史记录,比如一些隐私数据 <input name="test" type="text" id="te ...