MrFilth

Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Virprospere Цитата: Добрый человек обновил парсер SponsorBlock for PotPlayer | Вот только av1 почему то не добавил... Вот к примеру клип сжат в av1 но в парсере нельзя выбрать. В самом парсере имеется av1 но почему то не работает: Код: // av1 YOUTUBE_PROFILES(571, y_dash_mp4_video, 4320, "mp4"), YOUTUBE_PROFILES(402, y_dash_mp4_video, 4320, "mp4"), YOUTUBE_PROFILES(401, y_dash_mp4_video, 2160, "mp4"), YOUTUBE_PROFILES(400, y_dash_mp4_video, 1440, "mp4"), YOUTUBE_PROFILES(399, y_dash_mp4_video, 1080, "mp4"), YOUTUBE_PROFILES(398, y_dash_mp4_video, 720, "mp4"), YOUTUBE_PROFILES(397, y_dash_mp4_video, 480, "mp4"), YOUTUBE_PROFILES(396, y_dash_mp4_video, 360, "mp4"), YOUTUBE_PROFILES(395, y_dash_mp4_video, 240, "mp4"), YOUTUBE_PROFILES(394, y_dash_mp4_video, 144, "mp4"), // av1 hdr YOUTUBE_PROFILES(702, y_dash_mp4_video, 4320, "mp4"), YOUTUBE_PROFILES(701, y_dash_mp4_video, 2160, "mp4"), YOUTUBE_PROFILES(700, y_dash_mp4_video, 1440, "mp4"), YOUTUBE_PROFILES(699, y_dash_mp4_video, 1080, "mp4"), YOUTUBE_PROFILES(698, y_dash_mp4_video, 720, "mp4"), YOUTUBE_PROFILES(697, y_dash_mp4_video, 480, "mp4"), YOUTUBE_PROFILES(696, y_dash_mp4_video, 360, "mp4"), YOUTUBE_PROFILES(695, y_dash_mp4_video, 240, "mp4"), YOUTUBE_PROFILES(694, y_dash_mp4_video, 144, "mp4"), | Старый парсер выглядит так: Похоже для нового X-YouTube-Client-Name: 28\r\nX-YouTube-Client-Version: 1.60.19 не предоставляется av1. (придётся маскироваться под хром) Всё понятно: выбран ANDROID_VR а для VR не предоставляется av1... если выставить просто ANDROID появляется выбор в парсере av1 но видео не запускается) Кому интересно вот какой код надо править: Код: string GetVideoJson(string videoId, bool passAge) { string Headers = "X-YouTube-Client-Name: 28\r\nX-YouTube-Client-Version: 1.60.19\r\nOrigin: https://www.youtube.com\r\ncontent-type: application/json\r\n"; string postData = "{\"context\": {\"client\": {\"clientName\": \"ANDROID_VR\", \"clientVersion\": \"1.60.19\", \"hl\": \"" + HostIso639LangName() + "\"}}, \"videoId\": \"" + videoId + "\", \"params\": \"wgYCCAA=\", \"playbackContext\": {\"contentPlaybackContext\": {\"html5Preference\": \"HTML5_PREF_WANTS\"}}, \"contentCheckOk\": true, \"racyCheckOk\": true}"; string postData2 = "{\"context\": {\"client\": {\"clientName\": \"ANDROID_VR\", \"clientVersion\": \"1.60.19\", \"clientScreen\": \"EMBED\"}, \"thirdParty\": {\"embedUrl\": \"https://google.com\"}}, \"videoId\": \"" + videoId + "\", \"params\": \"wgYCCAA=\", \"contentCheckOk\": true, \"racyCheckOk\": true}"; return HostUrlGetStringWithAPI("https://www.youtube.com/youtubei/v1/player", "com.google.android.apps.youtube.vr.oculus/1.60.19 (Linux; U; Android 12L; eureka-user Build/SQ3A.220605.009.A1) gzip", Headers, passAge ? postData2 : postData, true); | То есть если заменить в любом парсере на этот кусок кода то работать будет но без av1) (не обязательно SponsorBlock если он не нужен) |