89 lines
3.2 KiB
YAML
89 lines
3.2 KiB
YAML
# 服务器基本配置
|
||
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 |