Add M4A backend support.
This commit is contained in:
parent
b9dde5f794
commit
821451b301
|
|
@ -23,14 +23,13 @@ def get_format(format: str, quality: str) -> str:
|
||||||
# Quality is irrelevant in this case since we skip the download
|
# Quality is irrelevant in this case since we skip the download
|
||||||
return "bestaudio/best"
|
return "bestaudio/best"
|
||||||
|
|
||||||
if format == "mp3":
|
if format in ("m4a", "mp3"):
|
||||||
# Audio quality needs to be set post-download, set in opts
|
# Audio quality needs to be set post-download, set in opts
|
||||||
return "bestaudio/best"
|
return "bestaudio/best"
|
||||||
|
|
||||||
if format in ("mp4", "any"):
|
if format in ("mp4", "any"):
|
||||||
if quality == "audio":
|
if quality == "audio":
|
||||||
return "bestaudio/best"
|
return "bestaudio/best"
|
||||||
|
|
||||||
# video {res} {vfmt} + audio {afmt} {res} {vfmt}
|
# video {res} {vfmt} + audio {afmt} {res} {vfmt}
|
||||||
vfmt, afmt = ("[ext=mp4]", "[ext=m4a]") if format == "mp4" else ("", "")
|
vfmt, afmt = ("[ext=mp4]", "[ext=m4a]") if format == "mp4" else ("", "")
|
||||||
vres = f"[height<={quality}]" if quality != "best" else ""
|
vres = f"[height<={quality}]" if quality != "best" else ""
|
||||||
|
|
@ -60,12 +59,13 @@ def get_opts(format: str, quality: str, ytdl_opts: dict) -> dict:
|
||||||
if "postprocessors" not in opts:
|
if "postprocessors" not in opts:
|
||||||
opts["postprocessors"] = []
|
opts["postprocessors"] = []
|
||||||
|
|
||||||
if format == "mp3":
|
if format in ("m4a", "mp3"):
|
||||||
opts["postprocessors"].append({
|
opts["postprocessors"].append({
|
||||||
"key": "FFmpegExtractAudio",
|
"key": "FFmpegExtractAudio",
|
||||||
"preferredcodec": "mp3",
|
"preferredcodec": format,
|
||||||
"preferredquality": 0 if quality == "best" else quality,
|
"preferredquality": 0 if quality == "best" else quality,
|
||||||
})
|
})
|
||||||
|
|
||||||
opts["writethumbnail"] = True
|
opts["writethumbnail"] = True
|
||||||
opts["postprocessors"].append({"key": "FFmpegThumbnailsConvertor", "format": "jpg", "when": "before_dl"})
|
opts["postprocessors"].append({"key": "FFmpegThumbnailsConvertor", "format": "jpg", "when": "before_dl"})
|
||||||
opts["postprocessors"].append({"key": "FFmpegMetadata"})
|
opts["postprocessors"].append({"key": "FFmpegMetadata"})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue