美文网首页
Mac自己搭建RTMP过程

Mac自己搭建RTMP过程

作者: 法克君 | 来源:发表于2017-11-02 15:22 被阅读40次

最近APP需要加入一个播放RTMP格式视频流的功能,因为硬件那边不能时时的推流,所以需要自己在Mac上自己搭建一个RTMP服务器,所以就百度了一些文章,最后搭建成功了,并且能够正常运行。现在来记录下我在搭建过程中出现的问题。希望以后可以少走弯路。

废话不多说,下面是具体的实现过程

1、先安装Homebrew

Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等功能。简单的一条命令就可以实现包管理,而不用担心各种依赖和文件路径的情况,十分方便。

安装Homebrew命令

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

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

2、安装Nginx服务器
增加Nginx的扩展

brew tap homebrew/nginx

3、安装Nginx服务器和RTMP模块

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

在这一步中,我们会得到关于Nginx的相关信息:

#nginx的安装位置
/usr/local/Cellar/nginx-full/1.12.2/bin/nginx  //这里1.12.2是相应的版本,根据实际情况在变动
#nginx配置文件所在位置
/usr/local/etc/nginx/nginx.conf
#nginx服务器根目录所在位置 
 /usr/local/var/www

还会得到相应的Nginx操作,reload,reopen,stop,quit

- Tips -
Run port 80:
 $ sudo chown root:wheel /usr/local/opt/nginx-full/bin/nginx
 $ sudo chmod u+s /usr/local/opt/nginx-full/bin/nginx
Reload config:
 $ nginx -s reload
Reopen Logfile:
 $ nginx -s reopen
Stop process:
 $ nginx -s stop
Waiting on exit process
 $ nginx -s quit

4、通过下面命令,查看Nginx的信息

brew info nginx-full

这时在浏览器中输入http://localhost:8080
如果看到如下截图的内容,那么就安装成功了

成功.png

5、配置RTMP
我们需要在Nginx的配置文件中进行数据修改

open /usr/local/etc/nginx

打开路径下的nginx文件夹,然后找到nginx.conf这个文件,右键用Xcode打开。在底部添加代码

rtmp {                                                   //协议名称
    server {                                             //说明内部中是服务器相关配置
        listen 1935;                                     //监听的端口号, rtmp协议的默认端口号是1935
        application zbcs {                               //访问的应用路径是 zbcs
            live on;                                     //开启实时
            record off;                                  //不记录数据
        }    
    }
}

如果在HTTP节点下面这些代码,那么就将listen后面的数字改成1935,application后面改成zbcs。
关闭文件,执行下面命令!!!!!
关闭文件,执行下面命令!!!!!
关闭文件,执行下面命令!!!!!

nginx -s reload      //这一步必须执行,重启Nginx

****在执行这里时我遇到了一个问题,终端中一直提示我下面的信息****

nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)

提示nginx.pid丢失,这里的具体原因我没有找到,但是百度和google后找到了解决办法,就是在终端中输入Nginx的安装位置 -c Nginx配置文件所在的位置,如果执行后没有任何提示证明就成功了,在我电脑中的执行操作是这样的

/usr/local/Cellar/nginx-full/1.12.2/bin/nginx -c /usr/local/etc/nginx/nginx.conf

之后再执行nginx -s reload命令就没问题了,不会再提示任何信息
6、安装ffmpeg工具

brew install ffmpeg

安装过程入下图

安装ffmpeg工具.png

7、如果安装完成后,就可以找一个mp4格式的视频进行推流了
有一点需要注意,路径必须是视频文件的绝对路径
有一点需要注意,路径必须是视频文件的绝对路径
有一点需要注意,路径必须是视频文件的绝对路径
/users/lover/desktop/文件名

ffmpeg -re -i  /users/lover/desktop/Demo.mp4 -vcodec copy -f flv rtmp://localhost:1935/zbcs/PlugFlowTest

PlugFlowTest这个名字可以随意设置
执行后,电脑就作为一个推流工具在运行了。
如果想看效果,可以打开VLC这个播放工具,然后file--open network---输入rtmp://localhost:1935/zbcs/PlugFlowTest
完成。
如果出现其他问题,欢迎一起讨论,关于前面说的几个没有弄明白的问题,如果找到答案,我会时时的更新。

出现的问题:
1、Connection to tcp://localhost:1935 failed (Connection refused), trying next address
出现这个错误是因为,配置了nginx.conf后需要重启nginx,输入这一行命令就可以了

nginx -s reload

--------------------------------------分割线----------------------------------------
最后,参考了大神的文章:http://www.cnblogs.com/jys509/p/5649066.html
感谢

相关文章

网友评论

      本文标题:Mac自己搭建RTMP过程

      本文链接:https://www.haomeiwen.com/subject/cbwopxtx.html