spark-server/internal/bootstrap/media.go
DESKTOP-L8OUL9F\gfl0034 c26d61fd26 feat(media): 镜像装 ffmpeg,并补齐压缩配置与文档
机器人视频压缩依赖 ffmpeg;补 MediaCompressOptions、广场机器人说明与当日变动清单。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-24 23:53:56 +08:00

28 lines
825 B
Go

package bootstrap
import (
"spark-server/internal/pkg/media"
)
// MediaPolicy builds the shared user-check / bot-compress limits from config.
func MediaPolicy(cfg MediaConfig) media.Policy {
return media.Policy{
Enabled: cfg.Enabled,
UserReject: cfg.UserReject,
Limits: media.Limits{
ImageMaxEdge: cfg.ImageMaxEdge,
VideoMaxEdge: cfg.VideoMaxEdge,
AvatarMaxEdge: cfg.AvatarMaxEdge,
ImageMaxBytes: cfg.ImageMaxBytes,
VideoMaxBytes: cfg.VideoMaxBytes,
AvatarMaxBytes: cfg.AvatarMaxBytes,
}.Normalize(),
}
}
// MediaCompressOptions returns limits + encoder settings for bot compressors.
func MediaCompressOptions(cfg MediaConfig) (lim media.Limits, jpegQuality, videoCRF int, ffmpegPath string) {
p := MediaPolicy(cfg)
return p.Limits, cfg.JPEGQuality, cfg.VideoCRF, cfg.FFmpegPath
}