通过SRS实现在线直播

本文最后更新于 almost 2 years ago,文中所描述的信息可能已发生改变。

Dcoker Compose封装SRS-docker

1.Docker指令→制作Docker-compose

什么是docker-compose?

什么是SRS?


bash
docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \
    registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4 ./objs/srs -c conf/docker.conf
  • 可以看到,镜像采用了阿里的地址:registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4
  • 端口开了三个:1935,1985,8080 由此可以直接写出一份docker-compose.yaml
yaml
version: '3'
services:
  ossrs:
    image: registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4
    ports:
      - 1985:1985
      - 8080:8080
      - 1935:1935
    container_name: srs
    restart: always
    hostname: srs
  1. 进入root目录:cd /root
  2. 创建docker文件夹:mkdir docker
  3. 进入docker文件夹:cd docker/
  4. 创建srs文件夹:mkdir srs
  5. 进入srs文件夹:cd srs/
  6. 创建dockercompose文件:touch docker-compose.yaml
  7. 写入模板内容:vim docker-compose.yaml
    1. 点击i进入插入
    2. 在Xshell终端进行粘贴
    3. 点击Esc,输入:wq,保存退出

2.使用docker-compose来启用容器

  1. 进入srs的docker-compose模板文件目录下
  2. 在yaml文件目录下执行docker-compose up -d即可开启docker-compose
  3. 输入docker-compose ps来查看容器模板是否正常启动
    bash
    NAME                COMMAND                  SERVICE             STATUS              PORTS
    srs                 "./objs/srs -c conf/…"   ossrs               running             0.0.0.0:1935->1935/tcp, :::1935->1935/tcp, 0.0.0.0:1985->1985/tcp, :::1985->1985/tcp, 8000/udp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 10080/udp
  4. 输入docker ps来查看容器是否运行
    bash
    CONTAINER ID   IMAGE                                           COMMAND                  CREATED      STATUS        PORTS                                                                                                                                                  NAMES                                                                                                   "docker-entrypoint.s…"   2 days ago   Up 26 hours   3306/tcp                                                                                                                                               nextcloud-db-1
    2c030381a45b   registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4   "./objs/srs -c conf/…"   2 days ago   Up 26 hours   0.0.0.0:1935->1935/tcp, :::1935->1935/tcp, 0.0.0.0:1985->1985/tcp, :::1985->1985/tcp, 8000/udp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 10080/udp   srs

3.进入Web界面进行推流和在线查看

$IP:8080代表当前IP地址:指定的端口,$IP是会变动的

  1. 进入http://$IP:8080/,可以看到简洁的SRS描述:rtmp://$IP/live/livestream
  2. 打开OBS下载地址
  3. OBS中添加屏幕录像到场景的画布,在设置-推流中,服务器填写rtmp://$IP:8080/live/livestream,串流密钥填写stream,应用退出,然后在主页开始推流
  4. 随后就可以通过http://$IP:8080控制台视频流预览来进行管理和观看直播了!
CentOS7安装配置docker
Java学习-String