2020年疫情在家,苦于不能和朋友们一起出门,就想自己搭建一个rtmp协议的推流直播服务器,可以实现一起语音看个电影之类的功能。
直播推流的大致流程是:本地推流至服务器,然后其他终端解析rtmp协议链接,即可观看直播。
需要条件:
第一步:服务器docker安装
sudo apt-get install docker.io
使用如下命令查看docker服务是否启动。
systemctl status docker
第二步:下载启动docker镜像(翻墙后下载速度会快很多)
这里使用tiangolo/nginx-rtmp 镜像来搭建推流服务器。
sudo docker pull tiangolo/nginx-rtmp
下载完成后启动镜像。
sudo docker run -d -p 1935:1935 --name nginx-rtmp tiangolo/nginx-rtmp
第三步:使用OBS推流
官方文档的方法是:
In the “URL” enter the rtmp://<ip_of_host>/live replacing <ip_of_host> with the IP of the host in which the container is running. For example: rtmp://192.168.0.30/live
在OBS设置中点击“推流”,服务选择“自定义”,服务器填“rtmp://<ip_of_host>/live”。
这里我的域名已经绑定了这个服务器,直接使用即可。
点击开始推流后出现以下画面即为成功。
记得打开服务器的防火墙!
记得打开服务器的防火墙!
记得打开服务器的防火墙!
第四步:使用VLC或PotPlayer观看流
这里以PotPlayer举例,右键点击“添加&编辑”,再选择“添加链接”
输入刚才在OBS中的推流地址,点击确定
我们打开新添加的live,能看到我们使用OBS画面,正在放扎克·施奈德版的正义联盟。
自此,完成了推流直播服务器的建立,并且省去了编译nginx和配置的时间。