# 服务器基本配置 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