|
@@ -2023,6 +2023,21 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
formats.append(a_format)
|
|
|
else:
|
|
|
error_message = extract_unavailable_message()
|
|
|
+ if not error_message:
|
|
|
+ reason_list = try_get(
|
|
|
+ player_response,
|
|
|
+ lambda x: x['playabilityStatus']['errorScreen']['playerErrorMessageRenderer']['subreason']['runs'],
|
|
|
+ list) or []
|
|
|
+ for reason in reason_list:
|
|
|
+ if not isinstance(reason, dict):
|
|
|
+ continue
|
|
|
+ reason_text = try_get(reason, lambda x: x['text'], compat_str)
|
|
|
+ if reason_text:
|
|
|
+ if not error_message:
|
|
|
+ error_message = ''
|
|
|
+ error_message += reason_text
|
|
|
+ if error_message:
|
|
|
+ error_message = clean_html(error_message)
|
|
|
if not error_message:
|
|
|
error_message = clean_html(try_get(
|
|
|
player_response, lambda x: x['playabilityStatus']['reason'],
|