WebRtsp/config.yaml
2025-12-09 17:31:21 +08:00

89 lines
3.2 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 服务器基本配置
server:
port: ":8080" # HTTP 服务器监听端口
read_timeout: 10s # HTTP 请求读取超时时间,建议 10-30 秒
write_timeout: 5s # HTTP 响应写入超时时间,建议 5-15 秒
max_header_bytes: 1048576 # HTTP 请求头最大字节数1MB防止头部攻击
# FFmpeg 转码配置
ffmpeg:
max_concurrent_streams: 10 # 最大并发流数量,根据服务器性能调整
preset: "medium" # 编码速度预设可选ultrafast, superfast, veryfast, faster, fast, medium
# ultrafast: 最低延迟,较低质量
# veryfast: 推荐值,平衡延迟和质量
# medium: 更好的质量,但延迟更高
bitrate: "2000k" # 视频码率,影响画质和带宽使用
# 1080p 建议 2000k-4000k
# 720p 建议 1500k-2500k
maxrate: "3000k" # 最大码率,建议设置为 bitrate 的 1.25-1.5 倍
buffer_size: "4000k" # 编码器缓冲区大小,建议设置为 bitrate 的 2 倍
# 编码参数
keyint: 60 # 关键帧间隔,影响延迟和定位能力
# 建议值:帧率的 1-2 倍
min_keyint: 60 # 最小关键帧间隔,通常与 keyint 相同
threads: 4 # 编码线程数,建议设置为 CPU 核心数的一半
frame_rate: 25 # 输出帧率常用值24, 25, 30, 60
gop_size: 60 # GOP 大小,建议与 keyint 相同
# 输出分辨率
scale_width: 1920 # 输出视频宽度(像素)
scale_height: 1080 # 输出视频高度(像素)
# 常用分辨率:
# 1080p: 1920x1080
# 720p: 1280x720
# 480p: 854x480
# 重试策略配置
retry:
max_retries: 3 # 连接失败时的最大重试次数
retry_interval: 2s # 重试间隔时间
# Prometheus 监控配置
metrics:
enabled: true # 是否启用 Prometheus 指标收集
path: "/metrics" # Prometheus 指标访问路径
# 缓存配置
cache:
enabled: true # 是否启用缓存
max_size: 1000 # 最大缓存条目数
expire_time: 300s # 缓存过期时间,建议 5-10 分钟
# 针对不同场景的推荐配置:
# 1. 低延迟场景(如实时监控):
# ffmpeg:
# preset: "ultrafast"
# bitrate: "1500k"
# maxrate: "2000k"
# buffer_size: "2000k"
# keyint: 30
# min_keyint: 30
# frame_rate: 30
# scale_width: 854
# scale_height: 480
# 2. 高质量场景(如视频会议):
# ffmpeg:
# preset: "medium"
# bitrate: "4000k"
# maxrate: "5000k"
# buffer_size: "8000k"
# keyint: 60
# min_keyint: 60
# frame_rate: 30
# scale_width: 1920
# scale_height: 1080
# 3. 资源受限场景(如低配置服务器):
# ffmpeg:
# max_concurrent_streams: 5
# preset: "ultrafast"
# bitrate: "1000k"
# maxrate: "1500k"
# buffer_size: "2000k"
# threads: 2
# frame_rate: 25
# scale_width: 854
# scale_height: 480