运用docker来建立rtmp协议推流直播服务器

  2020年疫情在家,苦于不能和朋友们一起出门,就想自己搭建一个rtmp协议的推流直播服务器,可以实现一起语音看个电影之类的功能。

  直播推流的大致流程是:本地推流至服务器,然后其他终端解析rtmp协议链接,即可观看直播。

需要条件:
  • 一台Linux公网服务器

第一步:服务器docker安装

sudo apt-get install docker.io

安装docker服务
  使用如下命令查看docker服务是否启动。

systemctl status docker

检查docker服务是否启动

第二步:下载启动docker镜像(FQ后下载速度会快很多)

  这里使用tiangolo/nginx-rtmp 镜像来搭建推流服务器。

sudo docker pull tiangolo/nginx-rtmp

下载docker镜像
  下载完成后启动镜像。

sudo docker run -d -p 1935:1935 --name nginx-rtmp tiangolo/nginx-rtmp

启动docker镜像

第三步:使用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”。

  这里我的域名已经绑定了这个服务器,直接使用即可。
OBS设置
  点击开始推流后出现以下画面即为成功。

  记得打开服务器的防火墙!

  记得打开服务器的防火墙!

  记得打开服务器的防火墙!
OBS推流成功

第四步:使用VLC或PotPlayer观看流

  这里以PotPlayer举例,右键点击“添加&编辑”,再选择“添加链接”
PotPlayer添加链接
  输入刚才在OBS中的推流地址,点击确定
PotPlayer输入链接
  我们打开新添加的live,能看到我们使用OBS画面,正在放扎克·施奈德版的正义联盟。

  自此,完成了推流直播服务器的建立,并且省去了编译nginx和配置的时间。
最终效果

posted @ 2021-03-26 17:21  Tremb1e  阅读(1292)  评论(0编辑  收藏  举报