# Srs-Docker-Compose **Repository Path**: camling/srs-docker-compose ## Basic Information - **Project Name**: Srs-Docker-Compose - **Description**: 可明流媒体。 - **Primary Language**: Docker - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2021-06-22 - **Last Updated**: 2023-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 前提条件 确保本机已安装`docker`、`docker-compose`、`git`。 ## 基本 通过以下三个步骤,即可启动可明流媒体服务。系统默认提取本机内网地址,此操作可能会导致推流地址失效。若需要自定义推流地址,请参考`高级-->3. 编辑application.yml文件`,在文件中配置`Ipv4`地址。 1. 创建基本文件夹 `mkdir -p /home/mysql/data /usr/local/srs/flv` 2. 克隆 `git clone https://gitee.com/camling/srs-docker-compose.git docker-compose` 3. 启动 `cd docker-compose && docker-compose up -d` ## 高级 可明流媒体是支持自定义配置文件,非必须请勿使用。用户可根据实际情况进行配置,配置步骤如下: 1. 创建基本文件夹`&&`文件 ``` mkdir -p /home/mysql/data /usr/local/srs/flv /usr/local/srs/conf \ && touch /usr/local/srs/conf/srs.conf ``` 2. 克隆项目 ``` git clone https://gitee.com/camling/srs-docker-compose.git docker-compose \ && cd docker-compse && touch application.yml ``` 3. 编辑`application.yml`配置文件,添加如下内容 ``` srs: # 推流ip地址,请填写本机外网或内网地址,请根据实际情况填写。默认为:http方式 Ipv4: 192.168.2.167 # 推流ip地址,内网地址。系统默认为空,若为空则使用外网地址。在下个版本即将废弃 Ipv4i: # 推流端口 rtmpPort: 9221 # flv 播放端口 flvPort: 9223 # 一个用户可拥有的流资源个数 streamSize: 1 # 一个用户可拥有的回调地址个数 hookSize: 1 # 请填写 srs-docker 存放录制文件时映射到本地路径 profile: /usr/local/srs/flv # 开发环境配置 server: # 服务器的HTTP端口,默认为8010 port: 8010 ``` 4. 编辑`/usr/local/srs/srs.conf`配置文件,添加如下内容 ``` listen 9221; max_connections 1000; srs_log_tank file; srs_log_file ./objs/srs.log; daemon off; http_api { enabled on; listen 9220; } http_server { enabled on; listen 9223; dir ./objs/nginx/html; } stats { network 0; disk sda sdb xvda xvdb; } vhost __defaultVhost__ { hls { enabled on; } http_remux { enabled on; } dvr { # 是否开启dvr录制 # default: on enabled on; # 配置录制的流,默认录制 live/200_trs,live/201_trs。trs表示转码流,非原始流 dvr_apply live/200_trs live/201_trs; dvr_plan segment; dvr_duration 300; # 录制的时长,单位:s dvr_path ./objs/flv/[app]/[stream].[timestamp].flv; } transcode { # 是否开启转码,默认on enabled on; ffmpeg ./objs/ffmpeg/bin/ffmpeg; engine trs { enabled on; vfilter { vf 'drawtext=fontfile=/usr/local/srs/font-blod.ttf:text=%{localtime}:box=1:boxborderw=3:boxcolor=black:fontcolor=white:fontsize=30:x=25:y=25'; # 字幕位置:fontsize:字体大小;x:字幕距左上角横坐标,单位px;y:字幕距左上角纵坐标,单位px } vcodec libx264; vthreads 4; vprofile main; vpreset medium; vparams { } acodec libfdk_aac; aparams { } output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; } } # HttpCalback http_hooks { # 是否开启回调,默认on,不建议修改 enabled on; on_connect http://srs-web:8010/hooks; on_close http://srs-web:8010/hooks; on_publish http://srs-web:8010/hooks; on_unpublish http://srs-web:8010/hooks; on_play http://srs-web:8010/hooks; on_stop http://srs-web:8010/hooks; on_dvr http://srs-web:8010/hooks; on_hls http://srs-web:8010/hooks; } } ``` 5. 编辑`docker-compose`,将`17`行和`40`行解注 ![[Pasted image 20210622153608.png]] 6. 构建 ``` docker-compose up -d ``` #### 注意:录制的文件在`srs`中存储时长为`7`天,过期自动删除,请尽快下载