fix: 添加到导出目录

This commit is contained in:
ymm 2025-02-19 20:12:50 +08:00
parent 711fef9fa4
commit 919a40893e
1 changed files with 17 additions and 5 deletions

View File

@ -323,7 +323,7 @@ class VodToLocalNode:
return {
"required": {
"file_id": ("STRING", {"default": ""}),
"sub_app_id": ("INT", {"default": 0}),
"sub_app_id": ("STRING", {"default": ""}),
}
}
@ -342,7 +342,7 @@ class VodToLocalNode:
try:
req = models.DescribeMediaInfosRequest()
req.FileIds = [file_id]
req.SubAppId = sub_app_id
req.SubAppId = int(sub_app_id)
resp = self.vod_client.DescribeMediaInfos(req)
if not resp.MediaInfoSet:
@ -356,6 +356,14 @@ class VodToLocalNode:
except Exception as e:
raise RuntimeError(f"Tencent API error: {e}")
def create_directory(self, path):
p = Path(path)
if not p.exists():
p.mkdir(parents=True, exist_ok=True) # parents=True会自动创建所有必需的父目录exist_ok=True表示如果目录已存在则不会引发异常
print(f"目录已创建: {path}")
else:
print(f"目录已存在: {path}")
def download_vod(self, file_id, sub_app_id):
"""
需要补充腾讯云VOD SDK调用逻辑
@ -363,7 +371,8 @@ class VodToLocalNode:
"""
media_url = self._get_download_url(file_id=file_id, sub_app_id=sub_app_id)
# 生成一个临时目录路径名并创建该目录
output_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "download", f"{file_id}.mp4" )
self.create_directory(os.path.join(os.path.dirname(os.path.abspath(__file__)), "download", f"{sub_app_id}"))
output_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "download", f"{sub_app_id}", f"{file_id}.mp4" )
return self._download_file(url=media_url, output_dir=output_dir, file_id=file_id, timeout=60 * 10)
def _download_file(self, url, output_dir, file_id, timeout=30):
@ -393,7 +402,8 @@ NODE_CLASS_MAPPINGS = {
"FaceExtract": FaceExtract,
"COSUpload": COSUpload,
"COSDownload": COSDownload,
"VideoCutCustom": VideoCut
"VideoCutCustom": VideoCut,
"VodToLocal": VodToLocalNode
}
# A dictionary that contains the friendly/humanly readable titles for the nodes
@ -402,5 +412,7 @@ NODE_DISPLAY_NAME_MAPPINGS = {
"FaceExtract": "面部提取",
"COSUpload": "COS上传",
"COSDownload": "COS下载",
"VideoCutCustom": "视频剪裁"
"VideoCutCustom": "视频剪裁",
"VodToLocal": "腾讯云VOD下载"
}