|
|
|
@ -915,6 +915,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
|
|
|
|
|
|
|
# Get video info
|
|
|
|
|
embed_webpage = None
|
|
|
|
|
is_live = None
|
|
|
|
|
if re.search(r'player-age-gate-content">', video_webpage) is not None:
|
|
|
|
|
age_gate = True
|
|
|
|
|
# We simulate the access to the video from www.youtube.com/v/{video_id}
|
|
|
|
@ -947,6 +948,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
|
|
# Convert to the same format returned by compat_parse_qs
|
|
|
|
|
video_info = dict((k, [v]) for k, v in args.items())
|
|
|
|
|
add_dash_mpd(video_info)
|
|
|
|
|
if args.get('livestream') == '1' or args.get('live_playback') == 1:
|
|
|
|
|
is_live = True
|
|
|
|
|
if not video_info or self._downloader.params.get('youtube_include_dash_manifest', True):
|
|
|
|
|
# We also try looking in get_video_info since it may contain different dashmpd
|
|
|
|
|
# URL that points to a DASH manifest with possibly different itag set (some itags
|
|
|
|
@ -1251,6 +1254,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
|
|
'dislike_count': dislike_count,
|
|
|
|
|
'average_rating': float_or_none(video_info.get('avg_rating', [None])[0]),
|
|
|
|
|
'formats': formats,
|
|
|
|
|
'is_live': is_live,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|