diff --git a/codegen/src/abtest.rs b/codegen/src/abtest.rs index f471125..ae7a000 100644 --- a/codegen/src/abtest.rs +++ b/codegen/src/abtest.rs @@ -32,40 +32,72 @@ struct QVideo<'a> { racy_check_ok: bool, } -pub async fn run_test(ab: ABTest, n: usize, concurrency: usize) -> usize { +pub async fn run_test( + ab: ABTest, + n: usize, + concurrency: usize, +) -> (usize, Option, Option) { eprintln!("🧪 A/B test #{}: {:?}", ab as u16, ab); let rp = RustyPipe::new(); let pb = ProgressBar::new(n as u64); + let http = reqwest::Client::default(); pb.set_style( ProgressStyle::with_template( "{msg} [{elapsed_precise}] [{wide_bar:.cyan/blue}] {pos}/{len}", ) .unwrap(), ); - // let mut count = 0; let results = stream::iter(0..n) .map(|_| { let rp = rp.clone(); let pb = pb.clone(); + let http = http.clone(); async move { + let visitor_data = get_visitor_data(&http).await; let is_present = match ab { - ABTest::AttributedTextDescription => attributed_text_description(&rp).await, - ABTest::ThreeTabChannelLayout => three_tab_channel_layout(&rp).await, + ABTest::AttributedTextDescription => { + attributed_text_description(&rp, &visitor_data).await + } + ABTest::ThreeTabChannelLayout => { + three_tab_channel_layout(&rp, &visitor_data).await + } } .unwrap(); pb.inc(1); - is_present + (is_present, visitor_data) } }) .buffer_unordered(concurrency) .collect::>() .await; - let count = results.iter().filter(|x| **x).count(); + let count = results.iter().filter(|(p, _)| *p).count(); + let vd_present = results + .iter() + .find_map(|(p, vd)| if *p { Some(vd.to_owned()) } else { None }); + let vd_absent = results + .iter() + .find_map(|(p, vd)| if !*p { Some(vd.to_owned()) } else { None }); - count + (count, vd_present, vd_absent) +} + +async fn get_visitor_data(http: &reqwest::Client) -> String { + let resp = http.get("https://www.youtube.com").send().await.unwrap(); + resp.headers() + .get_all(reqwest::header::SET_COOKIE) + .iter() + .find_map(|c| { + if let Ok(cookie) = c.to_str() { + if let Some(after) = cookie.strip_prefix("__Secure-YEC=") { + return after.split_once(';').map(|s| s.0.to_owned()); + } + } + None + }) + .unwrap() } pub async fn run_all_tests(n: usize, concurrency: usize) -> Vec { @@ -73,7 +105,7 @@ pub async fn run_all_tests(n: usize, concurrency: usize) -> Vec { for id in 1..=N_TESTS { let ab = ABTest::try_from(id).unwrap(); - let occurrences = run_test(ab, n, concurrency).await; + let (occurrences, _, _) = run_test(ab, n, concurrency).await; results.push(ABTestRes { id, name: ab, @@ -84,9 +116,11 @@ pub async fn run_all_tests(n: usize, concurrency: usize) -> Vec { results } -pub async fn attributed_text_description(rp: &RustyPipe) -> Result { +pub async fn attributed_text_description(rp: &RustyPipe, visitor_data: &str) -> Result { let query = rp.query(); - let context = query.get_context(ClientType::Desktop, true, None).await; + let context = query + .get_context(ClientType::Desktop, true, Some(visitor_data)) + .await; let q = QVideo { context, video_id: "ZeerrnuLi5E", @@ -102,9 +136,10 @@ pub async fn attributed_text_description(rp: &RustyPipe) -> Result { Ok(response_txt.contains("\"attributedDescription\"")) } -pub async fn three_tab_channel_layout(rp: &RustyPipe) -> Result { +pub async fn three_tab_channel_layout(rp: &RustyPipe, visitor_data: &str) -> Result { let channel = rp .query() + .visitor_data(visitor_data) .channel_videos("UCR-DXc1voovS8nhAvccRZhg") .await .unwrap(); diff --git a/codegen/src/main.rs b/codegen/src/main.rs index a2b64bb..a0f83bf 100644 --- a/codegen/src/main.rs +++ b/codegen/src/main.rs @@ -73,8 +73,16 @@ async fn main() { match id { Some(id) => { let ab = abtest::ABTest::try_from(id).expect("invalid A/B test id"); - let res = abtest::run_test(ab, n, cli.concurrency).await; - eprintln!("{} occurences", res); + let (occurrences, vd_present, vd_absent) = + abtest::run_test(ab, n, cli.concurrency).await; + eprintln!( + "{}/{} occurences ({:.1}%)", + occurrences, + n, + occurrences as f32 / n as f32 * 100.0 + ); + eprintln!("visitor_data (present): {:?}", vd_present); + eprintln!("visitor_data (absent): {:?}", vd_absent); } None => { let res = abtest::run_all_tests(n, cli.concurrency).await; diff --git a/notes/AB_Tests.md b/notes/AB_Tests.md new file mode 100644 index 0000000..94244c0 --- /dev/null +++ b/notes/AB_Tests.md @@ -0,0 +1,268 @@ +# A/B-Tests + +When YouTube introduces a new feature, it does so gradually. When a user creates a new +session, YouTube decided randomly which new features should be enabled. + +YouTube sessions are identified by the visitor data cookie. This cookie is sent with every +API request using the `context.client.visitor_data` JSON parameter. It is also returned in the +`responseContext.visitorData` response parameter and stored as the `__SECURE-YEC` cookie. + +By sending the same visitor data cookie, A/B tests can be reproduced, which is important for testing +alternative YouTube clients. + +This page lists all A/B tests that were encountered while maintaining the RustyPipe client. + +**Impact rating:** + +The impact ratings shows how much effort it takes to adapt alternative YouTube clients to the +new feature. + +- 🟢 **Low** Minor incompatibility (e.g. parameter name change) +- 🟡 **Medium** Extensive changes to the response data model OR removal of parameters +- 🔴 **High** Changes to the functionality of YouTube that will require API changes + for alternative clients + +If you want to check how often these A/B tests occur, you can use the `codegen` tool with the +following command: `rustypipe-codegen ab-test `. + +## [1] Attributed text description + +- **Encountered on:** 24.09.2022 +- **Impact:** 🟡 Medium +- **Endpoint:** next (video details) + +![A/B test 1 screenshot](./_img/ab_1.png) + +YouTube shows internal links (channels, videos, playlists) in the video description +as buttons with the YouTube icon. To accomplish this, they completely changed the underlying +data model. + +The new format uses a string with the entire plaintext content along with a list of `"commandRuns"` +which include the link data and the position of the links within the text. + +Note that the position and length parameter refer to the number of UTF-16 characters. If +you are implementing this in a language which does not use UTF-16 as its internal string +representation, you have to iterate over the unicode codepoints and keep track of the UTF-16 +index seperately. + +**OLD** + +```json +{ + "videoSecondaryInfoRenderer": { + "description": { + "runs": [ + { + "text": "🎧Listen and download aespa's debut single \"Black Mamba\": " + }, + { + "navigationEndpoint": { + "commandMetadata": { + "webCommandMetadata": { + "rootVe": 83769, + "url": "https://www.youtube.com/redirect?...", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN" + } + }, + "urlEndpoint": { + "nofollow": true, + "target": "TARGET_NEW_WINDOW", + "url": "https://www.youtube.com/redirect?..." + } + }, + "text": "https://smarturl.it/aespa_BlackMamba" + } + ] + } + } +} +``` + +**NEW** + +```json +{ + "videoSecondaryInfoRenderer": { + "attributedDescription": { + "content": "🎧Listen and download aespa's debut single \"Black Mamba\": https://smarturl.it/aespa_BlackMamba\n🐍The Debut Stage...", + "commandRuns": [ + { + "startIndex": 58, + "length": 36, + "onTap": { + "innertubeCommand": { + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.youtube.com/redirect?...", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.youtube.com/redirect?...", + "target": "TARGET_NEW_WINDOW", + "nofollow": true + } + } + } + } + ] + } + } +} +``` + +## [2] 3-tab channel layout + +- **Announced:** 15.09.2022, https://www.youtube.com/watch?v=czIyqEC4V-s +- **Encountered on:** 11.10.2022 +- **Impact:** 🔴 High +- **Endpoint:** browse (channel videos) + +![A/B test 2 screenshot](./_img/ab_2.webp) + +YouTube changed their channel page layout, putting livestreams and short videos into +separate tabs. + +Fetching the videos page now only returns a subset of a channel's videos. To get all videos +from a channel, you would have to run up to 3 queries. + +Even though it has its disadvantages, the RSS feed is now probably the best way for keeping +track of a channel's new uploads. + +Additionally the channel tab response model was slightly changed, now using a `"RichGridRenderer"`. +Short videos also have their own data models (`"reelItemRenderer"`). + +**RichGrid** + +```json +{ + "tabRenderer": { + "content": { + "richGridRenderer": { + "contents": [ + { + "richItemRenderer": { + "content": { + "videoRenderer": {} + } + } + } + ] + } + } + } +} +``` + +**Short video** + +```json +{ + "reelItemRenderer": { + "accessibility": { + "accessibilityData": { + "label": "being smart was my personality trait - 56 seconds - play video" + } + }, + "headline": { + "simpleText": "being smart was my personality trait" + }, + "navigationEndpoint": { + "clickTrackingParams": "CLcCEIf2BBgAIhMImuP85t-D-wIVd-sRCB2r6gl7", + "commandMetadata": { + "webCommandMetadata": { + "rootVe": 37414, + "url": "/shorts/glyJWxp7a5g", + "webPageType": "WEB_PAGE_TYPE_SHORTS" + } + }, + "reelWatchEndpoint": { + "overlay": { + "reelPlayerOverlayRenderer": { + "reelPlayerHeaderSupportedRenderers": { + "reelPlayerHeaderRenderer": { + "timestampText": { + "simpleText": "2 days ago" + } + } + } + } + } + } + }, + "thumbnail": { + "thumbnails": [ + { + "height": 720, + "url": "https://i.ytimg.com/vi/glyJWxp7a5g/hq720_2.jpg?sqp=-oaymwEdCJUDENAFSFXyq4qpAw8IARUAAIhCcAHAAQbQAQE=&rs=AOn4CLCUzo9AlrNh4n4cZfTOB8_Gf5aAkw", + "width": 405 + } + ] + }, + "videoId": "glyJWxp7a5g", + "viewCountText": { + "simpleText": "593K views" + } + } +} +``` + +## [3] Channel handles in search results + +- **Encountered on:** 20.11.2022 +- **Impact:** 🟡 Medium +- **Endpoint:** search + +![A/B test 3 screenshot](./_img/ab_3.png) + +Instead of subscriber count / video count, a channel item from the search result now +displays the channel handle and the subscriber count. + +The implementation looks pretty quick and dirty, as they did not even bother to rename +their response parameters. So this might change again in the future. + +Note that channels without handles still use the old data model, even on the same page. + +**OLD** + +```json +{ + "subscriberCountText": { + "accessibility": { + "accessibilityData": { + "label": "2.92 million subscribers" + } + }, + "simpleText": "2.92M subscribers" + }, + "videoCountText": { + "runs": [ + { + "text": "219" + }, + { + "text": " videos" + } + ] + } +} +``` + +**NEW** + +```json +{ + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "4.03 million subscribers" + } + }, + "simpleText": "4.03M subscribers" + }, + "subscriberCountText": { + "simpleText": "@MusicTravelLove" + } +} +``` diff --git a/notes/_img/ab_1.png b/notes/_img/ab_1.png new file mode 100644 index 0000000..f40f701 Binary files /dev/null and b/notes/_img/ab_1.png differ diff --git a/notes/_img/ab_2.webp b/notes/_img/ab_2.webp new file mode 100644 index 0000000..7202c88 Binary files /dev/null and b/notes/_img/ab_2.webp differ diff --git a/notes/_img/ab_3.png b/notes/_img/ab_3.png new file mode 100644 index 0000000..0e11b63 Binary files /dev/null and b/notes/_img/ab_3.png differ diff --git a/src/client/response/video_item.rs b/src/client/response/video_item.rs index 5546676..c3e4fc3 100644 --- a/src/client/response/video_item.rs +++ b/src/client/response/video_item.rs @@ -399,7 +399,7 @@ impl YouTubeListMapper { } } - fn map_video(&self, video: VideoRenderer) -> VideoItem { + fn map_video(&mut self, video: VideoRenderer) -> VideoItem { let mut tn_overlays = video.thumbnail_overlays; let length_text = video.length_text.or_else(|| { tn_overlays @@ -434,10 +434,9 @@ impl YouTubeListMapper { .as_ref() .and_then(|upc| OffsetDateTime::from_unix_timestamp(upc.start_time).ok()) .or_else(|| { - video - .published_time_text - .as_ref() - .and_then(|txt| timeago::parse_timeago_to_dt(self.lang, txt)) + video.published_time_text.as_ref().and_then(|txt| { + timeago::parse_timeago_dt_or_warn(self.lang, txt, &mut self.warnings) + }) }), publish_date_txt: video.published_time_text, view_count: video @@ -453,7 +452,7 @@ impl YouTubeListMapper { } } - fn map_short_video(&self, video: ReelItemRenderer) -> VideoItem { + fn map_short_video(&mut self, video: ReelItemRenderer) -> VideoItem { static ACCESSIBILITY_SEP_REGEX: Lazy = Lazy::new(|| Regex::new(" [-\u{2013}] (.+) [-\u{2013}] ").unwrap()); @@ -476,16 +475,20 @@ impl YouTubeListMapper { .flatten() .and_then(|cap| { cap.get(1).and_then(|c| { - timeago::parse_timeago(self.lang, c.as_str()) - .map(|ta| Duration::from(ta).whole_seconds() as u32) + timeago::parse_timeago_or_warn( + self.lang, + c.as_str(), + &mut self.warnings, + ) + .map(|ta| Duration::from(ta).whole_seconds() as u32) }) }) }), thumbnail: video.thumbnail.into(), channel: self.channel.clone(), - publish_date: pub_date_txt - .as_ref() - .and_then(|txt| timeago::parse_timeago_to_dt(self.lang, txt)), + publish_date: pub_date_txt.as_ref().and_then(|txt| { + timeago::parse_timeago_dt_or_warn(self.lang, txt, &mut self.warnings) + }), publish_date_txt: pub_date_txt, view_count: video .view_count_text @@ -526,19 +529,27 @@ impl YouTubeListMapper { } } - fn map_channel(channel: ChannelRenderer) -> ChannelItem { + fn map_channel(&mut self, channel: ChannelRenderer) -> ChannelItem { + // channel handle instead of subscriber count (A/B test 3) + let (sc_txt, vc_text) = match channel + .subscriber_count_text + .as_ref() + .map(|txt| txt.starts_with('@')) + .unwrap_or_default() + { + true => (channel.video_count_text, None), + false => (channel.subscriber_count_text, channel.video_count_text), + }; + ChannelItem { id: channel.channel_id, name: channel.title, avatar: channel.thumbnail.into(), verification: channel.owner_badges.into(), - subscriber_count: channel - .subscriber_count_text - .and_then(|txt| util::parse_numeric(&txt).ok()), - video_count: channel - .video_count_text - .and_then(|txt| util::parse_numeric(&txt).ok()) - .unwrap_or_default(), + subscriber_count: sc_txt + .and_then(|txt| util::parse_numeric_or_warn(&txt, &mut self.warnings)), + video_count: vc_text + .and_then(|txt| util::parse_numeric_or_warn(&txt, &mut self.warnings)), short_description: channel.description_snippet, } } @@ -548,18 +559,20 @@ impl YouTubeListMapper { fn map_item(&mut self, item: YouTubeListItem) { match item { YouTubeListItem::VideoRenderer(video) => { - self.items.push(YouTubeItem::Video(self.map_video(video))); + let mapped = YouTubeItem::Video(self.map_video(video)); + self.items.push(mapped); } YouTubeListItem::ReelItemRenderer(video) => { - self.items - .push(YouTubeItem::Video(self.map_short_video(video))); + let mapped = self.map_short_video(video); + self.items.push(YouTubeItem::Video(mapped)); + } + YouTubeListItem::PlaylistRenderer(playlist) => { + let mapped = YouTubeItem::Playlist(self.map_playlist(playlist)); + self.items.push(mapped); } - YouTubeListItem::PlaylistRenderer(playlist) => self - .items - .push(YouTubeItem::Playlist(self.map_playlist(playlist))), YouTubeListItem::ChannelRenderer(channel) => { - self.items - .push(YouTubeItem::Channel(Self::map_channel(channel))); + let mapped = YouTubeItem::Channel(self.map_channel(channel)); + self.items.push(mapped); } YouTubeListItem::ContinuationItemRenderer { continuation_endpoint, @@ -588,10 +601,12 @@ impl YouTubeListMapper { fn map_item(&mut self, item: YouTubeListItem) { match item { YouTubeListItem::VideoRenderer(video) => { - self.items.push(self.map_video(video)); + let mapped = self.map_video(video); + self.items.push(mapped); } YouTubeListItem::ReelItemRenderer(video) => { - self.items.push(self.map_short_video(video)); + let mapped = self.map_short_video(video); + self.items.push(mapped); } YouTubeListItem::ContinuationItemRenderer { continuation_endpoint, @@ -620,7 +635,8 @@ impl YouTubeListMapper { fn map_item(&mut self, item: YouTubeListItem) { match item { YouTubeListItem::PlaylistRenderer(playlist) => { - self.items.push(self.map_playlist(playlist)) + let mapped = self.map_playlist(playlist); + self.items.push(mapped) } YouTubeListItem::ContinuationItemRenderer { continuation_endpoint, diff --git a/src/client/search.rs b/src/client/search.rs index dc2a925..0194b7e 100644 --- a/src/client/search.rs +++ b/src/client/search.rs @@ -138,7 +138,8 @@ mod tests { #[rstest] #[case::default("default")] #[case::playlists("playlists")] - #[case::playlists("empty")] + #[case::empty("empty")] + #[case::ab3_channel_handles("20221121_AB3_channel_handles")] fn t_map_search(#[case] name: &str) { let filename = format!("testfiles/search/{}.json", name); let json_path = Path::new(&filename); diff --git a/src/client/snapshots/rustypipe__client__search__tests__map_search_20221121_AB3_channel_handles.snap b/src/client/snapshots/rustypipe__client__search__tests__map_search_20221121_AB3_channel_handles.snap new file mode 100644 index 0000000..516928b --- /dev/null +++ b/src/client/snapshots/rustypipe__client__search__tests__map_search_20221121_AB3_channel_handles.snap @@ -0,0 +1,415 @@ +--- +source: src/client/search.rs +expression: map_res.c +--- +SearchResult( + items: Paginator( + count: Some(476743), + items: [ + Channel(ChannelItem( + id: "UCMwePVHRpDdfeUcwtDZu2Dw", + name: "Monstafluff Music", + avatar: [ + Thumbnail( + url: "//yt3.ggpht.com/ytc/AMLnZu9YhTzdAoL6P4PYq51PCF076ITDrgLitxSDPqv6sw=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.ggpht.com/ytc/AMLnZu9YhTzdAoL6P4PYq51PCF076ITDrgLitxSDPqv6sw=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: Verified, + subscriber_count: Some(582), + video_count: None, + short_description: "Music Submissions: https://monstafluff.edmdistrict.com/", + )), + Channel(ChannelItem( + id: "UCLxAS02eWvfZK4icRNzWD_g", + name: "Music Travel Love", + avatar: [ + Thumbnail( + url: "https://yt3.ggpht.com/ytc/AMLnZu9njNDLU_VtFjfGUaTArBp4AJFhJIxb_CxP7knf3A=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "https://yt3.ggpht.com/ytc/AMLnZu9njNDLU_VtFjfGUaTArBp4AJFhJIxb_CxP7knf3A=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: Artist, + subscriber_count: Some(403), + video_count: None, + short_description: "Welcome to the official Music Travel Love YouTube channel! We travel the world making music, friends, videos and memories!", + )), + Channel(ChannelItem( + id: "UCxKxjNPyL9UO5LRWHzp5JxA", + name: "Black&White Music", + avatar: [ + Thumbnail( + url: "//yt3.ggpht.com/FDjW2-Cb6tFbtNv02D1UX4XtvP7P3eEWB93hGimeP4pb2TadVhAgxSVMZLZDp5NiBWGLT5eprA=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.ggpht.com/FDjW2-Cb6tFbtNv02D1UX4XtvP7P3eEWB93hGimeP4pb2TadVhAgxSVMZLZDp5NiBWGLT5eprA=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: Verified, + subscriber_count: Some(167), + video_count: None, + short_description: "MUSIC IN HARMONY WITH YOUR LIFE!!! If any producer, label, artist or photographer has an issue with any of the music or\u{a0}...", + )), + Channel(ChannelItem( + id: "UCGIygiYkKxn7g7fFNFdXskg", + name: "HAEVN MUSIC", + avatar: [ + Thumbnail( + url: "//yt3.ggpht.com/EYlGIfqhvwtfkCyi5vpqfY_kDHr6L3OeCmkudNiAyhvz6UCnTZQOQaM-8PelFDGofdIqeF7Mb4E=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.ggpht.com/EYlGIfqhvwtfkCyi5vpqfY_kDHr6L3OeCmkudNiAyhvz6UCnTZQOQaM-8PelFDGofdIqeF7Mb4E=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: Artist, + subscriber_count: Some(411), + video_count: None, + short_description: "The official YouTube channel of HAEVN Music. Receiving a piano from his grandfather had a great impact on Jorrit\'s life.", + )), + Channel(ChannelItem( + id: "UClvNJkDHdc1gvFGN_Fr_qPw", + name: "Artemis Music", + avatar: [ + Thumbnail( + url: "//yt3.ggpht.com/rGXIwYAhI49rKBQmw_pKFMv9yEt4euHnmXOE0OOCD6ApdQXGnuPmEv7TK7cDjrjt0rUXYHuw=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.ggpht.com/rGXIwYAhI49rKBQmw_pKFMv9yEt4euHnmXOE0OOCD6ApdQXGnuPmEv7TK7cDjrjt0rUXYHuw=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: None, + subscriber_count: Some(312), + video_count: None, + short_description: "Hello and welcome to \"Artemis Music\"! Music can play an effective role in helping us lead a better and more productive life.", + )), + Channel(ChannelItem( + id: "UC5r3j8tQsB3MYZiwQFGKrdA", + name: "Disco Music", + avatar: [ + Thumbnail( + url: "//yt3.ggpht.com/5nqhAdf26KoSKbfUB8kvhJo6rpMQw3XS345h8ZNmeXScqlB1KjJAM0T371r3QcS1mA1LZg9B1Po=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.ggpht.com/5nqhAdf26KoSKbfUB8kvhJo6rpMQw3XS345h8ZNmeXScqlB1KjJAM0T371r3QcS1mA1LZg9B1Po=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: Verified, + subscriber_count: Some(372), + video_count: None, + short_description: "Music is the only language in which you cannot say a mean or sarcastic thing. Have fun listening to music.", + )), + Channel(ChannelItem( + id: "UCNZYpcqym8gHcNg2GWcC6nQ", + name: "S!X - Music", + avatar: [ + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu_1NOzbZUJWZjtmD4NTsb9BR-TNIAzNoajv0TisvQ=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu_1NOzbZUJWZjtmD4NTsb9BR-TNIAzNoajv0TisvQ=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: Verified, + subscriber_count: Some(178), + video_count: None, + short_description: "S!X - Music is an independent Hip-Hop label. Soundcloud : https://soundcloud.com/s1xmusic Facebook\u{a0}...", + )), + Channel(ChannelItem( + id: "UCoEryX-WO7IHBGqTAC5r9Zw", + name: "Shake Music", + avatar: [ + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu9fMXUALsloNUJ_wLpqCS0ovprvc5W-XwfrpmWqIw=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu9fMXUALsloNUJ_wLpqCS0ovprvc5W-XwfrpmWqIw=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: Verified, + subscriber_count: Some(104), + video_count: None, + short_description: "Welcome to Shake Music, a Trap & Bass Channel / Record Label dedicated to bringing you the best tracks. All tracks on Shake\u{a0}...", + )), + Channel(ChannelItem( + id: "UCTJ9Qg-1vBu2pP_YrWUfGnQ", + name: "Miracle Music", + avatar: [ + Thumbnail( + url: "//yt3.ggpht.com/3RMarDSmUSIexCXWCpMUkqV64uiHDXTidBLwsObHstx5-AbB8h_n8Zy1W9JymURd7ivzlDEGFw=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.ggpht.com/3RMarDSmUSIexCXWCpMUkqV64uiHDXTidBLwsObHstx5-AbB8h_n8Zy1W9JymURd7ivzlDEGFw=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: Verified, + subscriber_count: Some(822), + video_count: None, + short_description: "Welcome to Miracle Music! On this channel you will find a wide variety of different Deep House, Tropical House, Chill Out, EDM,.", + )), + Channel(ChannelItem( + id: "UCp6_KuNhT0kcFk-jXw9Tivg", + name: "Magic Music", + avatar: [ + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu-fgSc_lceD4fRL_y0b3MKd2k54DF-laDAR3Avbuw=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu-fgSc_lceD4fRL_y0b3MKd2k54DF-laDAR3Avbuw=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: Verified, + subscriber_count: Some(462), + video_count: None, + short_description: "", + )), + Channel(ChannelItem( + id: "UCe55Gy-hFDvLZp8C8BZhBnw", + name: "Nightblue Music", + avatar: [ + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu-29SYt5qpqMP9Xi2A98mqL8ymI5Lg7Vzx-qpY09w=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu-29SYt5qpqMP9Xi2A98mqL8ymI5Lg7Vzx-qpY09w=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: Verified, + subscriber_count: Some(105), + video_count: None, + short_description: "BRINGING YOU ONLY THE BEST EDM - TRAP Submit your own track for promotion here:\u{a0}...", + )), + Channel(ChannelItem( + id: "UC2fVSthyWxWSjsiEAHPzriQ", + name: "Mr_MoMo Music", + avatar: [ + Thumbnail( + url: "//yt3.ggpht.com/7YG4jSrhx_Mfi2TsV0rJFlFARaR8kl7ilcIyzs6gSeNjwn-J88DvDWD8PSNd5o03qJRzpvhs=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.ggpht.com/7YG4jSrhx_Mfi2TsV0rJFlFARaR8kl7ilcIyzs6gSeNjwn-J88DvDWD8PSNd5o03qJRzpvhs=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: Verified, + subscriber_count: Some(709), + video_count: None, + short_description: "Hey there! I am Mr MoMo My channel focus on Japan music, lofi, trap & bass type beat and Japanese instrumental. I mindfully\u{a0}...", + )), + Channel(ChannelItem( + id: "UCN31w7dRjjz8CeP0GfSIo8A", + name: "Danit Music Official", + avatar: [ + Thumbnail( + url: "//yt3.ggpht.com/ytc/AMLnZu9rUKtDsY-aSoE5WEwAQxvQTXiuAPYMBoJQ2mYTUA=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.ggpht.com/ytc/AMLnZu9rUKtDsY-aSoE5WEwAQxvQTXiuAPYMBoJQ2mYTUA=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: None, + subscriber_count: Some(544), + video_count: None, + short_description: "", + )), + Channel(ChannelItem( + id: "UCpEHWiTMk1eEBAdzBnAb3rA", + name: "Energy Transformation Relaxing Music ", + avatar: [ + Thumbnail( + url: "//yt3.ggpht.com/RR7upyAvT7N0_qlZWfLlDSRPhLufX4W4X6-qahWvuvDCLn2cWCs0yh_HXB2iwGbk_MTwSqwWEQ=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.ggpht.com/RR7upyAvT7N0_qlZWfLlDSRPhLufX4W4X6-qahWvuvDCLn2cWCs0yh_HXB2iwGbk_MTwSqwWEQ=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: None, + subscriber_count: Some(359), + video_count: None, + short_description: "Welcome to our Energy Transformation Relaxing Music . This chakra music channel will focus on developing the best chakra\u{a0}...", + )), + Channel(ChannelItem( + id: "UCqswUMaC5yWUrkQszr8fuBA", + name: "Nonstop Music", + avatar: [ + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu9vLN62RxNbnpa20r5XreWRlVjHXbHf7BMcvSBxoQ=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu9vLN62RxNbnpa20r5XreWRlVjHXbHf7BMcvSBxoQ=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: Verified, + subscriber_count: Some(416), + video_count: None, + short_description: "Nonstop Music - Home of 1h videos of your favourite songs and mixes. Nonstop Genres: Pop • Chillout • Tropical House • Deep\u{a0}...", + )), + Channel(ChannelItem( + id: "UChO8h2G8UjOVc081rgYU8XQ", + name: "Vibe Music", + avatar: [ + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu9Br5pt87kuDLRFbh1MqMXeFlCLbUrwFlDIzU4s=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu9Br5pt87kuDLRFbh1MqMXeFlCLbUrwFlDIzU4s=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: Verified, + subscriber_count: Some(3), + video_count: None, + short_description: "Vibe Music strives to bring the best lyric videos of popular Rap & Hip Hop songs. Be sure to Subscribe to see new videos we\u{a0}...", + )), + Channel(ChannelItem( + id: "UClV8b2EhIhIASKw-etzegyw", + name: "Suits Music", + avatar: [ + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu9Aj5RtZZMdK_B_YD-8rOfi9c5ddFw5t1s4GYEeOQ=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu9Aj5RtZZMdK_B_YD-8rOfi9c5ddFw5t1s4GYEeOQ=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: None, + subscriber_count: Some(120), + video_count: None, + short_description: "", + )), + Channel(ChannelItem( + id: "UCI2hwz3r5phXpOtViIA5inA", + name: "Rock Music Collection", + avatar: [ + Thumbnail( + url: "//yt3.ggpht.com/kB4gWvROUIWFuJN8xwIqmPl1QV2_gXMat6COAJjXZT07E3xomc4b2JwGtDg05t1MmhgqImSifhc=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.ggpht.com/kB4gWvROUIWFuJN8xwIqmPl1QV2_gXMat6COAJjXZT07E3xomc4b2JwGtDg05t1MmhgqImSifhc=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: None, + subscriber_count: Some(817), + video_count: None, + short_description: "", + )), + Channel(ChannelItem( + id: "UC9w8My3S7h-bQZ-4R-0ZPsw", + name: "Helios Music", + avatar: [ + Thumbnail( + url: "//yt3.ggpht.com/bi08T8zuYI1PlbM8M5fyZzjVvNJRJFFcQoonRQvS30opJ-OqGIq5OPrZ19qga29PIAit7OO3=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.ggpht.com/bi08T8zuYI1PlbM8M5fyZzjVvNJRJFFcQoonRQvS30opJ-OqGIq5OPrZ19qga29PIAit7OO3=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: None, + subscriber_count: Some(53), + video_count: None, + short_description: "Welcome to my channel - Helios Music. I created this channel to help people have the most relaxing, refreshing and comfortable\u{a0}...", + )), + Channel(ChannelItem( + id: "UC_ODKC5gTs2LvdHXDRdDm0w", + name: "Music On", + avatar: [ + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu8lUOYw4RdRwQf2Kz8RCExSmuWC78oetXF7VL67SA=s88-c-k-c0x00ffffff-no-rj-mo", + width: 88, + height: 88, + ), + Thumbnail( + url: "//yt3.googleusercontent.com/ytc/AMLnZu8lUOYw4RdRwQf2Kz8RCExSmuWC78oetXF7VL67SA=s176-c-k-c0x00ffffff-no-rj-mo", + width: 176, + height: 176, + ), + ], + verification: None, + subscriber_count: Some(129), + video_count: None, + short_description: "Music On (UNOFFICIAL CHANNEL)", + )), + ], + ctoken: Some("Eu4FEgVtdXNpYxrkBUVnSVFBa2dVZ2dFWVZVTk5kMlZRVmtoU2NFUmtabVZWWTNkMFJGcDFNa1IzZ2dFWVZVTk1lRUZUTURKbFYzWm1Xa3MwYVdOU1RucFhSRjluZ2dFWVZVTjRTM2hxVGxCNVREbFZUelZNVWxkSWVuQTFTbmhCZ2dFWVZVTkhTWGxuYVZsclMzaHVOMmMzWmtaT1JtUlljMnRuZ2dFWVZVTnNkazVLYTBSSVpHTXhaM1pHUjA1ZlJuSmZjVkIzZ2dFWVZVTTFjak5xT0hSUmMwSXpUVmxhYVhkUlJrZExjbVJCZ2dFWVZVTk9XbGx3WTNGNWJUaG5TR05PWnpKSFYyTkRObTVSZ2dFWVZVTnZSWEo1V0MxWFR6ZEpTRUpIY1ZSQlF6VnlPVnAzZ2dFWVZVTlVTamxSWnkweGRrSjFNbkJRWDFseVYxVm1SMjVSZ2dFWVZVTndObDlMZFU1b1ZEQnJZMFpyTFdwWWR6bFVhWFpuZ2dFWVZVTmxOVFZIZVMxb1JrUjJURnB3T0VNNFFscG9RbTUzZ2dFWVZVTXlabFpUZEdoNVYzaFhVMnB6YVVWQlNGQjZjbWxSZ2dFWVZVTk9NekYzTjJSU2FtcDZPRU5sVURCSFpsTkpiemhCZ2dFWVZVTndSVWhYYVZSTmF6RmxSVUpCWkhwQ2JrRmlNM0pCZ2dFWVZVTnhjM2RWVFdGRE5YbFhWWEpyVVhONmNqaG1kVUpCZ2dFWVZVTm9UemhvTWtjNFZXcFBWbU13T0RGeVoxbFZPRmhSZ2dFWVZVTnNWamhpTWtWb1NXaEpRVk5MZHkxbGRIcGxaM2wzZ2dFWVZVTkpNbWgzZWpOeU5YQm9XSEJQZEZacFNVRTFhVzVCZ2dFWVZVTTVkemhOZVROVE4yZ3RZbEZhTFRSU0xUQmFVSE4zZ2dFWVZVTmZUMFJMUXpWblZITXlUSFprU0ZoRVVtUkViVEIzc2dFR0NnUUlGUkFDGIHg6BgiC3NlYXJjaC1mZWVk"), + endpoint: search, + ), + corrected_query: None, + visitor_data: None, +) diff --git a/src/client/snapshots/rustypipe__client__search__tests__map_search_default.snap b/src/client/snapshots/rustypipe__client__search__tests__map_search_default.snap index 25f8e9a..70dd623 100644 --- a/src/client/snapshots/rustypipe__client__search__tests__map_search_default.snap +++ b/src/client/snapshots/rustypipe__client__search__tests__map_search_default.snap @@ -23,7 +23,7 @@ SearchResult( ], verification: Verified, subscriber_count: Some(292), - video_count: 219, + video_count: Some(219), short_description: "Hi, I\'m Tina, aka Doobydobap! Food is the medium I use to tell stories and connect with people who share the same passion as I\u{a0}...", )), Video(VideoItem( diff --git a/src/model/mod.rs b/src/model/mod.rs index b16d1b5..a037b19 100644 --- a/src/model/mod.rs +++ b/src/model/mod.rs @@ -946,7 +946,7 @@ pub struct ChannelItem { /// [`None`] if hidden by the owner or not present. pub subscriber_count: Option, /// Number of videos from the channel - pub video_count: u64, + pub video_count: Option, /// Abbreviated channel description pub short_description: String, } diff --git a/src/timeago.rs b/src/timeago.rs index 6985fc8..299a49a 100644 --- a/src/timeago.rs +++ b/src/timeago.rs @@ -192,6 +192,30 @@ pub fn parse_timeago_to_dt(lang: Language, textual_date: &str) -> Option, +) -> Option { + let res = parse_timeago(lang, textual_date); + if res.is_none() { + warnings.push(format!("could not parse timeago `{}`", textual_date)); + } + res +} + +pub(crate) fn parse_timeago_dt_or_warn( + lang: Language, + textual_date: &str, + warnings: &mut Vec, +) -> Option { + let res = parse_timeago_to_dt(lang, textual_date); + if res.is_none() { + warnings.push(format!("could not parse timeago `{}`", textual_date)); + } + res +} + /// Parse a textual date (e.g. "29 minutes ago" or "Jul 2, 2014") into a ParsedDate object. /// /// Returns None if the date could not be parsed. @@ -254,7 +278,7 @@ pub(crate) fn parse_textual_date_or_warn( ) -> Option { let res = parse_textual_date_to_dt(lang, textual_date); if res.is_none() { - warnings.push(format!("could not parse timeago `{}`", textual_date)); + warnings.push(format!("could not parse textual date `{}`", textual_date)); } res } diff --git a/testfiles/search/20221121_AB3_channel_handles.json b/testfiles/search/20221121_AB3_channel_handles.json new file mode 100644 index 0000000..8540532 --- /dev/null +++ b/testfiles/search/20221121_AB3_channel_handles.json @@ -0,0 +1,5037 @@ +{ + "responseContext": { + "serviceTrackingParams": [ + { + "service": "GUIDED_HELP", + "params": [ + { + "key": "context", + "value": "yt_web_search" + }, + { + "key": "logged_in", + "value": "0" + } + ] + }, + { + "service": "GFEEDBACK", + "params": [ + { + "key": "has_unlimited_entitlement", + "value": "False" + }, + { + "key": "has_premium_lite_entitlement", + "value": "False" + }, + { + "key": "logged_in", + "value": "0" + }, + { + "key": "e", + "value": "1714247,23804281,23882685,23918597,23934970,23946420,23966208,23983296,23986032,23998056,24001373,24002022,24002025,24004644,24007246,24034168,24036947,24077241,24080738,24120820,24135310,24140247,24152442,24161116,24162919,24164186,24166867,24169501,24181174,24187043,24187377,24191629,24197450,24199724,24211178,24217229,24217535,24218780,24219713,24229161,24241378,24248091,24249178,24254502,24255165,24255543,24255545,24256985,24260783,24262346,24263796,24267564,24268142,24274720,24276642,24278596,24279196,24283093,24285110,24287327,24288045,24288912,24290147,24290971,24291857,24292955,24293803,24299747,24299875,24390674,24391543,24392269,24392405,24396645,24398046,24398708,24401013,24401557,24402891,24406313,24406363,24406599,24406605,24407199,24407665,24410275,24412681,24414162,24415806,24415866,24417274,24417955,24420756,24421161,24421964,24424278,24424572,24590921,24612269,24613467,24613789,24614043,24615089,24615179,24615315,24615317,24615363,24615445,39322504,39322574" + } + ] + }, + { + "service": "CSI", + "params": [ + { + "key": "yt_ad", + "value": "1" + }, + { + "key": "c", + "value": "WEB" + }, + { + "key": "cver", + "value": "2.20221118.01.00" + }, + { + "key": "yt_li", + "value": "0" + }, + { + "key": "GetSearch_rid", + "value": "0x5183cc74d69e7ccb" + } + ] + }, + { + "service": "ECATCHER", + "params": [ + { + "key": "client.version", + "value": "2.20221118" + }, + { + "key": "client.name", + "value": "WEB" + }, + { + "key": "client.fexp", + "value": "24615363,24199724,24276642,24291857,24255165,24402891,24283093,24140247,24187377,24229161,24613467,24164186,24406599,24036947,24424572,24241378,24614043,23934970,24392405,24415866,24412681,23998056,24267564,24262346,24260783,24290147,24417274,24263796,24390674,24211178,24398708,24187043,24287327,24613789,24001373,24279196,24290971,24191629,39322504,24256985,24401013,24255545,24285110,24292955,23882685,24254502,24152442,24217229,24615317,24161116,1714247,24392269,24612269,24401557,24217535,24249178,24615089,24034168,24299747,39322574,24181174,23966208,24120820,24288045,24080738,24166867,24406313,24615179,24407665,24424278,24169501,24391543,24590921,24268142,23918597,24396645,24278596,24197450,24002022,24219713,24421964,24420756,23804281,24398046,23946420,24407199,24135310,24421161,24293803,24007246,24615315,23986032,24415806,24004644,24162919,24077241,24615445,24417955,24406363,24410275,24406605,24288912,24218780,24002025,24255543,23983296,24299875,24274720,24414162,24248091" + } + ] + } + ], + "mainAppWebResponseContext": { + "loggedOut": true + }, + "webResponseContextExtensionData": { + "hasDecorated": true + } + }, + "estimatedResults": "476743", + "contents": { + "twoColumnSearchResultsRenderer": { + "primaryContents": { + "sectionListRenderer": { + "contents": [ + { + "itemSectionRenderer": { + "contents": [ + { + "searchPyvRenderer": { + "ads": [ + { + "adSlotRenderer": { + "adSlotMetadata": { + "slotId": "1669069734107044:134058496:234883752:1", + "slotType": "SLOT_TYPE_IN_FEED", + "slotPhysicalPosition": 1 + }, + "fulfillmentContent": { + "fulfilledLayout": { + "inFeedAdLayoutRenderer": { + "adLayoutMetadata": { + "layoutId": "V3OMb9LkMoNQL98G", + "layoutType": "LAYOUT_TYPE_VIDEO_DISPLAY_COMPACT_BUTTONED", + "adLayoutLoggingData": { + "serializedAdServingDataEntry": "IAUoAzAGOAVKEwikr-2kqcD7AhUAkv0HHagKAA5SBggFMAFYAWgBcF0=" + } + }, + "renderingContent": { + "promotedVideoRenderer": { + "videoId": "7hnrH_MPSaU", + "thumbnail": { + "thumbnails": [ + { + "url": "https://i4.ytimg.com/vi/7hnrH_MPSaU/0.jpg" + } + ] + }, + "title": { + "simpleText": "Das Tanz-Spektakel der 80er in München. Mit Hits wie What a Feeling und Maniac." + }, + "description": { + "runs": [ + { + "text": "28.11. bis 11.12. | Der Kultfilm als mitreißendes Musical", + "navigationEndpoint": { + "clickTrackingParams": "CF4QszciEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "loggingUrls": [ + { + "baseUrl": "https://www.youtube.com/pagead/interaction/?ai=Cz5WQpvt7Y6TEBoCk9u8PqJWAcM_Do-NrrNrl7vsPZBABIABglYKAgJgHggEXY2EtcHViLTYyMTk4MTE3NDcwNDkzNzGgAb2e5tUDqQIFdbv0AC-xPqgDBKoEiAJP0OHfXjCmQplJSLeqdyXjXxmZyWkiK8pkUKb1vv0ecn9tS8CgwXCaKaDMt0yMqg6mxwuyDxA_mB6VkJI_Xr9miNNOcnZPE1SGU_705jU4flrbgH9VtvGHIZCzQ-iMwuGqg-spKzmAbdx4N3-COOX9Wm99z3Iu1LyUkVo9iLOpV8bFU_Kj4Ve5pNlYZZyF7r3KWeQSMuwq7gmHvxAbJ6IL4s2xVy07dQnulutzEMwB_52le67Xixp43gsdlfiQcE6COfY1Akx6j8faUEQYlJuqThKoBOE625NmYF6uPEM2AVU1Qx5_0N5jL91l6ZfD4AwYX9uC2Rg-Q_p4__4tOfYzAYhbdbVmRVOSBQ0IEjClk72Y_-P6jO4BkgUHCBN4-6L0KqAGVYAHq-GZKpAHBKgHhAioB6jSG6gHtgeoB-DPG6gH6dQbqAeMzRuoB7HcG6gHpJqxAqgHkZ-xAqgHsJuxAqgH36GxAqgHgcYbqAfj2RuSCAs3aG5ySF9NUFNhVagIAdIIFwiAwYAQEAEYADICogI6CICAgICAkIAGyAkXyAmPAcgJkAHICcIBugs1CAMQBRgFIAYoATAFQAFIAFhdYABoAHABiAEAmAEBogEICgCYAgGoAgKoAQHYAQGAAgGIAgW4E____________wGwFAPAFYGAgECKFwoIAxgBKAEwATgBoBcBqReShxNSYzWQLA&sigh=cCIbMKwPRWM&cid=CAASFeRo4XzCkFPFI3Jqssn-k8awbPuEGA&label=discovery_invitation_click_to_watch&nb=[NB]&nx=[NX]&ny=[NY]&dim=[DIM]&ms=[CLICK_MS]" + } + ], + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.googleadservices.com/pagead/aclk?sa=L&ai=CoXacpvt7Y6TEBoCk9u8PqJWAcM_Do-NrrNrl7vsPZBABIABglYKAgJgHggEXY2EtcHViLTYyMTk4MTE3NDcwNDkzNzGgAb2e5tUDqQIFdbv0AC-xPqgDBKoEiwJP0OHfXjCmQplJSLeqdyXjXxmZyWkiK8pkUKb1vv0ecn9tS8CgwXCaKaDMt0yMqg6mxwuyDxA_mB6VkJI_Xr9miNNOcnZPE1SGU_705jU4flrbgH9VtvGHIZCzQ-iMwuGqg-spKzmAbdx4N3-COOX9Wm99z3Iu1LyUkVo9iLOpV8bFU_Kj4Ve5pNlYZZyF7r3KWeQSMuwq7gmHvxAbJ6IL4s2xVy07dQnulutzEMwB_52le67Xixp43gsdlfiQcE6COfY1Akx6j8faUEQYlJuqThKoBOE625NmYF6uPEM2AVU1Qx5_0N5jL91l6ZfD4AwYB9pnzBJD3PbqXzSsHCGyOxSgOCS1GE7RaxeSBQ0IEjClk72Y_-P6jO4BkgUHCBN4-6L0KqAGVYAHq-GZKpAHBKgHhAioB6jSG6gHtgeoB-DPG6gH6dQbqAeMzRuoB7HcG6gHpJqxAqgHkZ-xAqgHsJuxAqgH36GxAqgHgcYbqAfVzhuoB6vFG6gHlQioB5zcG6gH5p2xAqgHyJ-xAqgHt6GxAqgH1amxApIICzdobnJIX01QU2FVqAgB0ggXCIDBgBAQARgAMgKiAjoIgICAgICQgAaxCfp4Fih9No4xyAkXyAmPAcgJkAHICcIBugs1CAMQBRgFIAYoATAFQAFIAFhdYABoAHABiAEAmAEBogEICgCYAgGoAgKoAQHYAQGAAgGIAgXQCxK4DAGaDQESuBP___________8BsBQDwBWBgIBA0BUB2BUB4hYCCAGAFwGKFwoIAxgBKAEwATgBoBcBqReShxNSYzWQLA&num=1&cid=CAASFeRo4XzCkFPFI3Jqssn-k8awbPuEGA&ad_cpn=%5BCPN%5D&sig=AOD64_3EyhteBul_n44iffIPgmtQje-3uw&adurl=https://www.youtube.com/watch%3Fv%3D7hnrH_MPSaU&ctype=21&video_id=7hnrH_MPSaU", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.googleadservices.com/pagead/aclk?sa=L&ai=CoXacpvt7Y6TEBoCk9u8PqJWAcM_Do-NrrNrl7vsPZBABIABglYKAgJgHggEXY2EtcHViLTYyMTk4MTE3NDcwNDkzNzGgAb2e5tUDqQIFdbv0AC-xPqgDBKoEiwJP0OHfXjCmQplJSLeqdyXjXxmZyWkiK8pkUKb1vv0ecn9tS8CgwXCaKaDMt0yMqg6mxwuyDxA_mB6VkJI_Xr9miNNOcnZPE1SGU_705jU4flrbgH9VtvGHIZCzQ-iMwuGqg-spKzmAbdx4N3-COOX9Wm99z3Iu1LyUkVo9iLOpV8bFU_Kj4Ve5pNlYZZyF7r3KWeQSMuwq7gmHvxAbJ6IL4s2xVy07dQnulutzEMwB_52le67Xixp43gsdlfiQcE6COfY1Akx6j8faUEQYlJuqThKoBOE625NmYF6uPEM2AVU1Qx5_0N5jL91l6ZfD4AwYB9pnzBJD3PbqXzSsHCGyOxSgOCS1GE7RaxeSBQ0IEjClk72Y_-P6jO4BkgUHCBN4-6L0KqAGVYAHq-GZKpAHBKgHhAioB6jSG6gHtgeoB-DPG6gH6dQbqAeMzRuoB7HcG6gHpJqxAqgHkZ-xAqgHsJuxAqgH36GxAqgHgcYbqAfVzhuoB6vFG6gHlQioB5zcG6gH5p2xAqgHyJ-xAqgHt6GxAqgH1amxApIICzdobnJIX01QU2FVqAgB0ggXCIDBgBAQARgAMgKiAjoIgICAgICQgAaxCfp4Fih9No4xyAkXyAmPAcgJkAHICcIBugs1CAMQBRgFIAYoATAFQAFIAFhdYABoAHABiAEAmAEBogEICgCYAgGoAgKoAQHYAQGAAgGIAgXQCxK4DAGaDQESuBP___________8BsBQDwBWBgIBA0BUB2BUB4hYCCAGAFwGKFwoIAxgBKAEwATgBoBcBqReShxNSYzWQLA&num=1&cid=CAASFeRo4XzCkFPFI3Jqssn-k8awbPuEGA&ad_cpn=%5BCPN%5D&sig=AOD64_3EyhteBul_n44iffIPgmtQje-3uw&adurl=https://www.youtube.com/watch%3Fv%3D7hnrH_MPSaU&ctype=21&video_id=7hnrH_MPSaU", + "target": "TARGET_NEW_WINDOW" + } + } + } + ] + }, + "longBylineText": { + "runs": [ + { + "text": "Deutsches Theater", + "navigationEndpoint": { + "clickTrackingParams": "CF4QszciEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/user/DeutschesTheater", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCYWBmrlVy7l0YYRiaTrX81A", + "canonicalBaseUrl": "/user/DeutschesTheater" + } + } + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Deutsches Theater", + "navigationEndpoint": { + "clickTrackingParams": "CF4QszciEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/user/DeutschesTheater", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCYWBmrlVy7l0YYRiaTrX81A", + "canonicalBaseUrl": "/user/DeutschesTheater" + } + } + } + ] + }, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "52 seconds" + } + }, + "simpleText": "0:52" + }, + "navigationEndpoint": { + "clickTrackingParams": "CF4QszciEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.googleadservices.com/pagead/aclk?sa=L&ai=CoXacpvt7Y6TEBoCk9u8PqJWAcM_Do-NrrNrl7vsPZBABIABglYKAgJgHggEXY2EtcHViLTYyMTk4MTE3NDcwNDkzNzGgAb2e5tUDqQIFdbv0AC-xPqgDBKoEiwJP0OHfXjCmQplJSLeqdyXjXxmZyWkiK8pkUKb1vv0ecn9tS8CgwXCaKaDMt0yMqg6mxwuyDxA_mB6VkJI_Xr9miNNOcnZPE1SGU_705jU4flrbgH9VtvGHIZCzQ-iMwuGqg-spKzmAbdx4N3-COOX9Wm99z3Iu1LyUkVo9iLOpV8bFU_Kj4Ve5pNlYZZyF7r3KWeQSMuwq7gmHvxAbJ6IL4s2xVy07dQnulutzEMwB_52le67Xixp43gsdlfiQcE6COfY1Akx6j8faUEQYlJuqThKoBOE625NmYF6uPEM2AVU1Qx5_0N5jL91l6ZfD4AwYB9pnzBJD3PbqXzSsHCGyOxSgOCS1GE7RaxeSBQ0IEjClk72Y_-P6jO4BkgUHCBN4-6L0KqAGVYAHq-GZKpAHBKgHhAioB6jSG6gHtgeoB-DPG6gH6dQbqAeMzRuoB7HcG6gHpJqxAqgHkZ-xAqgHsJuxAqgH36GxAqgHgcYbqAfVzhuoB6vFG6gHlQioB5zcG6gH5p2xAqgHyJ-xAqgHt6GxAqgH1amxApIICzdobnJIX01QU2FVqAgB0ggXCIDBgBAQARgAMgKiAjoIgICAgICQgAaxCfp4Fih9No4xyAkXyAmPAcgJkAHICcIBugs1CAMQBRgFIAYoATAFQAFIAFhdYABoAHABiAEAmAEBogEICgCYAgGoAgKoAQHYAQGAAgGIAgXQCxK4DAGaDQESuBP___________8BsBQDwBWBgIBA0BUB2BUB4hYCCAGAFwGKFwoIAxgBKAEwATgBoBcBqReShxNSYzWQLA&num=1&cid=CAASFeRo4XzCkFPFI3Jqssn-k8awbPuEGA&ad_cpn=%5BCPN%5D&sig=AOD64_3EyhteBul_n44iffIPgmtQje-3uw&adurl=https://www.youtube.com/watch%3Fv%3D7hnrH_MPSaU&ctype=21&video_id=7hnrH_MPSaU", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.googleadservices.com/pagead/aclk?sa=L&ai=CoXacpvt7Y6TEBoCk9u8PqJWAcM_Do-NrrNrl7vsPZBABIABglYKAgJgHggEXY2EtcHViLTYyMTk4MTE3NDcwNDkzNzGgAb2e5tUDqQIFdbv0AC-xPqgDBKoEiwJP0OHfXjCmQplJSLeqdyXjXxmZyWkiK8pkUKb1vv0ecn9tS8CgwXCaKaDMt0yMqg6mxwuyDxA_mB6VkJI_Xr9miNNOcnZPE1SGU_705jU4flrbgH9VtvGHIZCzQ-iMwuGqg-spKzmAbdx4N3-COOX9Wm99z3Iu1LyUkVo9iLOpV8bFU_Kj4Ve5pNlYZZyF7r3KWeQSMuwq7gmHvxAbJ6IL4s2xVy07dQnulutzEMwB_52le67Xixp43gsdlfiQcE6COfY1Akx6j8faUEQYlJuqThKoBOE625NmYF6uPEM2AVU1Qx5_0N5jL91l6ZfD4AwYB9pnzBJD3PbqXzSsHCGyOxSgOCS1GE7RaxeSBQ0IEjClk72Y_-P6jO4BkgUHCBN4-6L0KqAGVYAHq-GZKpAHBKgHhAioB6jSG6gHtgeoB-DPG6gH6dQbqAeMzRuoB7HcG6gHpJqxAqgHkZ-xAqgHsJuxAqgH36GxAqgHgcYbqAfVzhuoB6vFG6gHlQioB5zcG6gH5p2xAqgHyJ-xAqgHt6GxAqgH1amxApIICzdobnJIX01QU2FVqAgB0ggXCIDBgBAQARgAMgKiAjoIgICAgICQgAaxCfp4Fih9No4xyAkXyAmPAcgJkAHICcIBugs1CAMQBRgFIAYoATAFQAFIAFhdYABoAHABiAEAmAEBogEICgCYAgGoAgKoAQHYAQGAAgGIAgXQCxK4DAGaDQESuBP___________8BsBQDwBWBgIBA0BUB2BUB4hYCCAGAFwGKFwoIAxgBKAEwATgBoBcBqReShxNSYzWQLA&num=1&cid=CAASFeRo4XzCkFPFI3Jqssn-k8awbPuEGA&ad_cpn=%5BCPN%5D&sig=AOD64_3EyhteBul_n44iffIPgmtQje-3uw&adurl=https://www.youtube.com/watch%3Fv%3D7hnrH_MPSaU&ctype=21&video_id=7hnrH_MPSaU" + } + }, + "ctaRenderer": { + "buttonRenderer": { + "style": "STYLE_SUGGESTIVE", + "text": { + "simpleText": "Mehr" + }, + "icon": { + "iconType": "EXTERNAL_LINK" + }, + "trackingParams": "CGEQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "command": { + "clickTrackingParams": "CGEQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://www.googleadservices.com/pagead/aclk?sa=L&ai=CUjo3pvt7Y6TEBoCk9u8PqJWAcM_Do-NrrNrl7vsPZBABIABglYKAgJgHggEXY2EtcHViLTYyMTk4MTE3NDcwNDkzNzGgAb2e5tUDqQIFdbv0AC-xPqgDBKoEiwJP0OHfXjCmQplJSLeqdyXjXxmZyWkiK8pkUKb1vv0ecn9tS8CgwXCaKaDMt0yMqg6mxwuyDxA_mB6VkJI_Xr9miNNOcnZPE1SGU_705jU4flrbgH9VtvGHIZCzQ-iMwuGqg-spKzmAbdx4N3-COOX9Wm99z3Iu1LyUkVo9iLOpV8bFU_Kj4Ve5pNlYZZyF7r3KWeQSMuwq7gmHvxAbJ6IL4s2xVy07dQnulutzEMwB_52le67Xixp43gsdlfiQcE6COfY1Akx6j8faUEQYlJuqThKoBOE625NmYF6uPEM2AVU1Qx5_0N5jL91l6ZfD4AwYB9pnzBJD3PbqXzSsHCGyOxSgOCS1GE7RaxeSBQ0IEjClk72Y_-P6jO4BkgUHCBN4-6L0KqAGVYAHq-GZKpAHBKgHhAioB6jSG6gHtgeoB-DPG6gH6dQbqAeMzRuoB7HcG6gHpJqxAqgHkZ-xAqgHsJuxAqgH36GxAqgHgcYbqAfVzhuoB6vFG6gHlQioB5zcG6gH5p2xAqgHyJ-xAqgHt6GxAqgH1amxApIICzdobnJIX01QU2FVqAgB0ggXCIDBgBAQARgAMgKiAjoIgICAgICQgAaxCfp4Fih9No4xyAkXyAmPAcgJkAHICcIBmAsBugs1CAMQBRgFIAYoATAFQAFIAFhdYABoAHABiAEAmAEBogEICgCYAgGoAgKoAQHYAQGAAgGIAgXQCxK4DAGaDQESuBP___________8BsBQDwBWBgIBA0BUB2BUB4hYCCAGAFwGKFwoIAxgBKAEwATgBoBcBqReShxNSYzWQLA&num=1&cid=CAASFeRo4XzCkFPFI3Jqssn-k8awbPuEGA&ad_cpn=%5BCPN%5D&sig=AOD64_0GqNUWizMPWPOO8f2vdRS92qQH7g&adurl=https://www.deutsches-theater.de/flashdance-das-musical-11-2022%3Fmtm_campaign%3DFlashdance-YouTube&ctype=110&video_id=7hnrH_MPSaU&label=video_click_to_advertiser_site&ms=[CLICK_MS]&nb=[NB]&nx=[NX]&ny=[NY]&dim=[DIM]", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "urlEndpoint": { + "url": "https://www.googleadservices.com/pagead/aclk?sa=L&ai=CUjo3pvt7Y6TEBoCk9u8PqJWAcM_Do-NrrNrl7vsPZBABIABglYKAgJgHggEXY2EtcHViLTYyMTk4MTE3NDcwNDkzNzGgAb2e5tUDqQIFdbv0AC-xPqgDBKoEiwJP0OHfXjCmQplJSLeqdyXjXxmZyWkiK8pkUKb1vv0ecn9tS8CgwXCaKaDMt0yMqg6mxwuyDxA_mB6VkJI_Xr9miNNOcnZPE1SGU_705jU4flrbgH9VtvGHIZCzQ-iMwuGqg-spKzmAbdx4N3-COOX9Wm99z3Iu1LyUkVo9iLOpV8bFU_Kj4Ve5pNlYZZyF7r3KWeQSMuwq7gmHvxAbJ6IL4s2xVy07dQnulutzEMwB_52le67Xixp43gsdlfiQcE6COfY1Akx6j8faUEQYlJuqThKoBOE625NmYF6uPEM2AVU1Qx5_0N5jL91l6ZfD4AwYB9pnzBJD3PbqXzSsHCGyOxSgOCS1GE7RaxeSBQ0IEjClk72Y_-P6jO4BkgUHCBN4-6L0KqAGVYAHq-GZKpAHBKgHhAioB6jSG6gHtgeoB-DPG6gH6dQbqAeMzRuoB7HcG6gHpJqxAqgHkZ-xAqgHsJuxAqgH36GxAqgHgcYbqAfVzhuoB6vFG6gHlQioB5zcG6gH5p2xAqgHyJ-xAqgHt6GxAqgH1amxApIICzdobnJIX01QU2FVqAgB0ggXCIDBgBAQARgAMgKiAjoIgICAgICQgAaxCfp4Fih9No4xyAkXyAmPAcgJkAHICcIBmAsBugs1CAMQBRgFIAYoATAFQAFIAFhdYABoAHABiAEAmAEBogEICgCYAgGoAgKoAQHYAQGAAgGIAgXQCxK4DAGaDQESuBP___________8BsBQDwBWBgIBA0BUB2BUB4hYCCAGAFwGKFwoIAxgBKAEwATgBoBcBqReShxNSYzWQLA&num=1&cid=CAASFeRo4XzCkFPFI3Jqssn-k8awbPuEGA&ad_cpn=%5BCPN%5D&sig=AOD64_0GqNUWizMPWPOO8f2vdRS92qQH7g&adurl=https://www.deutsches-theater.de/flashdance-das-musical-11-2022%3Fmtm_campaign%3DFlashdance-YouTube&ctype=110&video_id=7hnrH_MPSaU&label=video_click_to_advertiser_site&ms=[CLICK_MS]&nb=[NB]&nx=[NX]&ny=[NY]&dim=[DIM]", + "target": "TARGET_NEW_WINDOW" + } + }, + "iconPosition": "BUTTON_ICON_POSITION_TYPE_RIGHT_OF_TEXT" + } + }, + "impressionUrls": [ + "https://www.youtube.com/pagead/adview?ai=CjqTdpvt7Y6TEBoCk9u8PqJWAcM_Do-NrrNrl7vsPZBABIABglYKAgJgHggEXY2EtcHViLTYyMTk4MTE3NDcwNDkzNzGgAb2e5tUDqQIFdbv0AC-xPqgDBKoEjwJP0OHfXjCmsH8SvFUkENyHvGqq2F4XLehmXuXkoegOZ3M0eNGX9Ha1PrTwk0efiAql9kWPBgoNiRrMo4MKX5wsqslQZkV9W2yxSujxyn0jVUfsgVUht_GEIpCyaLGQx8uhn8BjImamd9dCIGbKJM6oFGBgyHIHjPSIk1sqoejkAICSE5yg_l2nptpHZJ0PwYKMAKMM-YJQ7QuS9EcXPbukgYLoQzV41mexlelmW5sN5YT_a66KnRlhgkYLg-yOZ1XiO-YxAlYvvcPcXFXhq_dHP9fMPOE3g5PGr-R3-GFo7ZvMOiK3bDmXcPubDn--ROyl1R9tNk3gcHV5sq6nLO40vKxtBCVU6OR_Pe16rj-RwAS64JLqjwSIBefbyZRDkgUNCBIwpZO9mP_j-ozuAZIFBwgTePui9CqgBlWAB6vhmSqQBwSoB4QIqAeo0huoB7YHqAfgzxuoB-nUG6gHjM0bqAex3BuoB6SasQKoB5GfsQKoB7CbsQKoB9-hsQKoB4HGG6gHq8UbqAfj2RuoB7epsQKoB-mrsQKSCAs3aG5ySF9NUFNhVagIAdIIFwiAwYAQEAEYADICogI6CICAgICAkIAGyAkXyAmPAcgJkAHICcIBugs1CAMQBRgFIAYoATAFQAFIAFhdYABoAHABiAEAmAEBogEICgCYAgGoAgKoAQHYAQGAAgGIAgW4E____________wGwFAPAFYGAgECKFwoIAxgBKAEwATgBoBcBqReShxNSYzWQLNIXCRIE_07paBiCAQ&sigh=-GJcrza2GDo&cid=CAASFeRo4XzCkFPFI3Jqssn-k8awbPuEGA" + ], + "clickTrackingUrls": [ + "https://www.youtube.com/pagead/interaction/?ai=Cz5WQpvt7Y6TEBoCk9u8PqJWAcM_Do-NrrNrl7vsPZBABIABglYKAgJgHggEXY2EtcHViLTYyMTk4MTE3NDcwNDkzNzGgAb2e5tUDqQIFdbv0AC-xPqgDBKoEiAJP0OHfXjCmQplJSLeqdyXjXxmZyWkiK8pkUKb1vv0ecn9tS8CgwXCaKaDMt0yMqg6mxwuyDxA_mB6VkJI_Xr9miNNOcnZPE1SGU_705jU4flrbgH9VtvGHIZCzQ-iMwuGqg-spKzmAbdx4N3-COOX9Wm99z3Iu1LyUkVo9iLOpV8bFU_Kj4Ve5pNlYZZyF7r3KWeQSMuwq7gmHvxAbJ6IL4s2xVy07dQnulutzEMwB_52le67Xixp43gsdlfiQcE6COfY1Akx6j8faUEQYlJuqThKoBOE625NmYF6uPEM2AVU1Qx5_0N5jL91l6ZfD4AwYX9uC2Rg-Q_p4__4tOfYzAYhbdbVmRVOSBQ0IEjClk72Y_-P6jO4BkgUHCBN4-6L0KqAGVYAHq-GZKpAHBKgHhAioB6jSG6gHtgeoB-DPG6gH6dQbqAeMzRuoB7HcG6gHpJqxAqgHkZ-xAqgHsJuxAqgH36GxAqgHgcYbqAfj2RuSCAs3aG5ySF9NUFNhVagIAdIIFwiAwYAQEAEYADICogI6CICAgICAkIAGyAkXyAmPAcgJkAHICcIBugs1CAMQBRgFIAYoATAFQAFIAFhdYABoAHABiAEAmAEBogEICgCYAgGoAgKoAQHYAQGAAgGIAgW4E____________wGwFAPAFYGAgECKFwoIAxgBKAEwATgBoBcBqReShxNSYzWQLA&sigh=cCIbMKwPRWM&cid=CAASFeRo4XzCkFPFI3Jqssn-k8awbPuEGA&label=discovery_invitation_click_to_watch&nb=[NB]&nx=[NX]&ny=[NY]&dim=[DIM]&ms=[CLICK_MS]" + ], + "trackingParams": "CF4QszciEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "menu": { + "menuRenderer": { + "items": [ + { + "menuNavigationItemRenderer": { + "text": { + "runs": [ + { + "text": "Why this ad?" + } + ] + }, + "icon": { + "iconType": "INFO" + }, + "navigationEndpoint": { + "clickTrackingParams": "CF4QszciEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "openPopupAction": { + "popup": { + "aboutThisAdRenderer": { + "url": { + "privateDoNotAccessOrElseTrustedResourceUrlWrappedValue": "https://www.youtube.com/aboutthisad?pf=web&reasons=AXLQBRwnbSNIUVFtKiW8AvVcxWP117HCg3QAiohrZdDMeGDROVoT2P5UIywfVkJkh3RVz9pxYVomStLFG2p5OQcCngFcprkbLa5mjSkIFuLMXbhe6IWR1N4_7hZj-LZOqFuNI-cg0lUHdxscGqoWHm4twL5enI_bAL-uDh0JccgmTul7xYRJokghE73gv4VqMIj5YzxByPmnvXJvHlZihMDbqur7pyLuEjejk5W5_PDj2vhgs-bF54QTZdUUiy_QDhzyBw4GVCDB7x4Y9mR1GMW9D8tITfMbhh5r2p5-CtKPsiFsWriXZEkS97UTlKFnqpVoqI0yDMwZ1U_Mh5VdfEbvuch9oQnbr1B9tcdF6NeJxqsB4kjXCcNd7ggemeGFaaiCINuZZ-Y-nwqCLL7cd-f-EAwlOZ-jiXD3WL_R7RKkx2vN-kmhPNbBY7thbNt6v3kQt4SonOMByFC4VIoVvUWWlQAyYfhx8CPdRmg0L_yO41tNxbGliJ-Bv4yLG0obhHB7_5wJEfuLRRZLmaIwGws3VrzVZhzS5koPs_HIk5MI2r2UAZ-J857gMcoWVCi3isq8nJqggkMJpsZqGJq_bAKnTt2CGMxJDQjh2yTDhBIt_M4oqKdWpBAPC2Y_zrnZn6T1SArczXWMxbWrwiIvG9GjBO5k4QYDzc_ARzoZ2TfuQW0R37dbv4WunvWDInMbjO23FM621FeJgKO06f4dhdz8N5KQkdSqV-pnTEIGjf3IJpxcbmoGFjEc8Cy3xk-6WbOYOY4HiAsXDLVOkPJ7jNRd3uW3ND506p9hwfNCZxAsGeqzMCHMTTAA_2ggB7wxwAGffXbQ5JcQnGAXt41k-JMkfahIoTvoT6Tg8B8ykI2zrwI22VhXbVIGRFHULOF3aTKBUkp03t72UiAUKJFJyrwNwLFInwKkC5PJLsCF7EcOUAGma_Wvv7p8CDmpJsJ-h9N6iuVhTS9XDxTSkLtLfHOFIBVhkGnt8BOxEpYSC6zY-00ROHaIM33qbRM6PVOCdQpsAmqHPJhuu2c0UTR5hzuRDGzuGvlkUv094RThYS7Y8Xv4FYRf9C0vkcVKEtf-PO8LvUz9FYz3hAmC-ECOTiLi332dEEuuwuHzkHX-AAp4obhWrrz-MBzpIkgPkONeD5NWAmVR2dM9z3pJQscQO0TZAk2YS9KQFiuGu97VYvTuPmCil1zta7PPJBo7HD9DCRjEe6X8YE2BvpwkS77NGFjsKTuLRR_3R7c1BbK4DrSmGIAg6Y_g5_Eqy4kcHC04Jp5Cuqh-7p0F_qG3p7SfyuNzE4I9m7IPddtxH43g5o9A1JPPcLoiPdIsH6xCWOmHIm54BXThadPWh0wGmVwq9iLPEdJnEf7gsbr6_wniQC96SjWPgNJy_dwW4BtqN1eg7t9XRR92My6yurjSxViLsneEftRSX-6gFgL2wOAJpAFsb3ClzbUrlA5_N-8c8aYS2_NhYJnDBC7DYlMym3lwsd0O0K-f_OD7A_NfVCAEKhBV_Hzd11d57i0fUbILbu4zrzPxJjN14DDv5QFLyU03pA8ntCNl8-5-7PtQc1swbu20yjPGtR7HxQtCmG9u2YBT6afscYjKH1Kk6sk3AYIXE8ClxqvoWEeZd8f2g1JB&hl=en&origin=https://www.youtube.com/" + }, + "trackingParams": "CGAQ1MsHIhMImcrspKnA-wIVJUN6BR3fPQzR" + } + }, + "popupType": "DIALOG" + } + }, + "trackingParams": "CF4QszciEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + } + ], + "trackingParams": "CF4QszciEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "thumbnailOverlays": [ + { + "thumbnailOverlayTimeStatusRenderer": { + "text": { + "accessibility": { + "accessibilityData": { + "label": "52 seconds" + } + }, + "simpleText": "0:52" + }, + "style": "DEFAULT" + } + }, + { + "thumbnailOverlayToggleButtonRenderer": { + "isToggled": false, + "untoggledIcon": { + "iconType": "WATCH_LATER" + }, + "toggledIcon": { + "iconType": "CHECK" + }, + "untoggledTooltip": "Watch later", + "toggledTooltip": "Added", + "untoggledServiceEndpoint": { + "clickTrackingParams": "CF8Q-ecDGAEiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "addedVideoId": "7hnrH_MPSaU", + "action": "ACTION_ADD_VIDEO" + } + ] + } + }, + "toggledServiceEndpoint": { + "clickTrackingParams": "CF8Q-ecDGAEiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/browse/edit_playlist" + } + }, + "playlistEditEndpoint": { + "playlistId": "WL", + "actions": [ + { + "action": "ACTION_REMOVE_VIDEO_BY_VIDEO_ID", + "removedVideoId": "7hnrH_MPSaU" + } + ] + } + }, + "untoggledAccessibility": { + "accessibilityData": { + "label": "Watch later" + } + }, + "toggledAccessibility": { + "accessibilityData": { + "label": "Added" + } + }, + "trackingParams": "CF8Q-ecDGAEiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + } + ], + "richThumbnail": { + "movingThumbnailRenderer": { + "movingThumbnailDetails": { + "thumbnails": [ + { + "url": "https://i.ytimg.com/an_webp/7hnrH_MPSaU/mqdefault_6s.webp?du=3000&sqp=CKnu75sG&rs=AOn4CLBg8BRjKnQcSlZgL_uI5DkxYdhYSw", + "width": 320, + "height": 180 + } + ], + "logAsMovingThumbnail": true + }, + "enableHoveredLogging": true, + "enableOverlay": true + } + }, + "activeView": { + "viewableCommands": [ + { + "clickTrackingParams": "CF4QszciEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "loggingUrls": [ + { + "baseUrl": "https://www.youtube.com/pcs/activeview?xai=AKAOjssgPt4HSZacDeRzox9vLcKS6m-9ZbBEBEhj3n-G2kaVZhjdBfMylnIAYFv4dx6rjK-2qfmDJWJpsaCei9zsFoiJ9xcqgf2u2A&sig=Cg0ArKJSzDZpc0khc2R2EAE&ad_cpn=[AD_CPN]&acvw=[VIEWABILITY]" + } + ], + "pingingEndpoint": { + "hack": true + } + } + ], + "endOfSessionCommands": [ + { + "clickTrackingParams": "CF4QszciEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "loggingUrls": [ + { + "baseUrl": "https://www.youtube.com/pcs/activeview?xai=AKAOjssgPt4HSZacDeRzox9vLcKS6m-9ZbBEBEhj3n-G2kaVZhjdBfMylnIAYFv4dx6rjK-2qfmDJWJpsaCei9zsFoiJ9xcqgf2u2A&sig=Cg0ArKJSzDZpc0khc2R2EAE&ad_cpn=[AD_CPN]&acvw=[VIEWABILITY]" + } + ], + "pingingEndpoint": { + "hack": true + } + } + ], + "regexUriMacroValidator": { + "emptyMap": true + } + }, + "adPlaybackContextParams": "CA8QBkIWcHZ0N1k2VEVCb0NrOXU4UHFKV0FjQYoDKSAFKAMwBjgFShMIpK_tpKnA-wIVAJL9Bx2oCgAOUgYIBTABWAFoAXBd", + "adBadge": { + "metadataBadgeRenderer": { + "style": "BADGE_STYLE_TYPE_AD", + "label": "Ad", + "trackingParams": "CF4QszciEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + } + } + } + } + } + }, + "enablePacfLoggingWeb": true + } + } + ], + "trackingParams": "CF0QkyYYACITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "channelRenderer": { + "channelId": "UCMwePVHRpDdfeUcwtDZu2Dw", + "title": { + "simpleText": "Monstafluff Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFsQ2jAYASITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MonstafluffMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCMwePVHRpDdfeUcwtDZu2Dw", + "canonicalBaseUrl": "/@MonstafluffMusic" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.ggpht.com/ytc/AMLnZu9YhTzdAoL6P4PYq51PCF076ITDrgLitxSDPqv6sw=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.ggpht.com/ytc/AMLnZu9YhTzdAoL6P4PYq51PCF076ITDrgLitxSDPqv6sw=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Music", + "bold": true + }, + { + "text": " Submissions: https://monstafluff.edmdistrict.com/" + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Monstafluff Music", + "navigationEndpoint": { + "clickTrackingParams": "CFsQ2jAYASITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MonstafluffMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCMwePVHRpDdfeUcwtDZu2Dw", + "canonicalBaseUrl": "/@MonstafluffMusic" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "582K subscribers" + } + }, + "simpleText": "582K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CFsQ2jAYASITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "subscriberCountText": { + "simpleText": "@MonstafluffMusic" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CFwQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqblUxTW93SU1aVF9hTUFmRi1nNE91alJxdDB6Z3xBQ3Jtc0trbUxfYl9pTGJ0RkhOdUQ5QlBzUmFmVW43Uk9qYS1YRmxUVElOMVZvemVUYk5wVHBhazRESmJyNEtZNTY2OWhZZkd6OGZJVmNTaEM5WURESXBfNUtHNXJPVjQ5T3NlTElPNkprWkFGdi1aOVF5SDdyWUNpWWhuTWgzakxhal9XSjJWMU9DZDZOcm12NWdXYWJMdVBYZncyZ2tmclNiQVAyYkpmclZRZXphWWNXaTdBRjBrTjJFcmRYY2V6WFg2eWFVWDZpN1M1aXZ6TU41b3Y3YmFDdWU1cGVIUkxn&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CFwQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqblUxTW93SU1aVF9hTUFmRi1nNE91alJxdDB6Z3xBQ3Jtc0trbUxfYl9pTGJ0RkhOdUQ5QlBzUmFmVW43Uk9qYS1YRmxUVElOMVZvemVUYk5wVHBhazRESmJyNEtZNTY2OWhZZkd6OGZJVmNTaEM5WURESXBfNUtHNXJPVjQ5T3NlTElPNkprWkFGdi1aOVF5SDdyWUNpWWhuTWgzakxhal9XSjJWMU9DZDZOcm12NWdXYWJMdVBYZncyZ2tmclNiQVAyYkpmclZRZXphWWNXaTdBRjBrTjJFcmRYY2V6WFg2eWFVWDZpN1M1aXZ6TU41b3Y3YmFDdWU1cGVIUkxn" + } + }, + "trackingParams": "CFwQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CFsQ2jAYASITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Monstafluff Music", + "navigationEndpoint": { + "clickTrackingParams": "CFsQ2jAYASITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MonstafluffMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCMwePVHRpDdfeUcwtDZu2Dw", + "canonicalBaseUrl": "/@MonstafluffMusic" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UCLxAS02eWvfZK4icRNzWD_g", + "title": { + "simpleText": "Music Travel Love" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFkQ2jAYAiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MusicTravelLove", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCLxAS02eWvfZK4icRNzWD_g", + "canonicalBaseUrl": "/@MusicTravelLove" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "https://yt3.ggpht.com/ytc/AMLnZu9njNDLU_VtFjfGUaTArBp4AJFhJIxb_CxP7knf3A=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "https://yt3.ggpht.com/ytc/AMLnZu9njNDLU_VtFjfGUaTArBp4AJFhJIxb_CxP7knf3A=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Welcome to the official " + }, + { + "text": "Music", + "bold": true + }, + { + "text": " Travel Love YouTube channel! We travel the world making " + }, + { + "text": "music", + "bold": true + }, + { + "text": ", friends, videos and memories!" + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Music Travel Love", + "navigationEndpoint": { + "clickTrackingParams": "CFkQ2jAYAiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MusicTravelLove", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCLxAS02eWvfZK4icRNzWD_g", + "canonicalBaseUrl": "/@MusicTravelLove" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "4.03 million subscribers" + } + }, + "simpleText": "4.03M subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "OFFICIAL_ARTIST_BADGE" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED_ARTIST", + "tooltip": "Official Artist Channel", + "trackingParams": "CFkQ2jAYAiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "accessibilityData": { + "label": "Official Artist Channel" + } + } + } + ], + "subscriberCountText": { + "simpleText": "@MusicTravelLove" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CFoQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqbWRzbk9JNzRKaU9qWi1zUnJNOUE0MTZ0TWQ5d3xBQ3Jtc0trbHBqMlJOX2NCSkt2TzcxSTkyYVA2c3loaUE0OGl1Y3FBb3JZZGZGajRZaHNNakwtOENzOVVhZ2xhakg0eFpBM0VmT0phRjRqZEFTeWptOTVJLWVwY21xWkx2b3h6VktFSkFBcTBjajlHbTczOTVxYW1QVE9TWkdfbzdrdzJQNC1KRjk0bTk4N3pzTl9zNGdlX1o5RGJMek5MRXVlSkYzMEFEbGpNMGJiSXRVcHJBTkgtLWJaWTlVOWlpdXNfXzZPVXhuVEZ6bnF4VGI2MGpCaFpjR0taZFdPSDhB&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CFoQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqbWRzbk9JNzRKaU9qWi1zUnJNOUE0MTZ0TWQ5d3xBQ3Jtc0trbHBqMlJOX2NCSkt2TzcxSTkyYVA2c3loaUE0OGl1Y3FBb3JZZGZGajRZaHNNakwtOENzOVVhZ2xhakg0eFpBM0VmT0phRjRqZEFTeWptOTVJLWVwY21xWkx2b3h6VktFSkFBcTBjajlHbTczOTVxYW1QVE9TWkdfbzdrdzJQNC1KRjk0bTk4N3pzTl9zNGdlX1o5RGJMek5MRXVlSkYzMEFEbGpNMGJiSXRVcHJBTkgtLWJaWTlVOWlpdXNfXzZPVXhuVEZ6bnF4VGI2MGpCaFpjR0taZFdPSDhB" + } + }, + "trackingParams": "CFoQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CFkQ2jAYAiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Music Travel Love", + "navigationEndpoint": { + "clickTrackingParams": "CFkQ2jAYAiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MusicTravelLove", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCLxAS02eWvfZK4icRNzWD_g", + "canonicalBaseUrl": "/@MusicTravelLove" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UCxKxjNPyL9UO5LRWHzp5JxA", + "title": { + "simpleText": "Black&White Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFcQ2jAYAyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@blackwhitemusic5836", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCxKxjNPyL9UO5LRWHzp5JxA", + "canonicalBaseUrl": "/@blackwhitemusic5836" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.ggpht.com/FDjW2-Cb6tFbtNv02D1UX4XtvP7P3eEWB93hGimeP4pb2TadVhAgxSVMZLZDp5NiBWGLT5eprA=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.ggpht.com/FDjW2-Cb6tFbtNv02D1UX4XtvP7P3eEWB93hGimeP4pb2TadVhAgxSVMZLZDp5NiBWGLT5eprA=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "MUSIC", + "bold": true + }, + { + "text": " IN HARMONY WITH YOUR LIFE!!! If any producer, label, artist or photographer has an issue with any of the " + }, + { + "text": "music", + "bold": true + }, + { + "text": " or ..." + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Black&White Music", + "navigationEndpoint": { + "clickTrackingParams": "CFcQ2jAYAyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@blackwhitemusic5836", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCxKxjNPyL9UO5LRWHzp5JxA", + "canonicalBaseUrl": "/@blackwhitemusic5836" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "167K subscribers" + } + }, + "simpleText": "167K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CFcQ2jAYAyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "subscriberCountText": { + "simpleText": "@blackwhitemusic5836" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CFgQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqbTNvT0ItT25NRHNPMDQyMllqcnlOU3VZS2pSQXxBQ3Jtc0tueDZfQmU1cUd4eFhRQ0VoVkJsaTlvaWVzU3JidlJWMHNCa1BsUm5fSFNMeDFocDN5RW9HZWc5cExHaUpscmZqN3JicGs3Z1FVbnN3cEI2ZjA0VnFUdnN3MU8wMVhRZmk5M3BDRE9BS1F0WXFJMW9XbnJUanNhUlVlY1lXUUdGTUJxenB3S0MxeXR6bGE5Wm9fSm8yZ3lvUDVvT0NfZ3FacXV5dFo0LVNTWHZaVy05Z3hNMHhJU1VWbko1NmdKVFBsa0Q5NWdta2hOMEk2VVpUVGRoVUU2OUcwWGVB&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CFgQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqbTNvT0ItT25NRHNPMDQyMllqcnlOU3VZS2pSQXxBQ3Jtc0tueDZfQmU1cUd4eFhRQ0VoVkJsaTlvaWVzU3JidlJWMHNCa1BsUm5fSFNMeDFocDN5RW9HZWc5cExHaUpscmZqN3JicGs3Z1FVbnN3cEI2ZjA0VnFUdnN3MU8wMVhRZmk5M3BDRE9BS1F0WXFJMW9XbnJUanNhUlVlY1lXUUdGTUJxenB3S0MxeXR6bGE5Wm9fSm8yZ3lvUDVvT0NfZ3FacXV5dFo0LVNTWHZaVy05Z3hNMHhJU1VWbko1NmdKVFBsa0Q5NWdta2hOMEk2VVpUVGRoVUU2OUcwWGVB" + } + }, + "trackingParams": "CFgQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CFcQ2jAYAyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Black&White Music", + "navigationEndpoint": { + "clickTrackingParams": "CFcQ2jAYAyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@blackwhitemusic5836", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCxKxjNPyL9UO5LRWHzp5JxA", + "canonicalBaseUrl": "/@blackwhitemusic5836" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UCGIygiYkKxn7g7fFNFdXskg", + "title": { + "simpleText": "HAEVN MUSIC" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFUQ2jAYBCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@HAEVNMUSIC", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCGIygiYkKxn7g7fFNFdXskg", + "canonicalBaseUrl": "/@HAEVNMUSIC" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.ggpht.com/EYlGIfqhvwtfkCyi5vpqfY_kDHr6L3OeCmkudNiAyhvz6UCnTZQOQaM-8PelFDGofdIqeF7Mb4E=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.ggpht.com/EYlGIfqhvwtfkCyi5vpqfY_kDHr6L3OeCmkudNiAyhvz6UCnTZQOQaM-8PelFDGofdIqeF7Mb4E=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "The official YouTube channel of HAEVN " + }, + { + "text": "Music", + "bold": true + }, + { + "text": ". Receiving a piano from his grandfather had a great impact on Jorrit's life." + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "HAEVN MUSIC", + "navigationEndpoint": { + "clickTrackingParams": "CFUQ2jAYBCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@HAEVNMUSIC", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCGIygiYkKxn7g7fFNFdXskg", + "canonicalBaseUrl": "/@HAEVNMUSIC" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "411K subscribers" + } + }, + "simpleText": "411K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "OFFICIAL_ARTIST_BADGE" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED_ARTIST", + "tooltip": "Official Artist Channel", + "trackingParams": "CFUQ2jAYBCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "accessibilityData": { + "label": "Official Artist Channel" + } + } + } + ], + "subscriberCountText": { + "simpleText": "@HAEVNMUSIC" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CFYQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqa2hWYTJlLVYySlZzNGstOGhSMnJwQjZtbkZYZ3xBQ3Jtc0tsajhBeXpGbWFneUMxQ1YtM1g2b0w3Y3FOVktTUXdxWnIxUGtGZVVaNjd3RG9JSExTN0x5VlNMVFlCdi1fckcxazNZNDZKYjY0OHZZRWtpY21tRW9BeTRvWHdBazgxLUhreVFXWlFKR2JKa3JBZEo0SE1HUXRvNDlBQ0pMM1JTMjRkeTJIZ1M3VlZpLWM4bnlEREtwcVVFZXZiRjNXdHBtWDlnZlJkLTQyOWtJQms5ZE83N3VVbWhtVVFkUk1SU0pmWVhQYWlyWDd0aTViYUw2MTJUTTN4SzAtYTJ3&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CFYQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqa2hWYTJlLVYySlZzNGstOGhSMnJwQjZtbkZYZ3xBQ3Jtc0tsajhBeXpGbWFneUMxQ1YtM1g2b0w3Y3FOVktTUXdxWnIxUGtGZVVaNjd3RG9JSExTN0x5VlNMVFlCdi1fckcxazNZNDZKYjY0OHZZRWtpY21tRW9BeTRvWHdBazgxLUhreVFXWlFKR2JKa3JBZEo0SE1HUXRvNDlBQ0pMM1JTMjRkeTJIZ1M3VlZpLWM4bnlEREtwcVVFZXZiRjNXdHBtWDlnZlJkLTQyOWtJQms5ZE83N3VVbWhtVVFkUk1SU0pmWVhQYWlyWDd0aTViYUw2MTJUTTN4SzAtYTJ3" + } + }, + "trackingParams": "CFYQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CFUQ2jAYBCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "HAEVN MUSIC", + "navigationEndpoint": { + "clickTrackingParams": "CFUQ2jAYBCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@HAEVNMUSIC", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCGIygiYkKxn7g7fFNFdXskg", + "canonicalBaseUrl": "/@HAEVNMUSIC" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UClvNJkDHdc1gvFGN_Fr_qPw", + "title": { + "simpleText": "Artemis Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFMQ2jAYBSITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@artemismusic1000", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UClvNJkDHdc1gvFGN_Fr_qPw", + "canonicalBaseUrl": "/@artemismusic1000" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.ggpht.com/rGXIwYAhI49rKBQmw_pKFMv9yEt4euHnmXOE0OOCD6ApdQXGnuPmEv7TK7cDjrjt0rUXYHuw=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.ggpht.com/rGXIwYAhI49rKBQmw_pKFMv9yEt4euHnmXOE0OOCD6ApdQXGnuPmEv7TK7cDjrjt0rUXYHuw=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Hello and welcome to \"Artemis " + }, + { + "text": "Music", + "bold": true + }, + { + "text": "\"! " + }, + { + "text": "Music", + "bold": true + }, + { + "text": " can play an effective role in helping us lead a better and more productive life." + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Artemis Music", + "navigationEndpoint": { + "clickTrackingParams": "CFMQ2jAYBSITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@artemismusic1000", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UClvNJkDHdc1gvFGN_Fr_qPw", + "canonicalBaseUrl": "/@artemismusic1000" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "31.2K subscribers" + } + }, + "simpleText": "31.2K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "subscriberCountText": { + "simpleText": "@artemismusic1000" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CFQQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqa3JZVEpINjFCQjlJMFRtTDZNaE4zdGdmMHU1QXxBQ3Jtc0tuaXFtUjFDU0FTX2NNdlp6ZUZMcDVkc3UtNlBmZVpDbzd1bll5WVdjbXcxWWZkUU9fMFFodGE4VllnT19LMFVmSGRLM2pROHdxSWJIU253aG1oMU1ZbW1fbjZpb3FTdHc2bklVY0lUUWhjNnVNZUkxajVxbDJ0NlhCanpDRURNVWlaMG9NOEtiOV9WZHM1SVlnYUwyb1cwTGZvUVl0d2xJM2diOWtWYkZaQXhxQUpFSG1EMEFmdmRkbnFvcFE3U2huXzJGN1B1VWJzV1JrbVBmV1F5cVlxSDU1YnhB&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CFQQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqa3JZVEpINjFCQjlJMFRtTDZNaE4zdGdmMHU1QXxBQ3Jtc0tuaXFtUjFDU0FTX2NNdlp6ZUZMcDVkc3UtNlBmZVpDbzd1bll5WVdjbXcxWWZkUU9fMFFodGE4VllnT19LMFVmSGRLM2pROHdxSWJIU253aG1oMU1ZbW1fbjZpb3FTdHc2bklVY0lUUWhjNnVNZUkxajVxbDJ0NlhCanpDRURNVWlaMG9NOEtiOV9WZHM1SVlnYUwyb1cwTGZvUVl0d2xJM2diOWtWYkZaQXhxQUpFSG1EMEFmdmRkbnFvcFE3U2huXzJGN1B1VWJzV1JrbVBmV1F5cVlxSDU1YnhB" + } + }, + "trackingParams": "CFQQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CFMQ2jAYBSITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Artemis Music", + "navigationEndpoint": { + "clickTrackingParams": "CFMQ2jAYBSITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@artemismusic1000", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UClvNJkDHdc1gvFGN_Fr_qPw", + "canonicalBaseUrl": "/@artemismusic1000" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UC5r3j8tQsB3MYZiwQFGKrdA", + "title": { + "simpleText": "Disco Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFEQ2jAYBiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@discomusic9273", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC5r3j8tQsB3MYZiwQFGKrdA", + "canonicalBaseUrl": "/@discomusic9273" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.ggpht.com/5nqhAdf26KoSKbfUB8kvhJo6rpMQw3XS345h8ZNmeXScqlB1KjJAM0T371r3QcS1mA1LZg9B1Po=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.ggpht.com/5nqhAdf26KoSKbfUB8kvhJo6rpMQw3XS345h8ZNmeXScqlB1KjJAM0T371r3QcS1mA1LZg9B1Po=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Music", + "bold": true + }, + { + "text": " is the only language in which you cannot say a mean or sarcastic thing. Have fun listening to " + }, + { + "text": "music", + "bold": true + }, + { + "text": "." + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Disco Music", + "navigationEndpoint": { + "clickTrackingParams": "CFEQ2jAYBiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@discomusic9273", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC5r3j8tQsB3MYZiwQFGKrdA", + "canonicalBaseUrl": "/@discomusic9273" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "372K subscribers" + } + }, + "simpleText": "372K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CFEQ2jAYBiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "subscriberCountText": { + "simpleText": "@discomusic9273" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CFIQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqbEhPUXhHVG9zX2sxeU92dEFjeVRvNnc3NWcxQXxBQ3Jtc0trY2MxZHFCQ3hSRGhqeWZkX1VLZHl2YnZfUVBqZVBMSUlDVUhVcjNMeWFQUkJwY1NMSFVWOGJ4Unh4TjRSYW5QR21CYVhxSHpiV3hyVXFNYm9fbHcydjNfR1RHVEdNODlueVlFZldIRDVWeUQ4aG41VlNFMS1VRmRsd1FLWlpQXzRNTzltcWhLXzRDemJROXpFYllJQnp6RDIxTTdBSHNUMGN4YnBjN08yckt3QmFJckRHN2xVZGMxaVNvY2dsMHdMVEY1RUZzTFlWSHZTUlJlN3NycnZyV25FaVhB&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CFIQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqbEhPUXhHVG9zX2sxeU92dEFjeVRvNnc3NWcxQXxBQ3Jtc0trY2MxZHFCQ3hSRGhqeWZkX1VLZHl2YnZfUVBqZVBMSUlDVUhVcjNMeWFQUkJwY1NMSFVWOGJ4Unh4TjRSYW5QR21CYVhxSHpiV3hyVXFNYm9fbHcydjNfR1RHVEdNODlueVlFZldIRDVWeUQ4aG41VlNFMS1VRmRsd1FLWlpQXzRNTzltcWhLXzRDemJROXpFYllJQnp6RDIxTTdBSHNUMGN4YnBjN08yckt3QmFJckRHN2xVZGMxaVNvY2dsMHdMVEY1RUZzTFlWSHZTUlJlN3NycnZyV25FaVhB" + } + }, + "trackingParams": "CFIQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CFEQ2jAYBiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Disco Music", + "navigationEndpoint": { + "clickTrackingParams": "CFEQ2jAYBiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@discomusic9273", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC5r3j8tQsB3MYZiwQFGKrdA", + "canonicalBaseUrl": "/@discomusic9273" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UCNZYpcqym8gHcNg2GWcC6nQ", + "title": { + "simpleText": "S!X - Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CE8Q2jAYByITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@s1x-music", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCNZYpcqym8gHcNg2GWcC6nQ", + "canonicalBaseUrl": "/@s1x-music" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu_1NOzbZUJWZjtmD4NTsb9BR-TNIAzNoajv0TisvQ=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu_1NOzbZUJWZjtmD4NTsb9BR-TNIAzNoajv0TisvQ=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "S!X - " + }, + { + "text": "Music", + "bold": true + }, + { + "text": " is an independent Hip-Hop label. Soundcloud : https://soundcloud.com/s1xmusic Facebook ..." + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "S!X - Music", + "navigationEndpoint": { + "clickTrackingParams": "CE8Q2jAYByITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@s1x-music", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCNZYpcqym8gHcNg2GWcC6nQ", + "canonicalBaseUrl": "/@s1x-music" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "178K subscribers" + } + }, + "simpleText": "178K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CE8Q2jAYByITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "subscriberCountText": { + "simpleText": "@s1x-music" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CFAQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqblNCSVM4WHgxNWh6clE2ckdfaE93X192bTdzZ3xBQ3Jtc0tseXNzLUw3RnctUHJvMm5hbGplWFlZY1RKVmZoVHJWMmhBVzJ1QkRWT0EtWTFvTTZoa3QyS3lOSkc5eVBITXlUQ3pjdGptcG1NN3ZEXzVDS09LT1JlZzJaTjVZcFl2SXlMczdaVXlYaGs1U0txWi12NUV1YU9QWHd4czZUUlBnTEYyUnZ0S1FKZkxfUGQ5UldaYWdOSmktbTZSWkstMk9uZVNlWkdRRnExMlFIaEFnYTRhUDhwaFZUOEtSMVYxdGxiOGJsZXFXN0lDTmlBcEw2NXNaT0NsVS14VV9n&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CFAQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqblNCSVM4WHgxNWh6clE2ckdfaE93X192bTdzZ3xBQ3Jtc0tseXNzLUw3RnctUHJvMm5hbGplWFlZY1RKVmZoVHJWMmhBVzJ1QkRWT0EtWTFvTTZoa3QyS3lOSkc5eVBITXlUQ3pjdGptcG1NN3ZEXzVDS09LT1JlZzJaTjVZcFl2SXlMczdaVXlYaGs1U0txWi12NUV1YU9QWHd4czZUUlBnTEYyUnZ0S1FKZkxfUGQ5UldaYWdOSmktbTZSWkstMk9uZVNlWkdRRnExMlFIaEFnYTRhUDhwaFZUOEtSMVYxdGxiOGJsZXFXN0lDTmlBcEw2NXNaT0NsVS14VV9n" + } + }, + "trackingParams": "CFAQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CE8Q2jAYByITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "S!X - Music", + "navigationEndpoint": { + "clickTrackingParams": "CE8Q2jAYByITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@s1x-music", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCNZYpcqym8gHcNg2GWcC6nQ", + "canonicalBaseUrl": "/@s1x-music" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UCoEryX-WO7IHBGqTAC5r9Zw", + "title": { + "simpleText": "Shake Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CE0Q2jAYCCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@ShakeMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCoEryX-WO7IHBGqTAC5r9Zw", + "canonicalBaseUrl": "/@ShakeMusic" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu9fMXUALsloNUJ_wLpqCS0ovprvc5W-XwfrpmWqIw=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu9fMXUALsloNUJ_wLpqCS0ovprvc5W-XwfrpmWqIw=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Welcome to Shake " + }, + { + "text": "Music", + "bold": true + }, + { + "text": ", a Trap & Bass Channel / Record Label dedicated to bringing you the best tracks. All tracks on Shake ..." + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Shake Music", + "navigationEndpoint": { + "clickTrackingParams": "CE0Q2jAYCCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@ShakeMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCoEryX-WO7IHBGqTAC5r9Zw", + "canonicalBaseUrl": "/@ShakeMusic" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "1.04 million subscribers" + } + }, + "simpleText": "1.04M subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CE0Q2jAYCCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "subscriberCountText": { + "simpleText": "@ShakeMusic" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CE4Q8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqbWgybzFtcmJHZ1huUDJCWFRzSHo1V2pZcmYtQXxBQ3Jtc0tsRHRRclpkV195UVdyLTJkQjFWZmowaWJ5cEIwVXh6Y0VQQ2htZ2ltZTNlM1B1TTdPdkxVUUIwaGxMRU5qMVJveDRGc0ZFVU1WT0ZYaUNiZGhTck9hakliREdxem1kc1lmT19maFNna2FQY2xGS2hMbG5ISXJjWEQ2TmxpZjg2bGtSLTNKZG1nVnRTanBPeGV5dk9BNXQtRTB0dHZLcU1mTDhhMHhWUmN6aGxicWZ0YkVsMWZSNlRMS3dKRmdpYmVpS1RwODlKck1qTnVReVQ2TjVENUk0bWdlSTln&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CE4Q8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqbWgybzFtcmJHZ1huUDJCWFRzSHo1V2pZcmYtQXxBQ3Jtc0tsRHRRclpkV195UVdyLTJkQjFWZmowaWJ5cEIwVXh6Y0VQQ2htZ2ltZTNlM1B1TTdPdkxVUUIwaGxMRU5qMVJveDRGc0ZFVU1WT0ZYaUNiZGhTck9hakliREdxem1kc1lmT19maFNna2FQY2xGS2hMbG5ISXJjWEQ2TmxpZjg2bGtSLTNKZG1nVnRTanBPeGV5dk9BNXQtRTB0dHZLcU1mTDhhMHhWUmN6aGxicWZ0YkVsMWZSNlRMS3dKRmdpYmVpS1RwODlKck1qTnVReVQ2TjVENUk0bWdlSTln" + } + }, + "trackingParams": "CE4Q8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CE0Q2jAYCCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Shake Music", + "navigationEndpoint": { + "clickTrackingParams": "CE0Q2jAYCCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@ShakeMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCoEryX-WO7IHBGqTAC5r9Zw", + "canonicalBaseUrl": "/@ShakeMusic" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UCTJ9Qg-1vBu2pP_YrWUfGnQ", + "title": { + "simpleText": "Miracle Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEsQ2jAYCSITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@miraclemusic2328", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCTJ9Qg-1vBu2pP_YrWUfGnQ", + "canonicalBaseUrl": "/@miraclemusic2328" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.ggpht.com/3RMarDSmUSIexCXWCpMUkqV64uiHDXTidBLwsObHstx5-AbB8h_n8Zy1W9JymURd7ivzlDEGFw=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.ggpht.com/3RMarDSmUSIexCXWCpMUkqV64uiHDXTidBLwsObHstx5-AbB8h_n8Zy1W9JymURd7ivzlDEGFw=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Welcome to Miracle " + }, + { + "text": "Music", + "bold": true + }, + { + "text": "! On this channel you will find a wide variety of different Deep House, Tropical House, Chill Out, EDM,." + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Miracle Music", + "navigationEndpoint": { + "clickTrackingParams": "CEsQ2jAYCSITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@miraclemusic2328", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCTJ9Qg-1vBu2pP_YrWUfGnQ", + "canonicalBaseUrl": "/@miraclemusic2328" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "822K subscribers" + } + }, + "simpleText": "822K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CEsQ2jAYCSITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "subscriberCountText": { + "simpleText": "@miraclemusic2328" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CEwQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqbnVkV0c3OWctRTZfVlV1TlI0Mm0tZldqeUNHUXxBQ3Jtc0ttQ0xlazZoMXpIOXpaR2k0RE1GUjZwVXNTbzlyQ1lUZlNfc1ExV09xOXFaVUVvVnZRbzFudm5LUlV0bmtqNVI0STB6UHhRM01FRHFXWi1tb2ZqWFRieVN5THQ3Y25ETmhpOVlYSU8wdU12eUtRRS1pbWhQRVdhVU9zSTRKMDRpVkpKU2p1YUlfWkNXUUVBT3RibkZYUHBLaHZGVWp3RjloTVNHTWJGdWloZExsV3ZPOFg2ZmttRTlfQ3dNcmRacU00YjBKbTBYR0MwX1otdFlYMUhHcmROUHRPd3FB&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CEwQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqbnVkV0c3OWctRTZfVlV1TlI0Mm0tZldqeUNHUXxBQ3Jtc0ttQ0xlazZoMXpIOXpaR2k0RE1GUjZwVXNTbzlyQ1lUZlNfc1ExV09xOXFaVUVvVnZRbzFudm5LUlV0bmtqNVI0STB6UHhRM01FRHFXWi1tb2ZqWFRieVN5THQ3Y25ETmhpOVlYSU8wdU12eUtRRS1pbWhQRVdhVU9zSTRKMDRpVkpKU2p1YUlfWkNXUUVBT3RibkZYUHBLaHZGVWp3RjloTVNHTWJGdWloZExsV3ZPOFg2ZmttRTlfQ3dNcmRacU00YjBKbTBYR0MwX1otdFlYMUhHcmROUHRPd3FB" + } + }, + "trackingParams": "CEwQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CEsQ2jAYCSITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Miracle Music", + "navigationEndpoint": { + "clickTrackingParams": "CEsQ2jAYCSITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@miraclemusic2328", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCTJ9Qg-1vBu2pP_YrWUfGnQ", + "canonicalBaseUrl": "/@miraclemusic2328" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UCp6_KuNhT0kcFk-jXw9Tivg", + "title": { + "simpleText": "Magic Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEkQ2jAYCiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MagicMusicGroup", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCp6_KuNhT0kcFk-jXw9Tivg", + "canonicalBaseUrl": "/@MagicMusicGroup" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu-fgSc_lceD4fRL_y0b3MKd2k54DF-laDAR3Avbuw=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu-fgSc_lceD4fRL_y0b3MKd2k54DF-laDAR3Avbuw=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Magic Music", + "navigationEndpoint": { + "clickTrackingParams": "CEkQ2jAYCiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MagicMusicGroup", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCp6_KuNhT0kcFk-jXw9Tivg", + "canonicalBaseUrl": "/@MagicMusicGroup" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "4.62 million subscribers" + } + }, + "simpleText": "4.62M subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CEkQ2jAYCiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "subscriberCountText": { + "simpleText": "@MagicMusicGroup" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CEoQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqbkJHclVsaWVfNms1QjdOV1h2UHpxVWh4ZzJiZ3xBQ3Jtc0ttaDM1R0Rkc005Tkx5TVBCLXBSUnlhTFRPS2xoc2tYcGxnQU54blEtRENOWUgwYTlXazZ6RXp3eVpUUkgyYzZvYjBld1g0NDVDY0N2X0lNX3BLcGdINmRRaTd4ZmZxYTZpeUhZZUt1a1JZN3ZOZmFZMHNqOUZjTlVSdW56WWJSRi1xbFlJYkQ4N2NoMVV0NUVRT01weEU2b1Q1Z1hjMmdoMm1zcHItNjRuTWZsdjhFemR6Z09EVlgtTFhxQXRJb25iX1I5VXFQRkVjdlp5Ni16VU9wd0N6UzQ2Q05B&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CEoQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqbkJHclVsaWVfNms1QjdOV1h2UHpxVWh4ZzJiZ3xBQ3Jtc0ttaDM1R0Rkc005Tkx5TVBCLXBSUnlhTFRPS2xoc2tYcGxnQU54blEtRENOWUgwYTlXazZ6RXp3eVpUUkgyYzZvYjBld1g0NDVDY0N2X0lNX3BLcGdINmRRaTd4ZmZxYTZpeUhZZUt1a1JZN3ZOZmFZMHNqOUZjTlVSdW56WWJSRi1xbFlJYkQ4N2NoMVV0NUVRT01weEU2b1Q1Z1hjMmdoMm1zcHItNjRuTWZsdjhFemR6Z09EVlgtTFhxQXRJb25iX1I5VXFQRkVjdlp5Ni16VU9wd0N6UzQ2Q05B" + } + }, + "trackingParams": "CEoQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CEkQ2jAYCiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Magic Music", + "navigationEndpoint": { + "clickTrackingParams": "CEkQ2jAYCiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MagicMusicGroup", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCp6_KuNhT0kcFk-jXw9Tivg", + "canonicalBaseUrl": "/@MagicMusicGroup" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UCe55Gy-hFDvLZp8C8BZhBnw", + "title": { + "simpleText": "Nightblue Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEcQ2jAYCyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@NightblueMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCe55Gy-hFDvLZp8C8BZhBnw", + "canonicalBaseUrl": "/@NightblueMusic" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu-29SYt5qpqMP9Xi2A98mqL8ymI5Lg7Vzx-qpY09w=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu-29SYt5qpqMP9Xi2A98mqL8ymI5Lg7Vzx-qpY09w=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "BRINGING YOU ONLY THE BEST EDM - TRAP Submit your own track for promotion here: ..." + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Nightblue Music", + "navigationEndpoint": { + "clickTrackingParams": "CEcQ2jAYCyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@NightblueMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCe55Gy-hFDvLZp8C8BZhBnw", + "canonicalBaseUrl": "/@NightblueMusic" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "1.05 million subscribers" + } + }, + "simpleText": "1.05M subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CEcQ2jAYCyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "subscriberCountText": { + "simpleText": "@NightblueMusic" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CEgQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqa1o4SDRmT2dpMWJQdmJwQkg4OGxPWGtuTHBrd3xBQ3Jtc0ttM2VaeEdVY3RCSWJ2MDRielF0R0YyYW9wQjZLX1Y1elcxVFhKMnNETnZob19ZNG5Xc1JoYzdQVXo1d2FaOUkxRjBiUFZoSVRUbVoyZHlpS2ROQ2tXOWh5cjc3bUp1YXlvU1FRT2psZTI0cl8zbHEteTl6YTR0STNOMGU3d1FBT1BmWEE3cnpseG9QZWFRbkJXNjZHZ3BsRTRTM3p6bGt4UkpIY1NXbExhcFItcFVyUE5DekdIbjROcDBVYTMwSWIxUWh2UklEbGFScGh6RGt5Q2lNQjZkeWpKQTFn&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CEgQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqa1o4SDRmT2dpMWJQdmJwQkg4OGxPWGtuTHBrd3xBQ3Jtc0ttM2VaeEdVY3RCSWJ2MDRielF0R0YyYW9wQjZLX1Y1elcxVFhKMnNETnZob19ZNG5Xc1JoYzdQVXo1d2FaOUkxRjBiUFZoSVRUbVoyZHlpS2ROQ2tXOWh5cjc3bUp1YXlvU1FRT2psZTI0cl8zbHEteTl6YTR0STNOMGU3d1FBT1BmWEE3cnpseG9QZWFRbkJXNjZHZ3BsRTRTM3p6bGt4UkpIY1NXbExhcFItcFVyUE5DekdIbjROcDBVYTMwSWIxUWh2UklEbGFScGh6RGt5Q2lNQjZkeWpKQTFn" + } + }, + "trackingParams": "CEgQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CEcQ2jAYCyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Nightblue Music", + "navigationEndpoint": { + "clickTrackingParams": "CEcQ2jAYCyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@NightblueMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCe55Gy-hFDvLZp8C8BZhBnw", + "canonicalBaseUrl": "/@NightblueMusic" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UC2fVSthyWxWSjsiEAHPzriQ", + "title": { + "simpleText": "Mr_MoMo Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEUQ2jAYDCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MrMoMoMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2fVSthyWxWSjsiEAHPzriQ", + "canonicalBaseUrl": "/@MrMoMoMusic" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.ggpht.com/7YG4jSrhx_Mfi2TsV0rJFlFARaR8kl7ilcIyzs6gSeNjwn-J88DvDWD8PSNd5o03qJRzpvhs=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.ggpht.com/7YG4jSrhx_Mfi2TsV0rJFlFARaR8kl7ilcIyzs6gSeNjwn-J88DvDWD8PSNd5o03qJRzpvhs=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Hey there! I am Mr MoMo My channel focus on Japan " + }, + { + "text": "music", + "bold": true + }, + { + "text": ", lofi, trap & bass type beat and Japanese instrumental. I mindfully ..." + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Mr_MoMo Music", + "navigationEndpoint": { + "clickTrackingParams": "CEUQ2jAYDCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MrMoMoMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2fVSthyWxWSjsiEAHPzriQ", + "canonicalBaseUrl": "/@MrMoMoMusic" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "709K subscribers" + } + }, + "simpleText": "709K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CEUQ2jAYDCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "subscriberCountText": { + "simpleText": "@MrMoMoMusic" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CEYQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqbmlYRjYzS2tNaUJfV3JLUmhrZW5wcG5mMHlMZ3xBQ3Jtc0tsbEVZZDlFWDFUTEc2c195a042LWljZnNmM3hGN0xISlRJX1JrZE0wQ0RhQ0s4WGZiS3hNNDlEQldXZi13RHZVdUlrUkI2SndhVy15SGhjZ3ZuNklFakZPSThCRGhiMUdKZWgtUlc2Q3Q5SHFyemlyZ01UTGRCTm05UVdNVWRTVHhIMDM2d1JLTWtlSDM5T1k3OXFGTnZWMVlSaU90WGJ5Ni1oZmhCOWNQRS1OeUZ4MDVYU25QVUhvVjhmX2Eydml6U29OTktXeDlBMVF0cVVhVno0S2g4ckd5MFFn&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CEYQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqbmlYRjYzS2tNaUJfV3JLUmhrZW5wcG5mMHlMZ3xBQ3Jtc0tsbEVZZDlFWDFUTEc2c195a042LWljZnNmM3hGN0xISlRJX1JrZE0wQ0RhQ0s4WGZiS3hNNDlEQldXZi13RHZVdUlrUkI2SndhVy15SGhjZ3ZuNklFakZPSThCRGhiMUdKZWgtUlc2Q3Q5SHFyemlyZ01UTGRCTm05UVdNVWRTVHhIMDM2d1JLTWtlSDM5T1k3OXFGTnZWMVlSaU90WGJ5Ni1oZmhCOWNQRS1OeUZ4MDVYU25QVUhvVjhmX2Eydml6U29OTktXeDlBMVF0cVVhVno0S2g4ckd5MFFn" + } + }, + "trackingParams": "CEYQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CEUQ2jAYDCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Mr_MoMo Music", + "navigationEndpoint": { + "clickTrackingParams": "CEUQ2jAYDCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MrMoMoMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC2fVSthyWxWSjsiEAHPzriQ", + "canonicalBaseUrl": "/@MrMoMoMusic" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UCN31w7dRjjz8CeP0GfSIo8A", + "title": { + "simpleText": "Danit Music Official" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEMQ2jAYDSITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@danitmusicofficial5734", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCN31w7dRjjz8CeP0GfSIo8A", + "canonicalBaseUrl": "/@danitmusicofficial5734" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.ggpht.com/ytc/AMLnZu9rUKtDsY-aSoE5WEwAQxvQTXiuAPYMBoJQ2mYTUA=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.ggpht.com/ytc/AMLnZu9rUKtDsY-aSoE5WEwAQxvQTXiuAPYMBoJQ2mYTUA=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Danit Music Official", + "navigationEndpoint": { + "clickTrackingParams": "CEMQ2jAYDSITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@danitmusicofficial5734", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCN31w7dRjjz8CeP0GfSIo8A", + "canonicalBaseUrl": "/@danitmusicofficial5734" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "54.4K subscribers" + } + }, + "simpleText": "54.4K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "subscriberCountText": { + "simpleText": "@danitmusicofficial5734" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CEQQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqbHRaWnVkVTlsd2dnN3lNVlAxRmpFUEVtVEREZ3xBQ3Jtc0ttbVdMM0NWSEFaSmJ4cE16U0NRcjhfV0RCbmQtMGlLc28waGIzbVZKOWNQalNGbjBlSXBuMjRzWktNQUtpT2NaNjV0U0dYOWRpVkZGRUdpWEJGc0x0UUROZDA0SXNtTFpabFBzNjBBekt0NjFWT1MzRk80M2NTaDU2Q3FBbDhqQ0tWQ3lNYWRINTVQSXVwQ2pjT0hmdmxDVmI0WWROOU90X1oxTWdpczdOWi1hNUdkTWlpQmtVQlpNbjVubGdEcElJRGg5TzNYazR6RjlSVVdtcUNtdU02RXBBTWdn&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CEQQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqbHRaWnVkVTlsd2dnN3lNVlAxRmpFUEVtVEREZ3xBQ3Jtc0ttbVdMM0NWSEFaSmJ4cE16U0NRcjhfV0RCbmQtMGlLc28waGIzbVZKOWNQalNGbjBlSXBuMjRzWktNQUtpT2NaNjV0U0dYOWRpVkZGRUdpWEJGc0x0UUROZDA0SXNtTFpabFBzNjBBekt0NjFWT1MzRk80M2NTaDU2Q3FBbDhqQ0tWQ3lNYWRINTVQSXVwQ2pjT0hmdmxDVmI0WWROOU90X1oxTWdpczdOWi1hNUdkTWlpQmtVQlpNbjVubGdEcElJRGg5TzNYazR6RjlSVVdtcUNtdU02RXBBTWdn" + } + }, + "trackingParams": "CEQQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CEMQ2jAYDSITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Danit Music Official", + "navigationEndpoint": { + "clickTrackingParams": "CEMQ2jAYDSITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@danitmusicofficial5734", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCN31w7dRjjz8CeP0GfSIo8A", + "canonicalBaseUrl": "/@danitmusicofficial5734" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UCpEHWiTMk1eEBAdzBnAb3rA", + "title": { + "simpleText": "Energy Transformation Relaxing Music " + }, + "navigationEndpoint": { + "clickTrackingParams": "CEEQ2jAYDiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@energytransformationrelaxi5596", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCpEHWiTMk1eEBAdzBnAb3rA", + "canonicalBaseUrl": "/@energytransformationrelaxi5596" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.ggpht.com/RR7upyAvT7N0_qlZWfLlDSRPhLufX4W4X6-qahWvuvDCLn2cWCs0yh_HXB2iwGbk_MTwSqwWEQ=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.ggpht.com/RR7upyAvT7N0_qlZWfLlDSRPhLufX4W4X6-qahWvuvDCLn2cWCs0yh_HXB2iwGbk_MTwSqwWEQ=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Welcome to our Energy Transformation Relaxing " + }, + { + "text": "Music", + "bold": true + }, + { + "text": " . This chakra " + }, + { + "text": "music", + "bold": true + }, + { + "text": " channel will focus on developing the best chakra ..." + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Energy Transformation Relaxing Music ", + "navigationEndpoint": { + "clickTrackingParams": "CEEQ2jAYDiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@energytransformationrelaxi5596", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCpEHWiTMk1eEBAdzBnAb3rA", + "canonicalBaseUrl": "/@energytransformationrelaxi5596" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "3.59K subscribers" + } + }, + "simpleText": "3.59K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "subscriberCountText": { + "simpleText": "@energytransformationrelaxi5596" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CEIQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqbEJKZU1CZUNPWl9DQlZpSTNoM0YzNE5jNGZKQXxBQ3Jtc0tsX3Y1RVZfa3BWVFhrQkw0VE5IWkFkaTdjMWNMMHNSNFQ5V0FQVTdlc29XcnFKSGpZOGRKQk5oQVRUNWFBa2tEc3BTUm1Odi1KQUd3N1p0N1VsV2w0dHc5MzMzaFpZUjg3YTllLThXaU5id1pyb0dmTDlYUDRaeVJtS2otVkxuVlVhZUVGa3ZCWHR0RGxZbmtFeUF5YVhXQ2FqcDNjQkR0TTZOWFZFM0Z1aEc3TEs4ODlBNnBHZU44ZmoyazRJYkwwU2dxQmNxWl90VDAxeHBwX2piTnFmWlo2OHZn&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CEIQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqbEJKZU1CZUNPWl9DQlZpSTNoM0YzNE5jNGZKQXxBQ3Jtc0tsX3Y1RVZfa3BWVFhrQkw0VE5IWkFkaTdjMWNMMHNSNFQ5V0FQVTdlc29XcnFKSGpZOGRKQk5oQVRUNWFBa2tEc3BTUm1Odi1KQUd3N1p0N1VsV2w0dHc5MzMzaFpZUjg3YTllLThXaU5id1pyb0dmTDlYUDRaeVJtS2otVkxuVlVhZUVGa3ZCWHR0RGxZbmtFeUF5YVhXQ2FqcDNjQkR0TTZOWFZFM0Z1aEc3TEs4ODlBNnBHZU44ZmoyazRJYkwwU2dxQmNxWl90VDAxeHBwX2piTnFmWlo2OHZn" + } + }, + "trackingParams": "CEIQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CEEQ2jAYDiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Energy Transformation Relaxing Music ", + "navigationEndpoint": { + "clickTrackingParams": "CEEQ2jAYDiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@energytransformationrelaxi5596", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCpEHWiTMk1eEBAdzBnAb3rA", + "canonicalBaseUrl": "/@energytransformationrelaxi5596" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UCqswUMaC5yWUrkQszr8fuBA", + "title": { + "simpleText": "Nonstop Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CD8Q2jAYDyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@nonstopmusic9993", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCqswUMaC5yWUrkQszr8fuBA", + "canonicalBaseUrl": "/@nonstopmusic9993" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu9vLN62RxNbnpa20r5XreWRlVjHXbHf7BMcvSBxoQ=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu9vLN62RxNbnpa20r5XreWRlVjHXbHf7BMcvSBxoQ=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Nonstop " + }, + { + "text": "Music", + "bold": true + }, + { + "text": " - Home of 1h videos of your favourite songs and mixes. Nonstop Genres: Pop • Chillout • Tropical House • Deep ..." + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Nonstop Music", + "navigationEndpoint": { + "clickTrackingParams": "CD8Q2jAYDyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@nonstopmusic9993", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCqswUMaC5yWUrkQszr8fuBA", + "canonicalBaseUrl": "/@nonstopmusic9993" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "416K subscribers" + } + }, + "simpleText": "416K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CD8Q2jAYDyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "subscriberCountText": { + "simpleText": "@nonstopmusic9993" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CEAQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqbnN0QWsyY3dCTjVjQzJqQUF5RXF3ZnQtU19Sd3xBQ3Jtc0trbUMxakF4cy1FVlMySVliQ3N4TUd1M1dwbW82ZE9tMmNDMklLTjI5Q2thMHdTWFYyODV5S0tZM0o2ZTlsRFB0bkZxUjJuR0hEREdaRjMyY1hoYU1sWEduRldWZUtVQUhMV1MtYmN3Z2tGTVhiTDdMazR6anVIVTJfMlEzclh0U2dDTklQU3JIWk5LNGlvVVBDWnU1VUdlTXlrZWFyalpFLWdTejhKMENlbE5kRmhlTkVPei02bEg4OWk1MWdXWEZZNk9WZHdtR2dqWWxWQUVZdlNBZFhMaV8xQWpB&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CEAQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqbnN0QWsyY3dCTjVjQzJqQUF5RXF3ZnQtU19Sd3xBQ3Jtc0trbUMxakF4cy1FVlMySVliQ3N4TUd1M1dwbW82ZE9tMmNDMklLTjI5Q2thMHdTWFYyODV5S0tZM0o2ZTlsRFB0bkZxUjJuR0hEREdaRjMyY1hoYU1sWEduRldWZUtVQUhMV1MtYmN3Z2tGTVhiTDdMazR6anVIVTJfMlEzclh0U2dDTklQU3JIWk5LNGlvVVBDWnU1VUdlTXlrZWFyalpFLWdTejhKMENlbE5kRmhlTkVPei02bEg4OWk1MWdXWEZZNk9WZHdtR2dqWWxWQUVZdlNBZFhMaV8xQWpB" + } + }, + "trackingParams": "CEAQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CD8Q2jAYDyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Nonstop Music", + "navigationEndpoint": { + "clickTrackingParams": "CD8Q2jAYDyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@nonstopmusic9993", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCqswUMaC5yWUrkQszr8fuBA", + "canonicalBaseUrl": "/@nonstopmusic9993" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UChO8h2G8UjOVc081rgYU8XQ", + "title": { + "simpleText": "Vibe Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CD0Q2jAYECITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@vibemusic.", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UChO8h2G8UjOVc081rgYU8XQ", + "canonicalBaseUrl": "/@vibemusic." + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu9Br5pt87kuDLRFbh1MqMXeFlCLbUrwFlDIzU4s=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu9Br5pt87kuDLRFbh1MqMXeFlCLbUrwFlDIzU4s=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Vibe " + }, + { + "text": "Music", + "bold": true + }, + { + "text": " strives to bring the best lyric videos of popular Rap & Hip Hop songs. Be sure to Subscribe to see new videos we ..." + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Vibe Music", + "navigationEndpoint": { + "clickTrackingParams": "CD0Q2jAYECITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@vibemusic.", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UChO8h2G8UjOVc081rgYU8XQ", + "canonicalBaseUrl": "/@vibemusic." + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "3 million subscribers" + } + }, + "simpleText": "3M subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "ownerBadges": [ + { + "metadataBadgeRenderer": { + "icon": { + "iconType": "CHECK_CIRCLE_THICK" + }, + "style": "BADGE_STYLE_TYPE_VERIFIED", + "tooltip": "Verified", + "trackingParams": "CD0Q2jAYECITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "accessibilityData": { + "label": "Verified" + } + } + } + ], + "subscriberCountText": { + "simpleText": "@vibemusic." + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CD4Q8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqbXktRk45bWFaSUpVc2RHby1JZkV3RmEyVFlpZ3xBQ3Jtc0tuWmJsMkFhQ2RGcHlQM2U4dnBUTG1YdEl2NWljajB6dkFWOFQzTnBRQk1wczFSOS1EdWhRVDZZRGFYZ2hJbENlNkFkYmZCRmN0WGhQLTJMMXBjalhrSS1GM0k0QlkxTU5aU2lyRHJWa3F6Z0JGakF2c2V6cUVTTnRYLUhIcDJaU3BIVi04ZzdncmlQNEY0bGs2OEVKNWY1S0ZtQ1pmaW95ckRlMlNNcTgzT0ZGbWNCMFhQdlU5bnR6a2JxeldNYm0xRm93N09zRWxCWUl5RFdPMko4MXI1ZjdFMEZB&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CD4Q8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqbXktRk45bWFaSUpVc2RHby1JZkV3RmEyVFlpZ3xBQ3Jtc0tuWmJsMkFhQ2RGcHlQM2U4dnBUTG1YdEl2NWljajB6dkFWOFQzTnBRQk1wczFSOS1EdWhRVDZZRGFYZ2hJbENlNkFkYmZCRmN0WGhQLTJMMXBjalhrSS1GM0k0QlkxTU5aU2lyRHJWa3F6Z0JGakF2c2V6cUVTTnRYLUhIcDJaU3BIVi04ZzdncmlQNEY0bGs2OEVKNWY1S0ZtQ1pmaW95ckRlMlNNcTgzT0ZGbWNCMFhQdlU5bnR6a2JxeldNYm0xRm93N09zRWxCWUl5RFdPMko4MXI1ZjdFMEZB" + } + }, + "trackingParams": "CD4Q8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CD0Q2jAYECITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Vibe Music", + "navigationEndpoint": { + "clickTrackingParams": "CD0Q2jAYECITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@vibemusic.", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UChO8h2G8UjOVc081rgYU8XQ", + "canonicalBaseUrl": "/@vibemusic." + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UClV8b2EhIhIASKw-etzegyw", + "title": { + "simpleText": "Suits Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDsQ2jAYESITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@SuitsMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UClV8b2EhIhIASKw-etzegyw", + "canonicalBaseUrl": "/@SuitsMusic" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu9Aj5RtZZMdK_B_YD-8rOfi9c5ddFw5t1s4GYEeOQ=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu9Aj5RtZZMdK_B_YD-8rOfi9c5ddFw5t1s4GYEeOQ=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Suits Music", + "navigationEndpoint": { + "clickTrackingParams": "CDsQ2jAYESITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@SuitsMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UClV8b2EhIhIASKw-etzegyw", + "canonicalBaseUrl": "/@SuitsMusic" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "120K subscribers" + } + }, + "simpleText": "120K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "subscriberCountText": { + "simpleText": "@SuitsMusic" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CDwQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqbVZkejFabzlmRE5aVjJLeE5WejNPazBzZ0dCUXxBQ3Jtc0ttRmZQOWVkckNZNjNhanhJX2JpTE56bzRoRzBCX1NsdFNaSzJZZ29yc1Y0bWZGY0dSV0d0RlZfZUhoNHdlQjdCQlZGTk90SVJZUW5TcDVCVWp0c2ZFd0FTckljRXdVS3VCWXA0dTJiZUNaSkI1VVNRd191ekEwbWpJZTcxQURRdE45MTdrVjdNeHFxZ256Q3hxRFhUeHJNa2JGdVVqSHF0VnFpVE5zUGFVX0VvQ1BBckhyNUxxaGN0Wlkyb2t6VXdwSWxndHY2NWZIMDJPM3VvUnRWV1FCbFltTVVR&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CDwQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqbVZkejFabzlmRE5aVjJLeE5WejNPazBzZ0dCUXxBQ3Jtc0ttRmZQOWVkckNZNjNhanhJX2JpTE56bzRoRzBCX1NsdFNaSzJZZ29yc1Y0bWZGY0dSV0d0RlZfZUhoNHdlQjdCQlZGTk90SVJZUW5TcDVCVWp0c2ZFd0FTckljRXdVS3VCWXA0dTJiZUNaSkI1VVNRd191ekEwbWpJZTcxQURRdE45MTdrVjdNeHFxZ256Q3hxRFhUeHJNa2JGdVVqSHF0VnFpVE5zUGFVX0VvQ1BBckhyNUxxaGN0Wlkyb2t6VXdwSWxndHY2NWZIMDJPM3VvUnRWV1FCbFltTVVR" + } + }, + "trackingParams": "CDwQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CDsQ2jAYESITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Suits Music", + "navigationEndpoint": { + "clickTrackingParams": "CDsQ2jAYESITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@SuitsMusic", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UClV8b2EhIhIASKw-etzegyw", + "canonicalBaseUrl": "/@SuitsMusic" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UCI2hwz3r5phXpOtViIA5inA", + "title": { + "simpleText": "Rock Music Collection" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDkQ2jAYEiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@rockmusiccollection4332", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCI2hwz3r5phXpOtViIA5inA", + "canonicalBaseUrl": "/@rockmusiccollection4332" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.ggpht.com/kB4gWvROUIWFuJN8xwIqmPl1QV2_gXMat6COAJjXZT07E3xomc4b2JwGtDg05t1MmhgqImSifhc=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.ggpht.com/kB4gWvROUIWFuJN8xwIqmPl1QV2_gXMat6COAJjXZT07E3xomc4b2JwGtDg05t1MmhgqImSifhc=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Rock Music Collection", + "navigationEndpoint": { + "clickTrackingParams": "CDkQ2jAYEiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@rockmusiccollection4332", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCI2hwz3r5phXpOtViIA5inA", + "canonicalBaseUrl": "/@rockmusiccollection4332" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "81.7K subscribers" + } + }, + "simpleText": "81.7K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "subscriberCountText": { + "simpleText": "@rockmusiccollection4332" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CDoQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqa0NMNU9pZ3pQa2tDMzFadjh3ZEIxaFFJX1pPQXxBQ3Jtc0trLVhaYUtHYy1aak9taDh5UkI2LWFnN0ZLX2U2YmZyTzZzLUZVVkl3MzQ3S3NZa1lJSkFiX3ZYUHdzN1hXcGVGMjFqMnpWYkxGMjVwaXFRVzdXZng4OE1FNk5CZ1BSbWFvakQ5Q0dZYTlseDVnVVVqbjFyMkdxZTRPaGhxRWN6N213blBCUlBhUTZXRFF6OFIwZ1RFd3FvanFMa2FqTU9jUktjbWpGLXBsU0RPTFpXZ3R5UmFTNFV4UldqNVBrMldVNllLNnlOcG1UWldWTnRPMnBneE9CcVBJUlVR&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CDoQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqa0NMNU9pZ3pQa2tDMzFadjh3ZEIxaFFJX1pPQXxBQ3Jtc0trLVhaYUtHYy1aak9taDh5UkI2LWFnN0ZLX2U2YmZyTzZzLUZVVkl3MzQ3S3NZa1lJSkFiX3ZYUHdzN1hXcGVGMjFqMnpWYkxGMjVwaXFRVzdXZng4OE1FNk5CZ1BSbWFvakQ5Q0dZYTlseDVnVVVqbjFyMkdxZTRPaGhxRWN6N213blBCUlBhUTZXRFF6OFIwZ1RFd3FvanFMa2FqTU9jUktjbWpGLXBsU0RPTFpXZ3R5UmFTNFV4UldqNVBrMldVNllLNnlOcG1UWldWTnRPMnBneE9CcVBJUlVR" + } + }, + "trackingParams": "CDoQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CDkQ2jAYEiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Rock Music Collection", + "navigationEndpoint": { + "clickTrackingParams": "CDkQ2jAYEiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@rockmusiccollection4332", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UCI2hwz3r5phXpOtViIA5inA", + "canonicalBaseUrl": "/@rockmusiccollection4332" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UC9w8My3S7h-bQZ-4R-0ZPsw", + "title": { + "simpleText": "Helios Music" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDcQ2jAYEyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@heliosmusic55", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC9w8My3S7h-bQZ-4R-0ZPsw", + "canonicalBaseUrl": "/@heliosmusic55" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.ggpht.com/bi08T8zuYI1PlbM8M5fyZzjVvNJRJFFcQoonRQvS30opJ-OqGIq5OPrZ19qga29PIAit7OO3=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.ggpht.com/bi08T8zuYI1PlbM8M5fyZzjVvNJRJFFcQoonRQvS30opJ-OqGIq5OPrZ19qga29PIAit7OO3=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Welcome to my channel - Helios " + }, + { + "text": "Music", + "bold": true + }, + { + "text": ". I created this channel to help people have the most relaxing, refreshing and comfortable ..." + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Helios Music", + "navigationEndpoint": { + "clickTrackingParams": "CDcQ2jAYEyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@heliosmusic55", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC9w8My3S7h-bQZ-4R-0ZPsw", + "canonicalBaseUrl": "/@heliosmusic55" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "53K subscribers" + } + }, + "simpleText": "53K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "subscriberCountText": { + "simpleText": "@heliosmusic55" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CDgQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqa1h1bUlQTFNNdG9jUlJpR19xRlBrR2pWUHB5d3xBQ3Jtc0tueDAtVDJPWTEzZTl3WHBvbG5qd0JfRk5RQlVzMm5rNk93U0V5U01PWUMxUUpkSWVOS0dBWkZkcXVpZGR4Y19hbFJLYXFoYkJwem43SE9QY2dFSHRBaG9WTUVZTkoxWjlJNW0wWUd6ZExPMURoLWNVLURuOXpTRVVocjhGQkR3RHZOT1hsaW10VnRWS1JsSmg0bmVzWGMwWUEyc3hNbHBzc1VCY05nSGNwUGtIU0ZFZWpMeVZGVDdPVllGZ1YyWTBJZEpaQTlVV01HRVFFMnBkZGtaeGtBQTZWWFRB&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CDgQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqa1h1bUlQTFNNdG9jUlJpR19xRlBrR2pWUHB5d3xBQ3Jtc0tueDAtVDJPWTEzZTl3WHBvbG5qd0JfRk5RQlVzMm5rNk93U0V5U01PWUMxUUpkSWVOS0dBWkZkcXVpZGR4Y19hbFJLYXFoYkJwem43SE9QY2dFSHRBaG9WTUVZTkoxWjlJNW0wWUd6ZExPMURoLWNVLURuOXpTRVVocjhGQkR3RHZOT1hsaW10VnRWS1JsSmg0bmVzWGMwWUEyc3hNbHBzc1VCY05nSGNwUGtIU0ZFZWpMeVZGVDdPVllGZ1YyWTBJZEpaQTlVV01HRVFFMnBkZGtaeGtBQTZWWFRB" + } + }, + "trackingParams": "CDgQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CDcQ2jAYEyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Helios Music", + "navigationEndpoint": { + "clickTrackingParams": "CDcQ2jAYEyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@heliosmusic55", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC9w8My3S7h-bQZ-4R-0ZPsw", + "canonicalBaseUrl": "/@heliosmusic55" + } + } + } + ] + } + } + }, + { + "channelRenderer": { + "channelId": "UC_ODKC5gTs2LvdHXDRdDm0w", + "title": { + "simpleText": "Music On" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDUQ2jAYFCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MilanPavlovic91", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC_ODKC5gTs2LvdHXDRdDm0w", + "canonicalBaseUrl": "/@MilanPavlovic91" + } + }, + "thumbnail": { + "thumbnails": [ + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu8lUOYw4RdRwQf2Kz8RCExSmuWC78oetXF7VL67SA=s88-c-k-c0x00ffffff-no-rj-mo", + "width": 88, + "height": 88 + }, + { + "url": "//yt3.googleusercontent.com/ytc/AMLnZu8lUOYw4RdRwQf2Kz8RCExSmuWC78oetXF7VL67SA=s176-c-k-c0x00ffffff-no-rj-mo", + "width": 176, + "height": 176 + } + ] + }, + "descriptionSnippet": { + "runs": [ + { + "text": "Music", + "bold": true + }, + { + "text": " On (UNOFFICIAL CHANNEL)" + } + ] + }, + "shortBylineText": { + "runs": [ + { + "text": "Music On", + "navigationEndpoint": { + "clickTrackingParams": "CDUQ2jAYFCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MilanPavlovic91", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC_ODKC5gTs2LvdHXDRdDm0w", + "canonicalBaseUrl": "/@MilanPavlovic91" + } + } + } + ] + }, + "videoCountText": { + "accessibility": { + "accessibilityData": { + "label": "129K subscribers" + } + }, + "simpleText": "129K subscribers" + }, + "subscriptionButton": { + "subscribed": false + }, + "subscriberCountText": { + "simpleText": "@MilanPavlovic91" + }, + "subscribeButton": { + "buttonRenderer": { + "style": "STYLE_DESTRUCTIVE", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Subscribe" + } + ] + }, + "navigationEndpoint": { + "clickTrackingParams": "CDYQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fresults%253Fsearch_query%253Dmusic%2526sp%253DEgIQAg%2525253D%2525253D%26continue_action%3DQUFFLUhqbW92N1BtOGVnTDBhbTk2NkVDTEZ1ZW9HeXBMUXxBQ3Jtc0tsa1VwTEk3VlJkbVRGMjJmVU9GcEVrV3dVMndoUHV1ZnA3NUpUUFhZOVh4V19Gc3hROFJQcVpYampocWlKYktJZGJuR1B6N3pVYllfZnFhTzU0aGJxYmViNDdKdDVkMDdodi1pTnM5N1RyNzAxcnJoWHdkQmIwbzRtclZxWjJPNi1EQnZ0eldVQ1lWMHJ5QmZTMXRVSjBoUFRGeTdZZnRjajVfXzhiN0hORlQ2WDF2YXRvSi1PSFBpM3pWQ21mOXhSUHJpb212cERKWEhWdmJHdkk0V255ajY5SDVB&hl=en", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "nextEndpoint": { + "clickTrackingParams": "CDYQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAg%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAg%3D%3D" + } + }, + "continueAction": "QUFFLUhqbW92N1BtOGVnTDBhbTk2NkVDTEZ1ZW9HeXBMUXxBQ3Jtc0tsa1VwTEk3VlJkbVRGMjJmVU9GcEVrV3dVMndoUHV1ZnA3NUpUUFhZOVh4V19Gc3hROFJQcVpYampocWlKYktJZGJuR1B6N3pVYllfZnFhTzU0aGJxYmViNDdKdDVkMDdodi1pTnM5N1RyNzAxcnJoWHdkQmIwbzRtclZxWjJPNi1EQnZ0eldVQ1lWMHJ5QmZTMXRVSjBoUFRGeTdZZnRjajVfXzhiN0hORlQ2WDF2YXRvSi1PSFBpM3pWQ21mOXhSUHJpb212cERKWEhWdmJHdkk0V255ajY5SDVB" + } + }, + "trackingParams": "CDYQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CDUQ2jAYFCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "longBylineText": { + "runs": [ + { + "text": "Music On", + "navigationEndpoint": { + "clickTrackingParams": "CDUQ2jAYFCITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/@MilanPavlovic91", + "webPageType": "WEB_PAGE_TYPE_CHANNEL", + "rootVe": 3611, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "UC_ODKC5gTs2LvdHXDRdDm0w", + "canonicalBaseUrl": "/@MilanPavlovic91" + } + } + } + ] + } + } + } + ], + "trackingParams": "CDQQuy8YACITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "continuationItemRenderer": { + "trigger": "CONTINUATION_TRIGGER_ON_ITEM_SHOWN", + "continuationEndpoint": { + "clickTrackingParams": "CBAQui8iEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/search" + } + }, + "continuationCommand": { + "token": "Eu4FEgVtdXNpYxrkBUVnSVFBa2dVZ2dFWVZVTk5kMlZRVmtoU2NFUmtabVZWWTNkMFJGcDFNa1IzZ2dFWVZVTk1lRUZUTURKbFYzWm1Xa3MwYVdOU1RucFhSRjluZ2dFWVZVTjRTM2hxVGxCNVREbFZUelZNVWxkSWVuQTFTbmhCZ2dFWVZVTkhTWGxuYVZsclMzaHVOMmMzWmtaT1JtUlljMnRuZ2dFWVZVTnNkazVLYTBSSVpHTXhaM1pHUjA1ZlJuSmZjVkIzZ2dFWVZVTTFjak5xT0hSUmMwSXpUVmxhYVhkUlJrZExjbVJCZ2dFWVZVTk9XbGx3WTNGNWJUaG5TR05PWnpKSFYyTkRObTVSZ2dFWVZVTnZSWEo1V0MxWFR6ZEpTRUpIY1ZSQlF6VnlPVnAzZ2dFWVZVTlVTamxSWnkweGRrSjFNbkJRWDFseVYxVm1SMjVSZ2dFWVZVTndObDlMZFU1b1ZEQnJZMFpyTFdwWWR6bFVhWFpuZ2dFWVZVTmxOVFZIZVMxb1JrUjJURnB3T0VNNFFscG9RbTUzZ2dFWVZVTXlabFpUZEdoNVYzaFhVMnB6YVVWQlNGQjZjbWxSZ2dFWVZVTk9NekYzTjJSU2FtcDZPRU5sVURCSFpsTkpiemhCZ2dFWVZVTndSVWhYYVZSTmF6RmxSVUpCWkhwQ2JrRmlNM0pCZ2dFWVZVTnhjM2RWVFdGRE5YbFhWWEpyVVhONmNqaG1kVUpCZ2dFWVZVTm9UemhvTWtjNFZXcFBWbU13T0RGeVoxbFZPRmhSZ2dFWVZVTnNWamhpTWtWb1NXaEpRVk5MZHkxbGRIcGxaM2wzZ2dFWVZVTkpNbWgzZWpOeU5YQm9XSEJQZEZacFNVRTFhVzVCZ2dFWVZVTTVkemhOZVROVE4yZ3RZbEZhTFRSU0xUQmFVSE4zZ2dFWVZVTmZUMFJMUXpWblZITXlUSFprU0ZoRVVtUkViVEIzc2dFR0NnUUlGUkFDGIHg6BgiC3NlYXJjaC1mZWVk", + "request": "CONTINUATION_REQUEST_TYPE_SEARCH" + } + } + } + } + ], + "trackingParams": "CBAQui8iEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "subMenu": { + "searchSubMenuRenderer": { + "title": { + "runs": [ + { + "text": "Search options" + } + ] + }, + "groups": [ + { + "searchFilterGroupRenderer": { + "title": { + "simpleText": "Upload date" + }, + "filters": [ + { + "searchFilterRenderer": { + "label": { + "simpleText": "Last hour" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for Last hour", + "trackingParams": "CDMQk3UYACITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "Today" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for Today", + "trackingParams": "CDIQk3UYASITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "This week" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for This week", + "trackingParams": "CDEQk3UYAiITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "This month" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for This month", + "trackingParams": "CDAQk3UYAyITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "This year" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for This year", + "trackingParams": "CC8Qk3UYBCITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + } + ], + "trackingParams": "CC4QknUYACITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterGroupRenderer": { + "title": { + "simpleText": "Type" + }, + "filters": [ + { + "searchFilterRenderer": { + "label": { + "simpleText": "Video" + }, + "navigationEndpoint": { + "clickTrackingParams": "CC0Qk3UYACITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAQ%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAQ%3D%3D" + } + }, + "tooltip": "Search for Video", + "trackingParams": "CC0Qk3UYACITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "Channel" + }, + "status": "FILTER_STATUS_SELECTED", + "navigationEndpoint": { + "clickTrackingParams": "CCwQk3UYASITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music" + } + }, + "tooltip": "Remove Channel filter", + "trackingParams": "CCwQk3UYASITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "Playlist" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCsQk3UYAiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQAw%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQAw%3D%3D" + } + }, + "tooltip": "Search for Playlist", + "trackingParams": "CCsQk3UYAiITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "Movie" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCoQk3UYAyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=EgIQBA%253D%253D", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "EgIQBA%3D%3D" + } + }, + "tooltip": "Search for Movie", + "trackingParams": "CCoQk3UYAyITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + } + ], + "trackingParams": "CCkQknUYASITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterGroupRenderer": { + "title": { + "simpleText": "Duration" + }, + "filters": [ + { + "searchFilterRenderer": { + "label": { + "simpleText": "Under 4 minutes" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for Under 4 minutes", + "trackingParams": "CCgQk3UYACITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "4 - 20 minutes" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for 4 - 20 minutes", + "trackingParams": "CCcQk3UYASITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "Over 20 minutes" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for Over 20 minutes", + "trackingParams": "CCYQk3UYAiITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + } + ], + "trackingParams": "CCUQknUYAiITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterGroupRenderer": { + "title": { + "simpleText": "Features" + }, + "filters": [ + { + "searchFilterRenderer": { + "label": { + "simpleText": "Live" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for Live", + "trackingParams": "CCQQk3UYACITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "4K" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for 4K", + "trackingParams": "CCMQk3UYASITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "HD" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for HD", + "trackingParams": "CCIQk3UYAiITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "Subtitles/CC" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for Subtitles/CC", + "trackingParams": "CCEQk3UYAyITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "Creative Commons" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for Creative Commons", + "trackingParams": "CCAQk3UYBCITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "360°" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for 360°", + "trackingParams": "CB8Qk3UYBSITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "VR180" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for VR180", + "trackingParams": "CB4Qk3UYBiITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "3D" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for 3D", + "trackingParams": "CB0Qk3UYByITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "HDR" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for HDR", + "trackingParams": "CBwQk3UYCCITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "Location" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for Location", + "trackingParams": "CBsQk3UYCSITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "Purchased" + }, + "status": "FILTER_STATUS_DISABLED", + "tooltip": "Search for Purchased", + "trackingParams": "CBoQk3UYCiITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + } + ], + "trackingParams": "CBkQknUYAyITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterGroupRenderer": { + "title": { + "simpleText": "Sort by" + }, + "filters": [ + { + "searchFilterRenderer": { + "label": { + "simpleText": "Relevance" + }, + "status": "FILTER_STATUS_SELECTED", + "tooltip": "Sort by relevance", + "trackingParams": "CBgQk3UYACITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "Upload date" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBcQk3UYASITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=CAISAhAC", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "CAISAhAC" + } + }, + "tooltip": "Sort by upload date", + "trackingParams": "CBcQk3UYASITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "View count" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBYQk3UYAiITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=CAMSAhAC", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "CAMSAhAC" + } + }, + "tooltip": "Sort by view count", + "trackingParams": "CBYQk3UYAiITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + }, + { + "searchFilterRenderer": { + "label": { + "simpleText": "Rating" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBUQk3UYAyITCJnK7KSpwPsCFSVDegUd3z0M0Q==", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music&sp=CAESAhAC", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music", + "params": "CAESAhAC" + } + }, + "tooltip": "Sort by rating", + "trackingParams": "CBUQk3UYAyITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + } + ], + "trackingParams": "CBQQknUYBCITCJnK7KSpwPsCFSVDegUd3z0M0Q==" + } + } + ], + "clearAllText": { + "runs": [ + { + "text": "Clear all filters" + } + ] + }, + "clearAllEndpoint": { + "clickTrackingParams": "CBEQkXUiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=music", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "music" + } + }, + "trackingParams": "CBEQkXUiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "button": { + "toggleButtonRenderer": { + "style": { + "styleType": "STYLE_TEXT" + }, + "isToggled": false, + "isDisabled": false, + "defaultIcon": { + "iconType": "TUNE" + }, + "defaultText": { + "runs": [ + { + "text": "Filters" + } + ] + }, + "accessibility": { + "label": "Search filters" + }, + "trackingParams": "CBMQmE0iEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "defaultTooltip": "Open search filters", + "toggledTooltip": "Close search filters", + "toggledStyle": { + "styleType": "STYLE_DEFAULT_ACTIVE" + }, + "accessibilityData": { + "accessibilityData": { + "label": "Search filters" + } + } + } + }, + "aboutTheseResultsButton": { + "buttonRenderer": { + "style": "STYLE_TEXT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "About these results" + } + ] + }, + "icon": { + "iconType": "INFO" + }, + "trackingParams": "CBIQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "iconPosition": "BUTTON_ICON_POSITION_TYPE_RIGHT_OF_TEXT" + } + } + } + }, + "hideBottomSeparator": true, + "targetId": "search-feed" + } + } + } + }, + "trackingParams": "CAAQvGkiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "topbar": { + "desktopTopbarRenderer": { + "logo": { + "topbarLogoRenderer": { + "iconImage": { + "iconType": "YOUTUBE_LOGO" + }, + "tooltipText": { + "runs": [ + { + "text": "YouTube Home" + } + ] + }, + "endpoint": { + "clickTrackingParams": "CA8QsV4iEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/", + "webPageType": "WEB_PAGE_TYPE_BROWSE", + "rootVe": 3854, + "apiUrl": "/youtubei/v1/browse" + } + }, + "browseEndpoint": { + "browseId": "FEwhat_to_watch" + } + }, + "trackingParams": "CA8QsV4iEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "overrideEntityKey": "EgZ0b3BiYXIg9QEoAQ%3D%3D" + } + }, + "searchbox": { + "fusionSearchboxRenderer": { + "icon": { + "iconType": "SEARCH" + }, + "placeholderText": { + "runs": [ + { + "text": "Search" + } + ] + }, + "config": { + "webSearchboxConfig": { + "requestLanguage": "en", + "requestDomain": "us", + "hasOnscreenKeyboard": false, + "focusSearchbox": true + } + }, + "trackingParams": "CA0Q7VAiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "searchEndpoint": { + "clickTrackingParams": "CA0Q7VAiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "/results?search_query=", + "webPageType": "WEB_PAGE_TYPE_SEARCH", + "rootVe": 4724 + } + }, + "searchEndpoint": { + "query": "" + } + }, + "clearButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "icon": { + "iconType": "CLOSE" + }, + "trackingParams": "CA4Q8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "accessibilityData": { + "accessibilityData": { + "label": "Clear search query" + } + } + } + } + } + }, + "trackingParams": "CAEQq6wBIhMImcrspKnA-wIVJUN6BR3fPQzR", + "topbarButtons": [ + { + "topbarMenuButtonRenderer": { + "icon": { + "iconType": "MORE_VERT" + }, + "menuRequest": { + "clickTrackingParams": "CAsQ_qsBGAAiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true, + "apiUrl": "/youtubei/v1/account/account_menu" + } + }, + "signalServiceEndpoint": { + "signal": "GET_ACCOUNT_MENU", + "actions": [ + { + "clickTrackingParams": "CAsQ_qsBGAAiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "openPopupAction": { + "popup": { + "multiPageMenuRenderer": { + "trackingParams": "CAwQ_6sBIhMImcrspKnA-wIVJUN6BR3fPQzR", + "style": "MULTI_PAGE_MENU_STYLE_TYPE_SYSTEM", + "showLoadingSpinner": true + } + }, + "popupType": "DROPDOWN", + "beReused": true + } + } + ] + } + }, + "trackingParams": "CAsQ_qsBGAAiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "accessibility": { + "accessibilityData": { + "label": "Settings" + } + }, + "tooltip": "Settings", + "style": "STYLE_DEFAULT" + } + }, + { + "buttonRenderer": { + "style": "STYLE_SUGGESTIVE", + "size": "SIZE_SMALL", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "icon": { + "iconType": "AVATAR_LOGGED_OUT" + }, + "navigationEndpoint": { + "clickTrackingParams": "CAoQ1IAEGAEiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "url": "https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3Dhttps%253A%252F%252Fwww.youtube.com%252Fyoutubei%252Fv1%252Fsearch%253Fkey%253DAIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8%2526prettyPrint%253Dfalse&hl=en&ec=65620", + "webPageType": "WEB_PAGE_TYPE_UNKNOWN", + "rootVe": 83769 + } + }, + "signInEndpoint": { + "idamTag": "65620" + } + }, + "trackingParams": "CAoQ1IAEGAEiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "targetId": "topbar-signin" + } + } + ], + "hotkeyDialog": { + "hotkeyDialogRenderer": { + "title": { + "runs": [ + { + "text": "Keyboard shortcuts" + } + ] + }, + "sections": [ + { + "hotkeyDialogSectionRenderer": { + "title": { + "runs": [ + { + "text": "Playback" + } + ] + }, + "options": [ + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle play/pause" + } + ] + }, + "hotkey": "k" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rewind 10 seconds" + } + ] + }, + "hotkey": "j" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Fast forward 10 seconds" + } + ] + }, + "hotkey": "l" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Previous video" + } + ] + }, + "hotkey": "P (SHIFT+p)" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Next video" + } + ] + }, + "hotkey": "N (SHIFT+n)" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Previous frame (while paused)" + } + ] + }, + "hotkey": ",", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Comma" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Next frame (while paused)" + } + ] + }, + "hotkey": ".", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Period" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Decrease playback rate" + } + ] + }, + "hotkey": "< (SHIFT+,)", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Less than or SHIFT + comma" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Increase playback rate" + } + ] + }, + "hotkey": "> (SHIFT+.)", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Greater than or SHIFT + period" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Seek to specific point in the video (7 advances to 70% of duration)" + } + ] + }, + "hotkey": "0..9" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Seek to previous chapter" + } + ] + }, + "hotkey": "CONTROL + ←" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Seek to next chapter" + } + ] + }, + "hotkey": "CONTROL + →" + } + } + ] + } + }, + { + "hotkeyDialogSectionRenderer": { + "title": { + "runs": [ + { + "text": "General" + } + ] + }, + "options": [ + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle full screen" + } + ] + }, + "hotkey": "f" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle theater mode" + } + ] + }, + "hotkey": "t" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle miniplayer" + } + ] + }, + "hotkey": "i" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Close miniplayer or current dialog" + } + ] + }, + "hotkey": "ESCAPE" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Toggle mute" + } + ] + }, + "hotkey": "m" + } + } + ] + } + }, + { + "hotkeyDialogSectionRenderer": { + "title": { + "runs": [ + { + "text": "Subtitles and closed captions" + } + ] + }, + "options": [ + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "If the video supports captions, toggle captions ON/OFF" + } + ] + }, + "hotkey": "c" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rotate through different text opacity levels" + } + ] + }, + "hotkey": "o" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rotate through different window opacity levels" + } + ] + }, + "hotkey": "w" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rotate through font sizes (increasing)" + } + ] + }, + "hotkey": "+" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Rotate through font sizes (decreasing)" + } + ] + }, + "hotkey": "-", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Minus" + } + } + } + } + ] + } + }, + { + "hotkeyDialogSectionRenderer": { + "title": { + "runs": [ + { + "text": "Spherical Videos" + } + ] + }, + "options": [ + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Pan up" + } + ] + }, + "hotkey": "w" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Pan left" + } + ] + }, + "hotkey": "a" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Pan down" + } + ] + }, + "hotkey": "s" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Pan right" + } + ] + }, + "hotkey": "d" + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Zoom in" + } + ] + }, + "hotkey": "+ on numpad or ]", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Plus on number pad or right bracket" + } + } + } + }, + { + "hotkeyDialogSectionOptionRenderer": { + "label": { + "runs": [ + { + "text": "Zoom out" + } + ] + }, + "hotkey": "- on numpad or [", + "hotkeyAccessibilityLabel": { + "accessibilityData": { + "label": "Minus on number pad or left bracket" + } + } + } + } + ] + } + } + ], + "dismissButton": { + "buttonRenderer": { + "style": "STYLE_BLUE_TEXT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Dismiss" + } + ] + }, + "trackingParams": "CAkQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=" + } + }, + "trackingParams": "CAgQteYDIhMImcrspKnA-wIVJUN6BR3fPQzR" + } + }, + "backButton": { + "buttonRenderer": { + "trackingParams": "CAcQvIYDIhMImcrspKnA-wIVJUN6BR3fPQzR", + "command": { + "clickTrackingParams": "CAcQvIYDIhMImcrspKnA-wIVJUN6BR3fPQzR", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CAcQvIYDIhMImcrspKnA-wIVJUN6BR3fPQzR", + "signalAction": { + "signal": "HISTORY_BACK" + } + } + ] + } + } + } + }, + "forwardButton": { + "buttonRenderer": { + "trackingParams": "CAYQvYYDIhMImcrspKnA-wIVJUN6BR3fPQzR", + "command": { + "clickTrackingParams": "CAYQvYYDIhMImcrspKnA-wIVJUN6BR3fPQzR", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CAYQvYYDIhMImcrspKnA-wIVJUN6BR3fPQzR", + "signalAction": { + "signal": "HISTORY_FORWARD" + } + } + ] + } + } + } + }, + "a11ySkipNavigationButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "text": { + "runs": [ + { + "text": "Skip navigation" + } + ] + }, + "trackingParams": "CAUQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "command": { + "clickTrackingParams": "CAUQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CAUQ8FsiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "signalAction": { + "signal": "SKIP_NAVIGATION" + } + } + ] + } + } + } + }, + "voiceSearchButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "serviceEndpoint": { + "clickTrackingParams": "CAIQ7a8FIhMImcrspKnA-wIVJUN6BR3fPQzR", + "commandMetadata": { + "webCommandMetadata": { + "sendPost": true + } + }, + "signalServiceEndpoint": { + "signal": "CLIENT_SIGNAL", + "actions": [ + { + "clickTrackingParams": "CAIQ7a8FIhMImcrspKnA-wIVJUN6BR3fPQzR", + "openPopupAction": { + "popup": { + "voiceSearchDialogRenderer": { + "placeholderHeader": { + "runs": [ + { + "text": "Listening..." + } + ] + }, + "promptHeader": { + "runs": [ + { + "text": "Didn't hear that. Try again." + } + ] + }, + "exampleQuery1": { + "runs": [ + { + "text": "\"Play Dua Lipa\"" + } + ] + }, + "exampleQuery2": { + "runs": [ + { + "text": "\"Show me my subscriptions\"" + } + ] + }, + "promptMicrophoneLabel": { + "runs": [ + { + "text": "Tap microphone to try again" + } + ] + }, + "loadingHeader": { + "runs": [ + { + "text": "Working..." + } + ] + }, + "connectionErrorHeader": { + "runs": [ + { + "text": "No connection" + } + ] + }, + "connectionErrorMicrophoneLabel": { + "runs": [ + { + "text": "Check your connection and try again" + } + ] + }, + "permissionsHeader": { + "runs": [ + { + "text": "Waiting for permission" + } + ] + }, + "permissionsSubtext": { + "runs": [ + { + "text": "Allow microphone access to search with voice" + } + ] + }, + "disabledHeader": { + "runs": [ + { + "text": "Search with your voice" + } + ] + }, + "disabledSubtext": { + "runs": [ + { + "text": "To search by voice, go to your browser settings and allow access to microphone" + } + ] + }, + "microphoneButtonAriaLabel": { + "runs": [ + { + "text": "Cancel" + } + ] + }, + "exitButton": { + "buttonRenderer": { + "style": "STYLE_DEFAULT", + "size": "SIZE_DEFAULT", + "isDisabled": false, + "icon": { + "iconType": "CLOSE" + }, + "trackingParams": "CAQQ0LEFIhMImcrspKnA-wIVJUN6BR3fPQzR", + "accessibilityData": { + "accessibilityData": { + "label": "Cancel" + } + } + } + }, + "trackingParams": "CAMQ7q8FIhMImcrspKnA-wIVJUN6BR3fPQzR", + "microphoneOffPromptHeader": { + "runs": [ + { + "text": "Microphone off. Try again." + } + ] + } + } + }, + "popupType": "TOP_ALIGNED_DIALOG" + } + } + ] + } + }, + "icon": { + "iconType": "MICROPHONE_ON" + }, + "tooltip": "Search with your voice", + "trackingParams": "CAIQ7a8FIhMImcrspKnA-wIVJUN6BR3fPQzR", + "accessibilityData": { + "accessibilityData": { + "label": "Search with your voice" + } + } + } + } + } + }, + "onResponseReceivedCommands": [ + { + "clickTrackingParams": "CAAQvGkiEwiZyuykqcD7AhUlQ3oFHd89DNE=", + "adsControlFlowOpportunityReceivedCommand": { + "opportunityType": "OPPORTUNITY_TYPE_ORGANIC_SEARCH_RESPONSE_RECEIVED", + "isInitialLoad": true, + "adSlotAndLayoutMetadata": [ + { + "adSlotMetadata": { + "slotId": "1669069734107044:134058496:234883752:1", + "slotType": "SLOT_TYPE_IN_FEED", + "slotPhysicalPosition": 1 + }, + "adLayoutMetadata": [ + { + "layoutId": "V3OMb9LkMoNQL98G", + "layoutType": "LAYOUT_TYPE_VIDEO_DISPLAY_COMPACT_BUTTONED", + "adLayoutLoggingData": { + "serializedAdServingDataEntry": "IAUoAzAGOAVKEwikr-2kqcD7AhUAkv0HHagKAA5SBggFMAFYAWgBcF0=" + } + } + ] + } + ], + "enablePacfLoggingWeb": true + } + } + ], + "targetId": "search-page" +} diff --git a/tests/youtube.rs b/tests/youtube.rs index 0a7fad4..a6dd505 100644 --- a/tests/youtube.rs +++ b/tests/youtube.rs @@ -17,6 +17,7 @@ use rustypipe::model::{ use rustypipe::param::search_filter::{self, SearchFilter}; const VISITOR_DATA_3TAB_CHANNEL_LAYOUT: &str = "CgtOa256ckVkcG5YVSiirbyaBg%3D%3D"; +const VISITOR_DATA_SEARCH_CHANNEL_HANDLES: &str = "CgszYlc1Yk1WZGRCSSjrwOSbBg%3D%3D"; //#PLAYER @@ -1105,14 +1106,14 @@ async fn search() { #[rstest] #[case::video(search_filter::Entity::Video)] -#[case::video(search_filter::Entity::Channel)] -#[case::video(search_filter::Entity::Playlist)] +#[case::channel(search_filter::Entity::Channel)] +#[case::playlist(search_filter::Entity::Playlist)] #[tokio::test] async fn search_filter_entity(#[case] entity: search_filter::Entity) { let rp = RustyPipe::builder().strict().build(); let mut result = rp .query() - .search_filter("music", &SearchFilter::new().entity(entity)) + .search_filter("with no videos", &SearchFilter::new().entity(entity)) .await .unwrap();