• 运用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和配置的时间。
    最终效果

  • 相关阅读:
    java中getResourceAsStream的问题 缓存
    springside 查询条件
    如何修改MySQL数据库引擎为INNODB
    获取用户真实 IP , 淘宝IP接口获得ip地理位置
    hibernate注解的CascadeType属性
    AssignmentHandler实现类用spring注入
    使用 jQuery dataTables
    转载:一致性 hash 算法( consistent hashing )
    转载:memcached完全剖析
    转载:连接MySQL数据库的两种方式介绍
  • 原文地址:https://www.cnblogs.com/tremb1e/p/14583289.html
Copyright © 2020-2023  润新知