美文网首页
搭建本地 nginx 推流服务器

搭建本地 nginx 推流服务器

作者: 黑暗森林的歌者 | 来源:发表于2017-11-27 14:14 被阅读390次

安装nginx+rtmp

使用 homebrew 安装,先 clone nginx 到本地

brew tap homebrew/nginx

执行安装命令

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

安装完成后使用 nginx 命令,检查是否安装成功

nginx

在浏览器里打开http://localhost:8080 ,如果出现下图, 则表示安装成功

nginx 启动成功

如果终端显示 下面这些

nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:1935 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:1935 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:1935 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:1935 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:1935 failed (48: Address already in use)
nginx: [emerg] still could not bind()

则表示端口被占用了
使用命令lsof -i tcp:8080
查看端口PID

端口被占用

kill 掉 15484

然后重新启动
nginx

打开http://localhost:8080验证 。

配置nginx和ramp

查看 nginx 的安装位置

brew info nginx-full
安装位置

打开这个路径下的 nginx.conf

在http节点后面加上rtmp配置

rtmp {
   server {
        listen 1935; 
        application rtmplive { 
              live on; 
             record off; 
        } 
    }
}

重启 nginx

/usr/local/Cellar/nginx-full/1.10.1/bin/nginx -s reload

其中的1.10.1要换成你自己安装的nginx版本号, 查看版本号用 nginx -v 命令即可

使用 ffmpeg 推流

安装 ffmpeg

brew install ffmpeg

安装支持 rtmp 协议的播放器

VLC 或者 IINA

我在文稿中放了一个本地 MP4 视频,将这个视频推流到服务器

ffmpeg -re -i /Users/sunlin/Documents/rtmplive.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/rtmplive/room

打开播放器,在播放 URL 的输入框输入 rtmp://localhost:1935/rtmplive/room

就能播放这个推流的视频了。



我们的 APP 推流使用的是阿里云视频的推流服务,具体的使用看官方的文档就很清晰了

阿里云视频

相关文章

网友评论

      本文标题:搭建本地 nginx 推流服务器

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