- Replace fixed 5-8 keyframe limit with duration-based adaptive sizing - Candidate frames: clamp(duration_min × 2, 30, 120) - Keyframe cap: clamp(duration / 150s, 8, 30) - 30min video → 12 keyframes (was 8), 60min → 24, 120min → 30 - Short videos (<12min) still get floor of 8 keyframes - Add Ollama keep-alive config doc to PROGRESS.md (OLLAMA_KEEP_ALIVE=-1) - Update config.yaml and config.yaml.example with new video params
81 lines
2.4 KiB
Plaintext
81 lines
2.4 KiB
Plaintext
# FAM-Edge 配置文件 (Oracle 端)
|
||
# 复制此文件为 config.yaml 并修改实际值
|
||
|
||
# NAS 端回调地址
|
||
nas:
|
||
webhook_url: "http://100.x.x.10:8000/api/core/callback/event"
|
||
media_base_url: "http://100.x.x.10:8000/media"
|
||
media_token: "xxx"
|
||
|
||
# Oracle 端服务
|
||
server:
|
||
host: "0.0.0.0"
|
||
port: 5000
|
||
max_concurrent_tasks: 1
|
||
|
||
# 关键帧筛选参数(自适应:帧数随视频时长动态计算)
|
||
video:
|
||
candidate_per_minute: 2 # 每分钟粗抽候选帧数
|
||
candidate_min: 30 # 候选帧下限(短视频保底)
|
||
candidate_max: 120 # 候选帧上限(超长视频截断)
|
||
key_frame_interval_sec: 150 # 关键帧间隔(秒),每2.5分钟1张
|
||
min_key_frames: 5 # 关键帧下限(帧差不足时补足到此数)
|
||
max_key_frames_floor: 8 # 关键帧上限的下限(短视频保底)
|
||
max_key_frames_cap: 30 # 关键帧上限(超长视频截断)
|
||
mse_threshold: 500 # 帧差阈值
|
||
jpeg_quality: 80
|
||
max_long_edge: 1024
|
||
|
||
# 超时(秒)
|
||
timeout:
|
||
download: 60
|
||
vlm_visual: 240 # 单模型视觉分析超时
|
||
vlm_fusion: 120
|
||
callback: 30
|
||
overall: 600
|
||
|
||
# 模型清单(可扩展,新增模型只需在此数组加一项 + 实现适配器)
|
||
models:
|
||
- provider: "ollama"
|
||
enabled: true
|
||
model_name: "llava-phi3"
|
||
base_url: "http://localhost:11434"
|
||
timeout: 240
|
||
num_predict: 500 # 最大生成 token 数(ARM 上建议限制以控制延迟)
|
||
circuit_breaker:
|
||
enabled: false # 本地模型不启用熔断
|
||
threshold: 5
|
||
cooldown: 900
|
||
|
||
- provider: "gemini"
|
||
enabled: true
|
||
model_name: "gemini-1.5-flash"
|
||
api_key: "${GEMINI_API_KEY}" # 从环境变量读取
|
||
timeout: 8
|
||
circuit_breaker:
|
||
enabled: true
|
||
threshold: 5
|
||
cooldown: 900
|
||
|
||
# v1.1 扩展示例(取消注释并填入 API Key 即启用)
|
||
# - provider: "openai"
|
||
# enabled: false
|
||
# model_name: "gpt-4o"
|
||
# api_key: "${OPENAI_API_KEY}"
|
||
# timeout: 30
|
||
# circuit_breaker:
|
||
# enabled: true
|
||
# threshold: 5
|
||
# cooldown: 900
|
||
|
||
# - provider: "nvidia"
|
||
# enabled: false
|
||
# model_name: "nvidia/llama-3.1-nemotron-70b-instruct"
|
||
# api_key: "${NVIDIA_API_KEY}"
|
||
# base_url: "https://integrate.api.nvidia.com/v1"
|
||
# timeout: 30
|
||
# circuit_breaker:
|
||
# enabled: true
|
||
# threshold: 5
|
||
# cooldown: 900
|