# 变更:修复 DashScope 本地视频文件路径格式问题 ## 原因 当前实现尝试使用本地文件路径调用 DashScope API,但 API 返回错误:"The provided URL does not appear to be valid. Ensure it is correctly formatted." 根据 DashScope 官方文档示例,应该使用 `file://` 格式的本地文件路径: ```python local_path = "xxx/test.mp4" # 绝对路径字符串 video_path = f"file://{local_path}" ``` 当前代码虽然尝试了两种方式(直接路径和 file:// 格式),但都失败了。问题可能在于: 1. `file://` 格式的路径构造不正确(在 macOS/Linux 上应该是 `file://` 而不是 `file:///`) 2. 路径中的特殊字符(如空格)没有进行 URL 编码 3. 路径格式不完全符合 DashScope SDK 的要求 需要严格按照官方文档示例实现,确保本地视频文件能够正确传递给 DashScope API。 ## 变更内容 - 修改 `DashScopeService.analyze_video` 方法,严格按照 DashScope 文档示例使用 `file://{absolute_path}` 格式 - 确保路径格式正确:使用绝对路径字符串,然后添加 `file://` 前缀 - 处理路径中的特殊字符,确保路径格式符合 URL 规范 - 修改 `DashScopeService.compare_videos` 方法,使用相同的路径格式 - 移除不必要的回退逻辑,直接使用正确的格式 - 添加路径格式验证和错误处理 ## 影响 - 受影响的规范:`specs/video-analysis/spec.md` - 需要更新视频分析实现要求 - 受影响的代码: - `app/services/dashscope_service.py` - 修改视频路径格式处理逻辑 - 修复后视频分析、总结和对比功能可以正常工作 - 不影响视频上传和其他功能