[dl:ytdl] implement explicit HLS/DASH handling
add '_ytdl_manifest' to specify a manifest type to process
This commit is contained in:
@@ -171,6 +171,7 @@ class BehanceGalleryExtractor(BehanceExtractor):
|
||||
url = text.extr(page, '<source src="', '"')
|
||||
if text.ext_from_url(url) == "m3u8":
|
||||
url = "ytdl:" + url
|
||||
module["_ytdl_manifest"] = "hls"
|
||||
module["extension"] = "mp4"
|
||||
append((url, module))
|
||||
continue
|
||||
|
||||
@@ -56,6 +56,7 @@ class PatreonExtractor(Extractor):
|
||||
text.nameext_from_url(name, post)
|
||||
if text.ext_from_url(url) == "m3u8":
|
||||
url = "ytdl:" + url
|
||||
post["_ytdl_manifest"] = "hls"
|
||||
post["extension"] = "mp4"
|
||||
yield Message.Url, url, post
|
||||
else:
|
||||
|
||||
@@ -74,6 +74,7 @@ class PinterestExtractor(Extractor):
|
||||
|
||||
if pin["extension"] == "m3u8":
|
||||
url = "ytdl:" + url
|
||||
pin["_ytdl_manifest"] = "hls"
|
||||
pin["extension"] = "mp4"
|
||||
|
||||
yield Message.Url, url, pin
|
||||
|
||||
@@ -211,8 +211,9 @@ class RedditExtractor(Extractor):
|
||||
def _extract_video_dash(self, submission):
|
||||
submission["_ytdl_extra"] = {"title": submission["title"]}
|
||||
try:
|
||||
return (submission["secure_media"]["reddit_video"]["dash_url"] +
|
||||
"#__youtubedl_smuggle=%7B%22to_generic%22%3A+1%7D")
|
||||
url = submission["secure_media"]["reddit_video"]["dash_url"]
|
||||
submission["_ytdl_manifest"] = "dash"
|
||||
return url
|
||||
except Exception:
|
||||
return submission["url"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user