# 开源直播服务器OSSRS

#### OSSRS

SRS(Simple Realtime Server)是一个简单高效的实时视频服务器，支持RTMP、WebRTC、HLS、HTTP-FLV、SRT等多种实时流媒体协议。



官方地址：ossrs.ne

#### docker-compose.yaml

```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

```
#### 服务器自动保留录像


```yaml


# 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://iovhm.com/book/books/ffmpegopencv/page/ffmpeg](https://iovhm.com/book/books/pythonffmpegopencv/page/ffmpeg)

```
# 命令行基本用法
# ffmpeg <全局参数> <输入参数> -i <输入文件> <输出参数> <输出文件>
```
```
# 从一个源转换到另外一个源
ffmpeg -stream_loop -1  -re -i https://smart.saas.vppark.cn/oss/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播放

```yaml


# 播放地址
https://srs.qq829.cn/live/557254322.flv


```