Mac上搭建直播服务器Nginx
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 #退出服务器
从上面可以看出
- nginx安装所在位置
/usr/local/Cellar/nginx-full/ - nginx配置文件所在位置
/usr/local/etc/nginx/nginx.conf - nginx服务器根目录所在位置
/usr/local/var/www - 执行命令 ,测试下是否能成功启动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;
}
}
}
- 说明:
- rtmp是协议名称
- server 说明内部中是服务器相关配置
- listen 监听的端口号, rtmp协议的默认端口号是1935
- application 访问的应用路径是
gzhm - live on; 开启实时
- 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
如图:
播放界面:
9. 可能会遇到的问题
- 找不到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对应.
Mac上搭建直播服务器Nginx的更多相关文章
- Mac上搭建直播服务器Nginx+rtmp
简介 nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,本人在网上整理了安装流程,分享给大家并且作备忘. 步骤安装 1.安装Homebrow Homebrew简 ...
- Mac上搭建直播服务器Nginx+rtmp,实现手机推流、拉流
转载自http://www.cnblogs.com/jys509/p/5649066.html 简介 nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,本人在网 ...
- ios即时通讯客户端开发之-mac上搭建openfire服务器
一.下载并安装openfire 1.到http://www.igniterealtime.org/downloads/index.jsp下载最新openfire for mac版 比如:Openfir ...
- XMPP之ios即时通讯客户端开发-mac上搭建openfire服务器(二)
come from:http://www.cnblogs.com/xiaodao/archive/2013/04/05/3000554.html 一.下载并安装openfire 1.到http://w ...
- Mac上搭建Web服务器--Apache
局域网搭建 Web 服务器测试环境,因为Mac OS X 自带了 Apache 和 PHP 环境,我们只需要简单的启动它就行了. 1.命令:sudo apachectl start Apache服务器 ...
- mac上搭建svn服务器
1.terminal 执行svnadmin create 库地址/库名,生成的即为svn库根地址. 2.修改对应目录下conf/svnserve.conf文件: anon-access = read ...
- Mac直播服务器Nginx配置对HLS的支持
在上一篇中Mac上搭建直播服务器Nginx+rtmp,我们已经搭建了nginx+rtmp直播服务器.下面需要对Nginx服务器增加对HLS的支持.在Nginx增加对HLS种支持比较简单,只是简单的修改 ...
- 直播服务器Nginx
Mac直播服务器Nginx配置对HLS的支持 在上一篇中Mac上搭建直播服务器Nginx+rtmp,我们已经搭建了nginx+rtmp直播服务器.下面需要对Nginx服务器增加对HLS的支持.在Ngi ...
- mac 教你如何在Mac上搭建自己的服务器——Nginx
WHAT 本篇主要是基于Nginx在Mac上搭建自己的服务器. 我相信很多朋友肯定是第一次听到Nginx,关于它具有怎样的传奇,这儿肯定说不完也说不透. 有兴趣的朋友可以自行google或者baidu ...
随机推荐
- matlab中cell array的理解
1. matlab中有一个函数iscell() 用于判断一个数组是不是cell array 参考:MATLAB Function Reference iscell Determine whether ...
- 剖析ASP.NET Core(Part 4)- 调用MVC中间件(译)
原文:https://www.stevejgordon.co.uk/invoking-mvc-middleware-asp-net-core-anatomy-part-4 发布于:2017年5月环境: ...
- 【Web】前台传送JSON格式数据到后台Shell处理
1.js中的json对象和字符串之间的转化:http://www.oschina.net/code/snippet_175925_6288 代码片段: var obj = JSON.parse(des ...
- phpstorm快速跳转到错误行
phpstorm的快捷键,在网上可以搜索出很多,唯有“快速跳到错误行”的快捷键几乎搜索不出来. 看着错误提示,要一行一行的用眼睛去看,心累. 贴在这里,随时取用,再也不怕忘记了. Shift + F2 ...
- dubbo forbid 注意的几种方式
1.检查所调用的项目模块是否起来了 2.如果起来后,检查该模块配置是否正确 3.服务端起来后与管理端的项目内容不一致(比如服务端增加了东西,管理端没有更新)
- python的__init__和__new__
本文所有实例代码在python3.7下 一.__new__和__init__区别 1.__new__先于__init__执行;__new__是相当于其他OOP语言的构造方法,负责创建实例:之后,__i ...
- 操作系统开发之——一个简单的Bootsect
先吓唬一下读者朋友呵呵,直接发代码:(这是UOS操作系统的Bootsect)(有兴趣的朋友能够增加我们,联系方式在最后) ;------------------------------ ;文件名称:B ...
- ES6 for...of循环
1.for of const arr = ['red', 'green', 'blue']; for(let v of arr) { console.log(v); // red green blue ...
- 如何为Drupal缓存对象指定缓存类?
什么意思?意思是说,假如你有这样的需求,需要将cache_page缓存到数据库,其它的都缓存到memcache,这该怎么办? 看看_cache_get_object()的实现你就会知道上面的问题该怎么 ...
- C++从零实现简单深度神经网络(基于OpenCV)
代码地址如下:http://www.demodashi.com/demo/11138.html 一.准备工作 需要准备什么环境 需要安装有Visual Studio并且配置了OpenCV.能够使用Op ...