feat(video): 新增按时间间隔抽帧模式

增加了按时间间隔提取视频帧的新模式,与原有的固定总帧数模式并存。用户现在可以通过配置文件选择最适合其需求的抽帧方式。

- 新增 `frame_extraction_mode` 配置项,可选值为 "fixed_number" (固定总帧数) 或 "time_interval" (按时间间隔)。
- 新增 `frame_interval_seconds` 配置项,用于指定时间间隔模式下的抽帧秒数。
- `max_frames` 配置项现在仅在 "fixed_number" 模式下生效。
- 更新了 `VideoAnalyzer` 类以支持两种抽帧逻辑,并从配置中读取新参数。
- 相应地更新了配置文件模板 `bot_config_template.toml`。
This commit is contained in:
tt-P607
2025-08-25 01:21:50 +08:00
parent 702112fdc4
commit d34467abc5
3 changed files with 61 additions and 18 deletions

View File

@@ -1,5 +1,5 @@
[inner]
version = "6.4.3"
version = "6.4.4"
#----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
#如果你想要修改配置文件请递增version的值
@@ -373,7 +373,9 @@ enable_friend_chat = false # 是否启用好友聊天
[video_analysis] # 视频分析配置
enable = true # 是否启用视频分析功能
analysis_mode = "batch_frames" # 分析模式:"frame_by_frame"(逐帧分析,非常慢 "建议frames大于8时不要使用这个" ...但是详细)、"batch_frames"(批量分析,快但可能略简单 -其实效果也差不多)或 "auto"(自动选择)
max_frames = 16 # 最大分析帧数
frame_extraction_mode = "fixed_number" # 抽帧模式: "fixed_number" (固定总帧数) 或 "time_interval" (按时间间隔)
frame_interval_seconds = 2.0 # 按时间间隔抽帧的秒数(仅在 mode = "time_interval" 时生效)
max_frames = 16 # 最大分析帧数(仅在 mode = "fixed_number" 时生效)
frame_quality = 80 # 帧图像JPEG质量 (1-100)
max_image_size = 800 # 单帧最大图像尺寸(像素)
enable_frame_timing = true # 是否在分析中包含帧的时间信息