Skip to content

Commit

Permalink
[youtube] ultimate age gate fix
Browse files Browse the repository at this point in the history
  • Loading branch information
blackjack4494 committed Oct 26, 2020
1 parent ff3c7af commit fb2c927
Showing 1 changed file with 18 additions and 2 deletions.
20 changes: 18 additions & 2 deletions youtube_dlc/extractor/youtube.py
Original file line number Diff line number Diff line change
Expand Up @@ -1742,6 +1742,13 @@ def extract_player_response(player_response, video_id):
add_dash_mpd_pr(pl_response)
return pl_response

def extract_embedded_config(embed_webpage, video_id):
embedded_config = self._search_regex(
r'setConfig\(({.*})\);',
embed_webpage, 'ytInitialData', default=None)
if embedded_config:
return embedded_config

player_response = {}

# Get video info
Expand All @@ -1755,8 +1762,17 @@ def extract_player_response(player_response, video_id):
# this can be viewed without login into Youtube
url = proto + '://www.youtube.com/embed/%s' % video_id
embed_webpage = self._download_webpage(url, video_id, 'Downloading embed webpage')
# check if video is only playable on youtube - if so it requires auth (cookies)
if re.search(r'player-unavailable">', embed_webpage) is not None:
ext = extract_embedded_config(embed_webpage, video_id)
# playabilityStatus = re.search(r'{\\\"status\\\":\\\"(?P<playabilityStatus>[^\"]+)\\\"', ext)
playable_in_embed = re.search(r'{\\\"playableInEmbed\\\":(?P<playableinEmbed>[^\,]+)', ext)
if not playable_in_embed:
self.to_screen('Could not determine whether playabale in embed for video %s' % video_id)
playable_in_embed = ''
else:
playable_in_embed = playable_in_embed.group('playableinEmbed')
# check if video is only playable on youtube in other words not playable in embed - if so it requires auth (cookies)
# if re.search(r'player-unavailable">', embed_webpage) is not None:
if playable_in_embed == 'false':
'''
# TODO apply this patch when Support for Python 2.6(!) and above drops
if ({'VISITOR_INFO1_LIVE', 'HSID', 'SSID', 'SID'} <= cookie_keys
Expand Down

0 comments on commit fb2c927

Please sign in to comment.