mirror of
https://codeberg.org/polarisfm/youtube-dl
synced 2024-12-24 15:27:55 +01:00
Suppor embed-only videos (Fixes #1746)
This commit is contained in:
parent
73c566695f
commit
fccd377198
@ -139,7 +139,7 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
|
|||||||
|
|
||||||
class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):
|
class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):
|
||||||
IE_DESC = u'YouTube.com'
|
IE_DESC = u'YouTube.com'
|
||||||
_VALID_URL = r"""^
|
_VALID_URL = r"""(?xi)^
|
||||||
(
|
(
|
||||||
(?:https?://)? # http(s):// (optional)
|
(?:https?://)? # http(s):// (optional)
|
||||||
(?:(?:(?:(?:\w+\.)?youtube(?:-nocookie)?\.com/|
|
(?:(?:(?:(?:\w+\.)?youtube(?:-nocookie)?\.com/|
|
||||||
@ -363,6 +363,18 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):
|
|||||||
u"uploader_id": u"justintimberlakeVEVO"
|
u"uploader_id": u"justintimberlakeVEVO"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
u"url": u"https://www.YouTube.com/watch?v=yZIXLfi8CZQ",
|
||||||
|
u"file": u"yZIXLfi8CZQ.mp4",
|
||||||
|
u"note": u"Embed-only video (#1746)",
|
||||||
|
u"info_dict": {
|
||||||
|
u"upload_date": u"20120608",
|
||||||
|
u"title": u"Principal Sexually Assaults A Teacher - Episode 117 - 8th June 2012",
|
||||||
|
u"description": u"md5:09b78bd971f1e3e289601dfba15ca4f7",
|
||||||
|
u"uploader": u"SET India",
|
||||||
|
u"uploader_id": u"setindia"
|
||||||
|
}
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -370,7 +382,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):
|
|||||||
def suitable(cls, url):
|
def suitable(cls, url):
|
||||||
"""Receives a URL and returns True if suitable for this IE."""
|
"""Receives a URL and returns True if suitable for this IE."""
|
||||||
if YoutubePlaylistIE.suitable(url): return False
|
if YoutubePlaylistIE.suitable(url): return False
|
||||||
return re.match(cls._VALID_URL, url, re.VERBOSE) is not None
|
return re.match(cls._VALID_URL, url) is not None
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(YoutubeIE, self).__init__(*args, **kwargs)
|
super(YoutubeIE, self).__init__(*args, **kwargs)
|
||||||
@ -1272,7 +1284,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):
|
|||||||
# We simulate the access to the video from www.youtube.com/v/{video_id}
|
# We simulate the access to the video from www.youtube.com/v/{video_id}
|
||||||
# this can be viewed without login into Youtube
|
# this can be viewed without login into Youtube
|
||||||
data = compat_urllib_parse.urlencode({'video_id': video_id,
|
data = compat_urllib_parse.urlencode({'video_id': video_id,
|
||||||
'el': 'embedded',
|
'el': 'player_embedded',
|
||||||
'gl': 'US',
|
'gl': 'US',
|
||||||
'hl': 'en',
|
'hl': 'en',
|
||||||
'eurl': 'https://youtube.googleapis.com/v/' + video_id,
|
'eurl': 'https://youtube.googleapis.com/v/' + video_id,
|
||||||
|
Loading…
Reference in New Issue
Block a user