A simple browser extension for changing YouTube videos' quality based on FPS.
GNU General Public License v3.0
220
stars
26
forks
source link
[Bug] Blocker: plugin starts with lowest resolution and will not update picture quality #28
Closed
allanlaal closed 2 years ago
Describe the bug
I've selected 1080p as my default in this plugin
video starts off with: actual image resolution: 144p Youtube controls resolution selection: 144p
then after ≤40sec of playback (in 144p), the yt controls will show 1080p and HD flag, the picture is still 144p
only after I manually re-click the already selected 1080p option in yt controls, it will update the picture to 1080p
Details:
yt.config_.CLIENT_CANARYSTATE: "none" yt.config.CLIENTPROTOCOL: "h2" yt.config.CLIENTTRANSPORT: "tcp" yt.config.CSI_SERVICENAME: "youtube" yt.config.DEVICE: "cbr=Firefox&cbrver=95.0&ceng=Gecko&cengver=95.0&cos=X11&cplatform=DESKTOP" yt.config_.DISABLE_WARMLOADS: false yt.config.DISABLE_YT_IMG_DELAYLOADING: false yt.config.ELEMENT_POOL_DEFAULTCAP: 75 yt.config.HL: "en" yt.config_.HTMLDIR: "ltr" yt.config.HTMLLANG: "en" yt.config.INNERTUBE_APIVERSION: "v1" yt.config.INNERTUBE_CLIENTNAME: "WEB" yt.config.INNERTUBE_CLIENTVERSION: "2.20211221.00.00" yt.config.ISTABLET: false yt.config.IS_WATCH_PAGECOLD: true yt.config.LOGGEDIN: true yt.config.REUSECOMPONENTS: true yt.config.SERVERNAME: "WebFE" yt.config.SERVERVERSION: "prod" yt.config.SERVICE_WORKER_PROMPTNOTIFICATIONS: true yt.config.START_IN_FULL_WINDOWMODE: false yt.config.START_IN_THEATERMODE: false yt.config.TIMINGACTION: "watch" yt.config.VISIBILITY_TIME_BETWEEN_JOBSMS: 100 yt.config.initialBodyClientWidth: 1749 yt.config.initialInnerHeight: 878 yt.config.initialInnerWidth: 1760 yt.config_.player_attTIMING_ACTION: "player_att"
yt.config_.EXPERIMENT_FLAGS WebClientReleaseProcessCritical__youtube_web_client_version_override: "" addto_ajax_log_warning_fraction: 0.1 allow_https_streaming_for_all: true allow_skip_networkless: true autoescape_tempdata_url: true autoplay_pause_by_lact_sampling_fraction: 0 autoplay_pause_by_lact_sec: 0 autoplay_time: 8000 autoplay_time_for_fullscreen: -1 autoplay_time_for_music_content: 3000 autoplay_time_for_music_content_after_autoplayed_video: -1 botguard_async_snapshot_timeout_ms: 3000 botguard_periodic_refresh: true browse_ajax_log_warning_fraction: 1 browse_next_continuations_migration_playlist: true cache_utc_offset_minutes_in_pref_cookie: true cancel_pending_navs: true cb_v2_uxe: "23983171" check_navigator_accuracy_timeout_ms: 0 check_user_lact_at_prompt_shown_time_on_web: true clear_user_partitioned_ls: true client_streamz_web_flush_count: 100 client_streamz_web_flush_interval_seconds: 60 clips_enable_speed_lines: true cold_missing_history: true conditional_lab_ids: Array [] config_age_report_killswitch: true csi_on_gel: true debug_forced_internalcountrycode: "" decorate_autoplay_renderer: true defer_menus: true defer_overlays: true defer_rendering_outside_visible_area: true dependenciesmanager_to_wugdm_killswitch: true deprecate_pair_servlet_enabled: true deprecate_two_way_binding_child: true deprecate_two_way_binding_parent: true desktop_add_to_playlist_renderer_dialog_popup: true desktop_adjust_touch_target: true desktop_animate_miniplayer: true desktop_client_release: true desktop_enable_wcr_multi_stage_canary: true desktop_fix_carousel_video_timeout: true desktop_image_cta_no_background: true desktop_keyboard_capture_keydown_killswitch: true desktop_mix_use_sampled_color_for_bottom_bar: true desktop_mix_use_sampled_color_for_bottom_bar_search: true desktop_mix_use_sampled_color_for_bottom_bar_watch_next: true desktop_notification_high_priority_ignore_push: true desktop_notification_set_title_bar: true desktop_persistent_menu: true desktop_player_touch_gestures: true desktop_sbox_icon: "default" desktop_search_prominent_thumbs: true desktop_search_prominent_thumbs_style: "DEFAULT" desktop_search_suggestion_tap_target: 0 desktop_searchbar_style: "default" desktop_sparkles_light_cta_button: true desktop_suggestion_box_style: "default" desktop_swipeable_guide: true desktop_text_ads_gray_visurl: true desktop_themeable_vulcan: true desktop_touch_gestures_usage_log: true desktop_web_client_version_override: "" disable_child_node_auto_formatted_strings: true disable_dependency_injection: true disable_features_for_supex: true disable_legacy_desktop_remote_queue: true disable_simple_mixed_direction_formatted_strings: true disable_thumbnail_preloading: true element_pool_populator_auto_abort: true embeds_web_synth_ch_headers_banned_urls_regex: "" enable_browser_cookie_status_monitoring: true enable_business_email_reveal_servlet_migration: true enable_button_behavior_reuse: true enable_call_to_action_clarification_renderer_bottom_section_conditions: true enable_channel_creation_avatar_editing: true enable_client_sli_logging: true enable_client_streamz_web: true enable_comments_continuation_command_for_web: true enable_docked_chat_messages: true enable_downloads_quality_selector: true enable_fully_expanded_clip_range_in_progress_bar: true enable_gel_log_commands: true enable_get_account_switcher_endpoint_on_webfe: true enable_gray_visurl: true enable_guide_downloads_entry_renderer: true enable_main_app_client_sli_logging: true enable_masthead_quartile_ping_fix: true enable_memberships_and_purchases: true enable_mentions_in_reposts: true enable_microformat_data: true enable_mixed_direction_formatted_strings: true enable_multi_image_post_creation: true enable_names_handles_account_switcher: true enable_offer_suppression: true enable_poll_choice_border_on_web: true enable_polymer_resin: true enable_polymer_resin_migration: true enable_post_cct_links: true enable_post_scheduling: true enable_premium_voluntary_pause: true enable_programmed_playlist_redesign: true enable_purchase_activity_in_paid_memberships: true enable_reel_watch_sequence: true enable_service_ajax_csn: true enable_servlet_errors_streamz: true enable_servlet_streamz: true enable_share_panel_page_as_screen_layer: true enable_shorts_resolve_url_with_zero_frame: true enable_signals: true enable_sli_flush: true enable_streamline_repost_flow: true enable_topsoil_wta_for_halftime_live_infra: true enable_unavailable_videos_watch_page: true enable_unified_show_page_web_client: true enable_watch_next_pause_autoplay_lact: true enable_web_ketchup_hero_animation: true enable_web_poster_hover_animation: true enable_yoodle: true enable_ypc_spinners: true enable_ytc_refunds_submit_form_signal_action: true enable_ytc_self_serve_refunds: true endpoint_handler_logging_cleanup_killswitch: true export_networkless_options: true external_fullscreen: true external_fullscreen_button_click_threshold: 2 external_fullscreen_button_shown_threshold: 10 external_fullscreen_with_edu: true fill_web_player_context_config: true forward_domain_admin_state_on_embeds: true get_async_timeout_ms: 60000 gfeedback_for_signed_out_users_enabled: true global_spacebar_pause: true guide_business_info_countries: Array [ "KR" ] guide_legal_footer_enabled_countries: Array [ "NL", "ES" ] high_priority_flyout_frequency: 3 html5_enable_single_video_vod_ivar_on_pacf: true html5_enable_video_overlay_on_inplayer_slot_for_tv: true html5_pacf_enable_dai: true html5_user_partitioned_ls: true include_autoplay_count_in_playlists: true initial_gel_batch_timeout: 2000 inline_playback_disable_ensure_hover: true is_browser_support_for_webcam_streaming: true is_part_of_any_user_engagement_experiment: true kevlar_action_router_node_remove_sender_behavior: true kevlar_allow_playlist_reorder: true kevlar_allow_queue_reorder: true kevlar_app_initializer_cleanup: true kevlar_app_shortcuts: true kevlar_async_stamp_delay: 10 kevlar_async_stamp_probability: 0.1 kevlar_autofocus_menu_on_keyboard_nav: true kevlar_autonav_miniplayer_fix: true kevlar_autonav_popup_filtering: true kevlar_background_color_update: true kevlar_cache_cold_load_response: true kevlar_cache_initial_data: true kevlar_cache_on_ttl_browse: true kevlar_cache_on_ttl_player: true kevlar_cache_on_ttl_search: true kevlar_calculate_grid_collapsible: true kevlar_cancel_scheduled_comment_jobs_on_navigate: true kevlar_center_search_results: true kevlar_channel_trailer_multi_attach: true kevlar_channels_player_handle_missing_swfconfig: true kevlar_chapters_list_view_seek_by_chapter: true kevlar_clean_up: true kevlar_clear_non_displayable_url_params: true kevlar_client_save_subs_preferences: true kevlar_client_side_filler_data: true kevlar_client_side_screens: true kevlar_collect_battery_network_status: true kevlar_collect_hover_touch_support: true kevlar_command_handler: true kevlar_command_handler_clicks: true kevlar_command_handler_command_banlist: Array [] kevlar_command_handler_init_plugin: true kevlar_command_handler_toggle_buttons: true kevlar_command_url: true kevlar_continue_playback_without_player_response: true kevlar_copy_playlist: true kevlar_ctrl_tap_fix: true kevlar_decorate_endpoint_with_onesie_config: true kevlar_delay_watch_initial_data: true kevlar_disable_background_prefetch: true kevlar_disable_html_imports: true kevlar_disable_preemptive_player_reset: true kevlar_dragdrop_fast_scroll: true kevlar_dropdown_fix: true kevlar_droppable_prefetchable_requests: true kevlar_eager_shell_boot_via_one_platform: true kevlar_enable_editable_playlists: true kevlar_enable_reorderable_playlists: true kevlar_enable_slis: true kevlar_enable_ybp_op: true kevlar_entities_processor: true kevlar_exit_fullscreen_leaving_watch: true kevlar_fallback_to_page_data_root_ve: true kevlar_fetch_networkless_support: true kevlar_fix_miniplayer_logging: true kevlar_fix_playlist_continuation: true kevlar_flexible_menu: true kevlar_fluid_touch_scroll: true kevlar_frontend_queue_recover: true kevlar_frontend_video_list_actions: true kevlar_gel_error_routing: true kevlar_guide_ajax_migration: true kevlar_guide_lock_scrollbar: true kevlar_guide_refresh: true kevlar_guide_store: true kevlar_help_use_locale: true kevlar_hide_playlist_playback_status: true kevlar_hide_pp_url_param: true kevlar_hide_time_continue_url_param: true kevlar_home_skeleton: true kevlar_home_skeleton_hide_later: true kevlar_include_query_in_search_endpoint: true kevlar_injector: true kevlar_inlined_html_templates_polymer_flags: true kevlar_js_fixes: true kevlar_keyboard_button_focus: true kevlar_larger_three_dot_tap: true kevlar_lazy_list_resume_for_autofill: true kevlar_link_capturing_mode: "" kevlar_local_innertube_response: true kevlar_log_initial_screen: true kevlar_logged_out_topbar_menu_migration: true kevlar_macro_markers_keyboard_shortcut: true kevlar_masthead_store: true kevlar_mealbar_above_player: true kevlar_mini_guide_width_threshold: 791 kevlar_miniplayer: true kevlar_miniplayer_expand_top: true kevlar_miniplayer_no_update_on_deactivate: true kevlar_miniplayer_play_pause_on_scrim: true kevlar_miniplayer_queue_user_activation: true kevlar_miniplayer_set_element_early: true kevlar_miniplayer_set_watch_next: true kevlar_mix_handle_first_endpoint_different: true kevlar_next_cold_on_auth_change_detected: true kevlar_next_up_next_edu_emoji: "" kevlar_nitrate_driven_tooltips: true kevlar_no_autoscroll_on_playlist_hover: true kevlar_no_redirect_to_classic_ks: true kevlar_no_url_params: true kevlar_one_pick_add_video_to_playlist: true kevlar_op_browse_sampled_prefix_ids: Array [] kevlar_op_infra: true kevlar_op_warm_pages: true kevlar_page_service_url_prefix_carveouts: Array [] kevlar_pandown_polyfill: true kevlar_passive_event_listeners: true kevlar_persistent_guide_width_threshold: 1312 kevlar_persistent_response_store: true kevlar_picker_ajax_migration: true kevlar_playback_associated_queue: true kevlar_player_cached_load_config: true kevlar_player_disable_rvs_update: true kevlar_player_load_player_no_op: true kevlar_player_migrate_asset_loading: true kevlar_player_new_bootstrap_adoption: true kevlar_player_playlist_use_local_index: true kevlar_player_response_swf_config_wrapper_killswitch: true kevlar_player_watch_endpoint_navigation: true kevlar_playlist_autonav_loop_fix: true kevlar_playlist_drag_handles: true kevlar_playlist_responsive: true kevlar_populate_command_on_download_button: true kevlar_prefetch: true kevlar_prefetch_redirects: true kevlar_prepare_player_on_miniplayer_activation: true kevlar_prevent_polymer_dynamic_font_load: true kevlar_queue_use_dedicated_list_type: true kevlar_queue_use_update_api: true kevlar_refresh_gesture: true kevlar_remove_prepopulator: true kevlar_rendererstamper_event_listener: true kevlar_resolve_command_for_confirm_dialog: true kevlar_resolve_playlist_endpoint_as_watch_endpoint: true kevlar_save_queue: true kevlar_scroll_chips_on_touch: true kevlar_scrollbar_rework: true kevlar_service_command_check: true kevlar_set_internal_player_size: true kevlar_shell_for_downloads_page: true kevlar_should_maintain_stable_list: true kevlar_snap_state_refresh: true kevlar_standard_scrollbar_color: true kevlar_startup_lifecycle: true kevlar_system_icons: true kevlar_themed_standardized_scrollbar: true kevlar_three_dot_ink: true kevlar_thumbnail_fluid: true kevlar_time_caching_end_threshold: 15 kevlar_time_caching_start_threshold: 15 kevlar_toast_manager: true kevlar_tooltip_impression_cap: 2 kevlar_topbar_logo_fallback_home: true kevlar_touch_feedback: true kevlar_touch_feedback_lockups: true kevlar_touch_gesture_ves: true kevlar_transcript_engagement_panel: true kevlar_transcript_panel_refreshed_styles: true kevlar_tuner_clamp_device_pixel_ratio: 2 kevlar_tuner_default_comments_delay: 1000 kevlar_tuner_run_default_comments_delay: true kevlar_tuner_scheduler_soft_state_timer_ms: 800 kevlar_tuner_should_defer_detach: true kevlar_tuner_thumbnail_factor: 1 kevlar_tuner_visibility_time_between_jobs_ms: 100 kevlar_typography_spacing_update: true kevlar_typography_update: true kevlar_unavailable_video_error_ui_client: true kevlar_unified_server_contract_client: true kevlar_update_youtube_sans: true kevlar_updated_logo_icons: true kevlar_use_endpoint_for_channel_creation_form: true kevlar_use_one_platform_for_queue_refresh: true kevlar_use_page_command_url: true kevlar_use_page_data_will_update: true kevlar_use_player_response_for_updates: true kevlar_use_response_ttl_to_invalidate_cache: true kevlar_use_ytd_player: true kevlar_user_partitioned_download_quality: true kevlar_variable_youtube_sans: true kevlar_voice_logging_fix: true kevlar_voice_search: true kevlar_watch_color_update: true kevlar_watch_drag_handles: true kevlar_watch_flexy_metadata_height: 136 kevlar_watch_focus_on_engagement_panels: true kevlar_watch_gesture_pandown: true kevlar_watch_increased_width_threshold: true kevlar_watch_js_panel_height: true kevlar_watch_metadata_refresh_description_lines: 2 kevlar_watch_metadata_refresh_for_live_killswitch: true kevlar_watch_metadata_refresh_left_aligned_video_actions: true kevlar_watch_metadata_refresh_lower_case_video_actions: true kevlar_watch_metadata_refresh_narrower_item_wrap: true kevlar_watch_metadata_refresh_normal_description_preamble: true kevlar_watch_navigation_clear_autoplay_count_session_data: true kevlar_watch_next_chips_continuations_migration: true kevlar_watch_panel_height_matches_player: true kevlar_watch_skeleton: true kevlar_web_response_context_yt_config_deprecation: true kevlar_woffle_dl_manager: true kevlar_woffle_fallback_image: true kevlar_woffle_settings: true leader_election_check_interval: 9000 leader_election_lease_ttl: 10000 leader_election_renewal_interval: 6000 live_chat_increased_min_height: true live_chat_init_fetch_network_manager: true live_chat_over_playlist: true live_chat_unicode_emoji_json_url: "https://www.gstatic.com/youtube/img/emojis/emojis-svg-8.json" log_heartbeat_with_lifecycles: true log_vis_on_tab_change: true log_web_endpoint_to_layer: true log_web_meta_interval_ms: 0 log_window_onerror_fraction: 0.1 max_duration_to_consider_mouseover_as_hover: 600000 mdx_enable_privacy_disclosure_ui: true mdx_load_cast_api_bootstrap_script: true migrate_to_user_partitioned_download_quality: true min_mouse_still_duration: 100 minimum_duration_to_consider_mouseover_as_hover: 500 network_polling_interval: 30000 networkless_gel: true networkless_logging: true no_sub_count_on_sub_button: true nwl_send_fast_on_unload: true nwl_sw_health_payloads: true nwl_throttling_race_fix: true nwl_trigger_throttle_after_reset: true offline_error_handling: true omit_innertube_api_key_for_bearer_auth_header: true pageid_as_header_web: true pbj_navigate_limit: -1 pdg_desktop_super_thanks_header_update: true pdg_disable_web_super_vod_explicit_click_logging: true pes_aes_all: true pes_migrate_association_data: true player_allow_autonav_after_playlist: true player_bootstrap_method: true player_doubletap_to_seek: true player_enable_playback_playlist_change: true player_endscreen_ellipsis_fix: true polymer2_element_pool_properties: true polymer2_polyfill_manual_flush: true polymer_bad_build_labels: true polymer_report_client_url_requested_rate: 0.001 polymer_report_missing_web_navigation_endpoint_rate: 0.001 polymer_task_manager_proxied_promise: true polymer_task_manager_status: "production" polymer_verifiy_app_state: true polymer_video_renderer_defer_menu: true polymer_warm_thumbnail_preload: true post_type_icons_rearrange: 1 prefetch_comments_ms_after_video: 0 qoe_send_and_write: true record_app_crashed_web: true reload_without_polymer_innertube: true remove_yt_simple_endpoint_from_desktop_display_ad_title: true render_unicode_emojis_as_images_counterfactual: true rich_grid_content_visibility_optimization: true rich_grid_enable_edge_to_edge: true rich_grid_mini_mode: true screen_manager_log_servlet_ei: true search_ui_enable_pve_buy_button: true search_ui_official_cards_enable_paid_virtual_event_buy_button: true searchbox_reporting: true serve_pdp_at_canonical_url: true service_worker_enabled: true service_worker_push_enabled: true service_worker_push_force_notification_prompt_tag: "1" service_worker_push_home_page_prompt: true service_worker_push_logged_out_prompt_watches: -1 service_worker_push_prompt_cap: -1 service_worker_push_prompt_delay_microseconds: 3888000000000 service_worker_push_watch_page_prompt: true service_worker_scope: "/" service_worker_subscribe_with_vapid_key: true should_clear_video_data_on_player_cued_unstarted: true skip_endpoint_param_comparison: true skip_ls_gel_retry: true spf_kevlar_assume_chunked: true sponsorships_upsell_in_picker_check_eligibility: true state_machine_dynamic_events_lifecycles: true suppress_error_204_logging: true ten_video_reordering: Array(10) [ 0, 1, 2, … ] topbar_persistent_store_fallback: true twelve_video_reordering: Array(12) [ 0, 1, 2, … ] use_better_post_dismissals: true use_document_lifecycles: true use_oneplatform_for_video_preview: true use_screen_manager_util: true use_source_element_if_present_for_actions: true use_undefined_csn_any_layer: true use_watch_fragments2: true user_engagement_experiments_rate_limit_ms: 86400000 user_mention_suggestions_edu_impression_cap: 10 viewport_load_collection_wait_time: 0 visibility_time_between_jobs_ms: 100 vss_final_ping_send_and_write: true vss_playback_use_send_and_write: true warm_load_nav_start_web: true warm_op_csn_cleanup: true watch_next_pause_autoplay_lact_sec: 4500 web_always_load_chat_support: true web_api_url: true web_autonav_allow_off_by_default: true web_broadcast_eocs_with_lifecycle: true web_client_version_override: "" web_compact_video_single_line: true web_dedupe_ve_grafting: true web_deprecate_service_ajax_map_dependency: true web_dont_cancel_pending_navigation_same_url: true web_emulated_idle_callback_delay: 0 web_enable_ad_signals_in_it_context: true web_enable_history_cache_map: true web_ep_chevron_tap_target_size: true web_favicon_image_update: true web_fetch_promise_cleanup_killswitch: true web_foreground_heartbeat_interval_ms: 28000 web_forward_command_on_pbj: true web_gel_debounce_ms: 10000 web_gel_timeout_cap: true web_hide_autonav_headline: true web_hide_autonav_keyline: true web_inline_player_triggering_delay: 1000 web_log_memory_total_kbytes: true web_log_player_watch_next_ticks: true web_log_reels_ticks: true web_logging_max_batch: 150 web_move_autoplay_video_under_chip: true web_offline_promo_via_get_player: true web_op_continuation_type_banlist: Array [] web_op_endpoint_banlist: Array [] web_op_signal_type_banlist: Array [] web_open_guide_items_in_new_tab: true web_player_enable_ipp: true web_player_move_autonav_toggle: true web_player_touch_mode_improvements: true web_player_watch_next_response: true web_playlist_watch_panel_overflow_with_add_to: true web_prs_testing_mode_killswitch: true web_response_processor_support: true web_shorts_page_enabled: true web_system_health_fraction: 0.01 web_use_cache_for_image_fallback: true web_use_overflow_menu_for_playlist_watch_panel: true web_yt_config_context: true woffle_promo_via_gda: true yoodle_base_url: "" yoodle_end_time_utc: 0 yoodle_start_time_utc: 0 yoodle_webp_base_url: "" your_data_entrypoint: true ytidb_fetch_datasync_ids_for_data_cleanup: true ytidb_is_supported_cache_success_result: true ytidb_remake_db_retries: 1 ytidb_reopen_db_retries: 0 ytidb_stop_transaction_commit: true ytidb_transaction_ended_event_rate_limit: 0.02
yt.config_.WEB_PLAYER_CONTEXT_CONFIGS.WEB_PLAYER_CONTEXT_CONFIG_ID_KEVLAR_WATCH allowWoffleManagement: true authorizedUserIndex: 0 canaryState: "none" contentRegion: "EE" contextId: "WEB_PLAYER_CONTEXT_CONFIG_ID_KEVLAR_WATCH" csiPageType: "watch" device: Object { browser: "Firefox", browserVersion: "95.0", os: "X11", … } enableCsiLogging: true eventLabel: "detailpage" externalFullscreen: true hl: "en_US" hostLanguage: "en" innertubeApiVersion: "v1" innertubeContextClientVersion: "2.20211221.00.00" playerStyle: "desktop-polymer" rootElementId: "movie_player" showMiniplayerButton: true showMiniplayerUiWhenMinimized: true transparentBackground: true