1.7 KiB
1.7 KiB
变更:修复 DashScope 本地视频文件路径格式问题
原因
当前实现尝试使用本地文件路径调用 DashScope API,但 API 返回错误:"The provided URL does not appear to be valid. Ensure it is correctly formatted."
根据 DashScope 官方文档示例,应该使用 file:// 格式的本地文件路径:
local_path = "xxx/test.mp4" # 绝对路径字符串
video_path = f"file://{local_path}"
当前代码虽然尝试了两种方式(直接路径和 file:// 格式),但都失败了。问题可能在于:
file://格式的路径构造不正确(在 macOS/Linux 上应该是file://而不是file:///)- 路径中的特殊字符(如空格)没有进行 URL 编码
- 路径格式不完全符合 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- 修改视频路径格式处理逻辑
- 修复后视频分析、总结和对比功能可以正常工作
- 不影响视频上传和其他功能