fix(downloaders): 修复 Youtube 下载报错问题理

- 优化了临时文件清理逻辑,删除以指定文件名开头的所有相关文件
This commit is contained in:
Jefferyhcool
2025-04-15 00:16:03 +08:00
parent e3d41d9514
commit 7bf31ad16e
3 changed files with 9 additions and 9 deletions

View File

@@ -27,13 +27,6 @@ class DouyinDownloader(Downloader, ABC):
ydl_opts = {
'format': 'bestaudio[ext=m4a]/bestaudio/best',
'outtmpl': output_path,
'postprocessors': [
{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '64',
}
],
'noplaylist': True,
'quiet': False,
}
@@ -44,7 +37,7 @@ class DouyinDownloader(Downloader, ABC):
title = info.get("title")
duration = info.get("duration", 0)
cover_url = info.get("thumbnail")
audio_path = os.path.join(output_dir, f"{video_id}.mp3")
audio_path = os.path.join(output_dir, f"{video_id}.m4a")
return AudioDownloadResult(
file_path=audio_path,

View File

@@ -42,7 +42,7 @@ class YoutubeDownloader(Downloader, ABC):
title = info.get("title")
duration = info.get("duration", 0)
cover_url = info.get("thumbnail")
audio_path = os.path.join(output_dir, f"{video_id}.mp3")
audio_path = os.path.join(output_dir, f"{video_id}.m4a")
return AudioDownloadResult(
file_path=audio_path,

View File

@@ -4,6 +4,13 @@ logger = get_logger(__name__)
def cleanup_temp_files(data):
logger.info(f"starting cleanup temp files {data['file_path']}")
# 获取名称
path=data['file_path']
name=path[:-4]
# 删除以这个文件开头的
for file in os.listdir(os.path.dirname(path)):
if file.startswith(name):
os.remove(os.path.join(os.path.dirname(path), file))
os.remove(data['file_path'])
# 检查是否删除文件
if os.path.exists(data['file_path']):