Videos: use WEB client instead of WEB CREATOR (#4984)

Use the WEB client when a potoken is configured, otherwise try with Android
test suite if there is no potoken configured.

This PR reverts some of the changes made in 4928

Related to 4734
This commit is contained in:
Samantaz Fox 2024-11-10 17:41:54 +01:00
commit ec82c2f539
No known key found for this signature in database
GPG Key ID: F42821059186176E
2 changed files with 3 additions and 15 deletions

View File

@ -53,10 +53,6 @@ end
def extract_video_info(video_id : String) def extract_video_info(video_id : String)
# Init client config for the API # Init client config for the API
client_config = YoutubeAPI::ClientConfig.new client_config = YoutubeAPI::ClientConfig.new
# Use the WEB_CREATOR when po_token is configured because it fully only works on this client
if CONFIG.po_token
client_config.client_type = YoutubeAPI::ClientType::WebCreator
end
# Fetch data from the player endpoint # Fetch data from the player endpoint
player_response = YoutubeAPI.player(video_id: video_id, params: "2AMB", client_config: client_config) player_response = YoutubeAPI.player(video_id: video_id, params: "2AMB", client_config: client_config)
@ -106,15 +102,8 @@ def extract_video_info(video_id : String)
new_player_response = nil new_player_response = nil
# Second try in case WEB_CREATOR doesn't work with po_token. # Don't use Android test suite client if po_token is passed because po_token doesn't
# Only trigger if reason found and po_token configured. # work for Android test suite client.
if reason && CONFIG.po_token
client_config.client_type = YoutubeAPI::ClientType::WebEmbeddedPlayer
new_player_response = try_fetch_streaming_data(video_id, client_config)
end
# Don't use Android client if po_token is passed because po_token doesn't
# work for Android client.
if reason.nil? && CONFIG.po_token.nil? if reason.nil? && CONFIG.po_token.nil?
# Fetch the video streams using an Android client in order to get the # Fetch the video streams using an Android client in order to get the
# decrypted URLs and maybe fix throttling issues (#2194). See the # decrypted URLs and maybe fix throttling issues (#2194). See the

View File

@ -300,9 +300,8 @@ module YoutubeAPI
end end
if client_config.screen == "EMBED" if client_config.screen == "EMBED"
# embedUrl https://www.google.com allow loading almost all video that are configured not embeddable
client_context["thirdParty"] = { client_context["thirdParty"] = {
"embedUrl" => "https://www.google.com/", "embedUrl" => "https://www.youtube.com/embed/#{video_id}",
} of String => String | Int64 } of String => String | Int64
end end