一、安装Nginx
-
下载nginx,注意,一定要选择nginx 1.7.11.3 Gryphon.zip 这个版本,或者点这里直接下载,据说只有这个版本的nginx在编译时是加入了rtmp模块的,其他版本的都没有,包括nginx官方下载的也是没有包含rtmp模块的。 -
解压nginx 1.7.11.3 Gryphon.zip ,右击这个压缩包,选择“解压到nginx 1.7.11.3 Gryphon”,解压后把“nginx 1.7.11.3 Gryphon”重命名为“nginx"。 -
打开nginx/conf目录,新建一个文件:nginx.conf,然后在这个文件中输入如下内容(可以直接复制): worker_processes 1;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 4000;
application live {
live on;
allow publish 127.0.0.1;
allow play all;
}
}
}
二、启动、停止nginx
在nginx目录上面的地址栏中输入cmd,然后按回车,如下:   此时会打开一个cmd窗口,并且当前路径是在nginx目录下的,如下:  输入nginx命令来启动nginx,如下:  如上图所示,nginx就是启动成功了,在这个窗口中无法再输入命令了,即使按Ctrl + C也是无法结束的,直接关掉这个命令窗口也没用,nginx还是在运行中的。要想关闭nginx需要再启动一个新的cmd窗口,按上面的操作一样启动一个cmd窗口,然后输入:nginx -s stop,这样nginx就停止了,如下: 
三、推流
使用任意的推流软件都可以,推流地址为:rtmp://localhost:1935/live/home,拉流地址也是这个。注:在OBS中,需要一个串流密钥,把地址中的home删除,填到串流密钥中即可。
这里我们使用OBS来演示推流,首先下载OBS,并安装,然后运行,运行效果如下:  OBS可以推的来源很多,比如:显示器、游戏、视频文件、摄像头等等,具体百度OBS使用教程,这里我就以推一部电影为示例,我们点击左下角“来源”窗口的加号按钮,然后点击“媒体源”,如下:  之后会弹出创建或选择源的对话框,我们在此界面中输入“功夫”两个字,表示这部电影叫功夫,如下:  接下来会出现一个新的对话框,我们点击“浏览”按钮来选择一部电影,如下:  点击“确定”后,电影就出现在OBS上,并且开始播放了,如下:  如上图,电影画面有点小,我们可以拖动红框以调整电影大小,按住电影拖动还可以调整其位置,如下:  到此,我们就设置好了要推流的内容为一部电影,但是推到哪个服务器上呢?这就需要设置一下了,点击右下角的“设置”按钮,然后在设置界面中选择“推流”选项卡,然后在“服务”中选择“自定义…”,然后在“服务器”中填入推流地址:rtmp://localhost:1935/live,在“串流密钥”中填入:home,如下:  其它的设置还有很多,大家可以先不设置,后面有时间来再来慢慢研究各种设置的功能,这里我只将一个比较重要的设置,所有的Android手机设备都支持的音频采样率为44.1kHz,其他的采样率有可能不支持,所以我们可以把采样率设置一下,如下:  其它的我就暂时不设置了,点击“确定”按钮后完成设置并回到主界面,然后再点击右下角的“开始推流”按钮,如下:  OK,到这里,我们的电影《功夫》就通过OBS工具以流的方式不停的推到我们的nginx服务器上,接下来就是从服务器上拉流来看电影了。
四、拉流
- 下载VLC播放器,并安装,然后运行运来,并点击“媒体”菜单,选择“打开网络串流(N)…”,如下:
 点击“网络”选项卡,并输入串流地址:rtmp://localhost/live/home,如下:  如上图,点击“播放”按钮,然后界面加载一会之后就能看到电影画面了,如下:   OK,到这里,RTMP服务器的搭建、以及推流、拉流的到这里就讲完了,如果此文章对你有帮助,可以点个赞并收藏哦!
五、备份
为了预防官方的下载连接失效,这里进行了备份,而且也打包了一个解压即可使用的版本:nginx.zip ,如官方连接失效可从这里下载哦:https://gitee.com/daizhufei/windows-rtmp-server
|