custom postprocessors overrite built-in ones, and writethumbnail can be set to false (closes #245, closes #246)

pull/249/head
Alex Shnitman 2023-04-11 19:44:02 +03:00
parent 26112c39cc
commit 5b8504ec49
1 changed files with 8 additions and 8 deletions

View File

@ -58,26 +58,26 @@ def get_opts(format: str, quality: str, ytdl_opts: dict) -> dict:
opts = copy.deepcopy(ytdl_opts)
if "postprocessors" not in opts:
opts["postprocessors"] = []
postprocessors = []
if format in AUDIO_FORMATS:
opts["postprocessors"].append({
postprocessors.append({
"key": "FFmpegExtractAudio",
"preferredcodec": format,
"preferredquality": 0 if quality == "best" else quality,
})
#Audio formats without thumbnail
if format not in ("wav"):
if format not in ("wav") and "writethumbnail" not in opts:
opts["writethumbnail"] = True
opts["postprocessors"].append({"key": "FFmpegThumbnailsConvertor", "format": "jpg", "when": "before_dl"})
opts["postprocessors"].append({"key": "FFmpegMetadata"})
opts["postprocessors"].append({"key": "EmbedThumbnail"})
postprocessors.append({"key": "FFmpegThumbnailsConvertor", "format": "jpg", "when": "before_dl"})
postprocessors.append({"key": "FFmpegMetadata"})
postprocessors.append({"key": "EmbedThumbnail"})
if format == "thumbnail":
opts["skip_download"] = True
opts["writethumbnail"] = True
opts["postprocessors"].append({"key": "FFmpegThumbnailsConvertor", "format": "jpg", "when": "before_dl"})
postprocessors.append({"key": "FFmpegThumbnailsConvertor", "format": "jpg", "when": "before_dl"})
opts["postprocessors"] = postprocessors + (opts["postprocessors"] if "postprocessors" in opts else [])
return opts