Nginx是什么
Nginx——Ngine X,是一款自由的、开源的、高性能HTTP服务器和反向代理服务器;也是一个IMAP、POP3、SMTP代理服务器;也就是说Nginx本身就可以托管网站(类似于Tomcat一样),进行Http服务处理,也可以作为反向代理服务器使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、新浪、网易、腾讯等,详细功能特点就不介绍了。
RTMP是什么?
RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。
安装Homebrew
Homebrew是一个包管理器,用于在Mac上安装一些OS X没有的UNIX工具,能在Mac中方便的安装软件或者卸载软件。Homebrew的安装很简单,打开终端,copy以下命令进去,回车搞定。系统会自动下载安装。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
为了一次安装成功,最好是将原来的卸载再安装,卸载方法跟安装类似,输入以下命令
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
安装Nginx
终端输入命令
brew tap homebrew/nginx
安装完以后,可以在终端输出的信息里看到一些配置路径:
/usr/local/etc/nginx/nginx.conf (配置文件路径)
/usr/local/var/www (服务器默认路径)
/usr/local/Cellar/nginx/1.12.1 (貌似是安装路径)
安装Nginx服务器和rtmp模块
终端输入以下命令
brew install nginx-full --with-rtmp-module
这个安装过程时间有点漫长,请耐心等待。
安装完毕Nginx和rtmp安装完毕后,输入以下命令来查看Nginx的全部信息,并附带了一些Nginx操作命令
brew info nginx-full
OK,没问题后,我们启动Nginx试试,输入命令
nginx
打开浏览器,输入:http://localhost:8080,如果出现
说明Nginx启动成功
配置RTMP模块
终端输入
/usr/local/etc/nginx/nginx.conf
打开配置文件,在文件内容的最后添加以下内容:
rtmp {
server {
listen 1935;
application rtmpTest {
live on;
record off;
}
}
}
添加完毕后保存退出,并重新加载nginx的配置文件
nginx -s reload
执行该命令可能会遇到很多奇葩问题,例如
是因为
注释掉就可以了。还有一些问题是因为在句末少了 ; 的,注意一下就可以了
安装ffmepg工具
执行以下命令:brew install ffmpeg,又是一个漫长的等待。。。。在这个等待的间隙,我们下载一个支持RTMP协议的视频播放器VLC
使用ffmepg进行推流
使用命令:
ffmpeg -re -i /Users/xxxx/Desktop/demo.mp4 -vcodec copy -f flv rtmp://localhost:1935/rtmpTest/room
出现红色框框部分,说明服务器已经开始推流,赶紧打开VLC视频播放器,按照以下步骤打开视频
至此,Mac上的RTMP服务器已经搭建完成。