修复url字典错误
This commit is contained in:
parent
67b78ec361
commit
b84ade2b65
19
Qwen_app.py
19
Qwen_app.py
|
|
@ -332,19 +332,30 @@ def get_vid_dict(vid_dir: str, obj_dict: dict, video_url_file: str, use_url_cach
|
||||||
if os.path.exists(video_url_file):
|
if os.path.exists(video_url_file):
|
||||||
try:
|
try:
|
||||||
with open(video_url_file, "r", encoding="utf-8") as f:
|
with open(video_url_file, "r", encoding="utf-8") as f:
|
||||||
vid_dict = json.load(f)
|
loaded_data = json.load(f)
|
||||||
|
# 验证数据结构:确保值是字典且包含必要键
|
||||||
|
for track_id, value in loaded_data.items():
|
||||||
|
if isinstance(value, dict) and "vid_path" in value and "vid_url" in value:
|
||||||
|
vid_dict[track_id] = value
|
||||||
|
else:
|
||||||
|
print(f"跳过无效的视频信息: {track_id} -> {value}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"读取URL文件失败: {e}")
|
print(f"读取URL文件失败: {e}")
|
||||||
|
|
||||||
|
# 初始化未存在的track_id
|
||||||
for track_id in obj_dict.keys():
|
for track_id in obj_dict.keys():
|
||||||
if track_id in vid_dict:
|
if track_id in vid_dict:
|
||||||
continue
|
continue
|
||||||
|
try:
|
||||||
vid_path = f"{vid_dir}/obj_{int(track_id):03d}.mp4"
|
vid_path = f"{vid_dir}/obj_{int(track_id):03d}.mp4"
|
||||||
vid_dict[track_id] = {"vid_path": vid_path, "vid_url": None}
|
vid_dict[track_id] = {"vid_path": vid_path, "vid_url": None}
|
||||||
|
except (ValueError, TypeError):
|
||||||
|
print(f"无效的track_id: {track_id},跳过")
|
||||||
|
|
||||||
# 找到未上传的视频
|
# 找到未上传的视频
|
||||||
unuploaded_vids = []
|
unuploaded_vids = []
|
||||||
for track_id, vid_info in vid_dict.items():
|
for track_id, vid_info in vid_dict.items():
|
||||||
if vid_info["vid_url"] is None:
|
if isinstance(vid_info, dict) and vid_info.get("vid_url") is None:
|
||||||
unuploaded_vids.append(vid_info["vid_path"])
|
unuploaded_vids.append(vid_info["vid_path"])
|
||||||
|
|
||||||
# 上传未上传的视频并获取 URL
|
# 上传未上传的视频并获取 URL
|
||||||
|
|
@ -355,8 +366,10 @@ def get_vid_dict(vid_dir: str, obj_dict: dict, video_url_file: str, use_url_cach
|
||||||
|
|
||||||
# 更新视频URL
|
# 更新视频URL
|
||||||
for track_id, vid_info in vid_dict.items():
|
for track_id, vid_info in vid_dict.items():
|
||||||
if vid_info["vid_url"] is None:
|
if isinstance(vid_info, dict) and vid_info.get("vid_url") is None:
|
||||||
|
if vid_info["vid_path"] in unuploaded_vids:
|
||||||
idx = unuploaded_vids.index(vid_info["vid_path"])
|
idx = unuploaded_vids.index(vid_info["vid_path"])
|
||||||
|
if idx < len(uploaded_urls):
|
||||||
vid_info["vid_url"] = uploaded_urls[idx]
|
vid_info["vid_url"] = uploaded_urls[idx]
|
||||||
|
|
||||||
# 保存字典为 JSON 文件
|
# 保存字典为 JSON 文件
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue