跳转到主要内容

开源直播服务器OSSRS

OSSRS

SRS(Simple Realtime Server)是一个简单高效的实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT等多种实时流媒体协议。

官方地址:ossrs.ne

docker-compose.yaml

version: '3'
services:
  ossrs:
    image: registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5
    ports:
      - 1935:1935 # RTMP推流端口
      - 1985:1985 # HTTP API 端口
      - 8080:8080 # 内置NGINX端口,可以用于http观看flv  
    volumes:
      - ./conf/docker.conf:/usr/local/srs/conf/docker.conf:ro
    command: ./objs/srs -c conf/docker.conf

服务器自动保留录像

# conf/docker.conf

    dvr {
        enabled      on;
        dvr_path     ./objs/nginx/html/dvr/[app]/[stream].[timestamp].mp4;
        dvr_plan     segment;
        # 按时间段分割,单位为秒
        dvr_duration    300;
        # 等待关键帧,如果为off可能导致启动播放时花屏
        dvr_wait_keyframe       on;
    }

使用FFMPEG推流

使用ffmpeg命令行: https://qq829.cn/book/books/ffmpegopencv/page/ffmpeg

# 命令行基本用法
# ffmpeg <全局参数> <输入参数> -i <输入文件> <输出参数> <输出文件>
# 从一个源转换到另外一个源
ffmpeg -re -i https://qq829.cn/uploads/20221204/1.mp4 -vcodec libx264  -f flv rtmp://srs-push.qq829.cn:31935/live/557254322

# 桌面截图
ffmpeg -r 8 -f "gdigrab" -i "desktop" -vcodec libx264  -f flv rtmp://srs-push.qq829.cn:31935/live/557254322

使用vlc播放

# 播放地址
https://srs.qq829.cn/live/557254322.flv