开源直播服务器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