MCPcopy Create free account

hub / github.com/HelpFreedom/youthub / functions

Functions516 in github.com/HelpFreedom/youthub

↓ 1 callersFunction_capture
Open a fresh browser, capture one /videoplayback POST, close. Used by the legacy one-shot path. The daemon path uses `_capture_on_page` direc
bootstrap.py:456
↓ 1 callersMethod_check_sponsor_skip
Auto-seek past any sponsor segment the playhead landed in. Called on every POS event. We use the same `_handle_seek_req` machinery as
bridge_player.py:466
↓ 1 callersMethod_connect_ipc
(self)
bridge_player.py:289
↓ 1 callersFunction_context
()
youthub/innertube.py:36
↓ 1 callersFunction_cpn
11-char URL-safe random nonce, same alphabet Cobalt uses.
test_logevent.py:19
↓ 1 callersFunction_daemon_main
Long-running visible Camoufox + Unix-socket request handler. Headless Camoufox on this host can't reach the proxy (Firefox-specific NS_ERROR_
bootstrap.py:554
↓ 1 callersFunction_download_jpeg
Fetch the JPEG. If `url` not given, derive from video_id (mqdefault).
youthub/thumbnails.py:34
↓ 1 callersMethod_draw
(self, phase: int, br: int, bc: int, bw: int, bh: int, bar_w: int, title: str)
grid_demo.py:640
↓ 1 callersFunction_drive_browser
(video_id: str, consumer: SabrConsumer, stop_event: threading.Event, log)
live_stream.py:109
↓ 1 callersFunction_empty_state
()
pr_fetch.py:243
↓ 1 callersMethod_ensure_fresh
(self)
youthub/innertube.py:94
↓ 1 callersFunction_env_headless_default
()
bootstrap.py:523
↓ 1 callersFunction_extract_compact
(cvr: dict)
recs_pipeline.py:215
↓ 1 callersFunction_extract_po_token_len
Length of StreamerContext.poToken (field 19 → 2) in a SABR POST. Used to distinguish the cold-start placeholder (~10B) the browser sends in i
bootstrap.py:128
↓ 1 callersFunction_extract_recommended_video_ids
(pr_blob: str)
pr_fetch.py:566
↓ 1 callersFunction_extract_tile
(tvr: dict)
recs_pipeline.py:233
↓ 1 callersFunction_fetchChallengeViaInnertube
()
po_token.mjs:39
↓ 1 callersFunction_fetch_innertube
POST /youtubei/v1/player with a non-WEB client context. Returns the response JSON as a string (serialised back from dict) so the caller treat
pr_fetch.py:462
↓ 1 callersFunction_fetch_watch
Return PR JSON blob if streamingData present, else None.
pr_fetch.py:428
↓ 1 callersMethod_find
(self, name: str, domain: str)
auth_cookies.py:189
↓ 1 callersFunction_frame_jpeg_path
(video_id: str, frame_n: int)
youthub/thumbnails.py:108
↓ 1 callersFunction_gen_cpn
()
watchstats.py:58
↓ 1 callersFunction_get_sts
Current signatureTimestamp from YouTube's player JS, cached 12h. TVHTML5 /player answers UNPLAYABLE "The page needs to be reloaded" when the
pr_fetch.py:361
↓ 1 callersMethod_handle_event
(self, line: str, cprint)
bridge_player.py:349
↓ 1 callersMethod_jar_as_dict
(self)
auth_cookies.py:79
↓ 1 callersFunction_load
()
youthub/auth.py:65
↓ 1 callersMethod_load_more_recs
Triggered by LOAD_MORE_RECS from ffplay-yt when the user scrolls near the end of the list. Spawns recs_pipeline with the saved continu
bridge_player.py:432
↓ 1 callersFunction_looks_like_msg
(buf: bytes)
proto_edit.py:123
↓ 1 callersFunction_parse
(buf: bytes, start: int, end: int)
proto_edit.py:86
↓ 1 callersFunction_parse_pr_html
(html: str)
watchstats.py:63
↓ 1 callersMethod_patch_context
Rewrite the bootstrap body's player-context fields with our HD hints.
sabr.py:348
↓ 1 callersFunction_poll_token
(client: httpx.Client, device_code: str, interval: int)
youthub/auth.py:88
↓ 1 callersFunction_request_device_code
(client: httpx.Client)
youthub/auth.py:79
↓ 1 callersFunction_resolve_proxy
()
live_stream.py:53
↓ 1 callersFunction_runChallenge
(visitorData)
po_token.mjs:52
↓ 1 callersMethod_run_recs_subprocess
Shared worker body: spawn recs_pipeline.py with `args`, pipe each stdout line into ffplay-yt's IPC, intercept CONTINUATION lines for t
bridge_player.py:384
↓ 1 callersFunction_save
(b: Bootstrap, body: bytes, player_response: dict | None)
bootstrap.py:108
↓ 1 callersMethod_seed
Pick a videoId to expand from — bias toward recently-added so results stay related to whatever we're showing the user now.
youthub/feed_loader.py:98
↓ 1 callersFunction_seed_of
Pull the seed videoId out of a /next response so we can tell if the cache was for the same seed video.
grid_demo.py:307
↓ 1 callersMethod_send_playback_start
(self)
watchstats.py:157
↓ 1 callersFunction_spawn_daemon
()
bootstrap.py:702
↓ 1 callersFunction_spawn_telemetry
(vid: str, pr_blob: str, strategy_id: str)
pr_fetch.py:545
↓ 1 callersMethod_start_sidebar_recs
First batch — runs in a daemon thread so the controller loop isn't blocked while recommendations are fetched.
bridge_player.py:422
↓ 1 callersFunction_stats_dump
()
pr_fetch.py:609
↓ 1 callersFunction_telemetry_main
()
pr_fetch.py:575
↓ 1 callersFunction_truncate_to_fit
(draw, word: str, font, max_w: int)
recs_pipeline.py:360
↓ 1 callersFunction_try_strategy
(strat: Strategy, vid: str)
pr_fetch.py:527
↓ 1 callersFunction_use_daemon
()
bootstrap.py:532
↓ 1 callersFunction_wait_for_path
(path: Path, timeout: float)
bridge_player.py:117
↓ 1 callersFunction_walk_for_videos
(node, out)
verify_history.py:29
↓ 1 callersFunction_warmup
GET / to get a fresh VISITOR_INFO1_LIVE under the strategy's fingerprint. Returns True if HTTP 200, False otherwise (we still try /watch even
pr_fetch.py:409
↓ 1 callersFunction_wrap_text
(draw, text: str, font, max_w: int, max_lines: int)
recs_pipeline.py:326
↓ 1 callersFunction_xdo_find_ffplay
Try to find ffplay window by title and by WM_CLASS=ffplay.
grid_demo.py:100
↓ 1 callersFunction_xdo_find_ffplay
(title: str, env: dict)
bridge_player.py:75
↓ 1 callersFunction_xdo_terminal_geometry
Return (x, y, w, h) of the active X11 window (the terminal), captured right before we launch ffplay so we know where to drop its window. None
grid_demo.py:70
↓ 1 callersFunctionaudio_decode_frame
* Decode one audio frame and return its uncompressed size. * * The processed audio frame is decoded, converted if required, and * stored in is->aud
ffplay-yt/ffplay.c:3682
↓ 1 callersFunctionaudio_open
ffplay-yt/ffplay.c:3849
↓ 1 callersMethodbackspace
(self)
grid_demo.py:795
↓ 1 callersMethodbase_headers
(self, *, referer: Optional[str] = None)
auth_cookies.py:109
↓ 1 callersFunctionbootstrap
Return Bootstrap for the given YouTube URL. `engine`: "chromium" (fast, may hit bot wall) or "camoufox" (slower but reliable; default). On fa
bootstrap.py:789
↓ 1 callersFunctionbuild_atempo_chain
ffplay-yt: build an `atempo=…[,atempo=…],asetpts=…` chain for a given * playback speed. libavfilter's atempo accepts 0.5–2.0 per filter — for * 3x a
ffplay-yt/ffplay.c:3305
↓ 1 callersFunctionbuild_request_body
Take the bootstrap-captured template and overwrite the per-step state. Currently overwrites: - top-level field 2 (repeated, selected format
sabr.py:197
↓ 1 callersFunctioncb
(png: bytes)
grid_demo.py:984
↓ 1 callersFunctioncheck_external_clock_speed
ffplay-yt/ffplay.c:2396
↓ 1 callersFunctionclamp_focus
(focus: int, n: int)
grid_demo.py:915
↓ 1 callersFunctionclear_thumbnail_cache
ffplay-yt/ffplay.c:1214
↓ 1 callersFunctioncmp_audio_fmts
ffplay-yt/ffplay.c:539
↓ 1 callersFunctioncompute_mod
ffplay-yt/ffplay.c:1956
↓ 1 callersFunctioncompute_target_delay
ffplay-yt/ffplay.c:2778
↓ 1 callersFunctionconfigure_video_filters
ffplay-yt/ffplay.c:3104
↓ 1 callersFunctiondownload_streams
Run SABR client, write video.fmp4 + audio.fmp4. Returns their paths.
player.py:61
↓ 1 callersFunctiondownload_thumb
(video_id: str)
recs_pipeline.py:268
↓ 1 callersFunctiondraw_focus_border
Heavy yellow rectangle around the focused tile (thumb + 2 text rows).
grid_demo.py:468
↓ 1 callersFunctiondraw_seek_overlay
ffplay-yt/ffplay.c:1522
↓ 1 callersFunctiondraw_sidebar
Render recommendation tiles into the left sidebar. Called from * video_display after the video has been drawn (so we paint on top). * * `x_offset`
ffplay-yt/ffplay.c:1788
↓ 1 callersFunctiondraw_speed_overlay
The centered overlay: rounded-ish dark plate with 3 chevrons (lit * up to `speed_anim_value`) and the speed in a small caption. Pops * in with overs
ffplay-yt/ffplay.c:1394
↓ 1 callersFunctiondraw_sponsor_overlay
ffplay-yt/ffplay.c:1672
↓ 1 callersFunctiondump
(buf: bytes, indent: int = 0, max_bytes_preview: int = 32)
proto_dump.py:85
↓ 1 callersFunctionevent_loop
handle an event sent by the GUI */
ffplay-yt/ffplay.c:4624
↓ 1 callersFunctionextract
(files: list[Path], out_prefix: Path)
ump_extract.py:61
↓ 1 callersFunctionextractPlayerResponse
(html)
sabr_bridge.mjs:80
↓ 1 callersFunctionextractPoTokenFromBootstrapBody
(bin)
sabr_bridge.mjs:246
↓ 1 callersFunctionextract_po_token
(body: bytes)
probe_potoken.py:36
↓ 1 callersMethodfeed
(self, response_bytes: bytes)
live_stream.py:92
↓ 1 callersMethodfeed_char
(self, ch: str)
grid_demo.py:785
↓ 1 callersFunctionfetchWatchPlayerResponse
(vid)
sabr_bridge.mjs:167
↓ 1 callersFunctionfetch_pr
(s, vid: str)
test_cookieping.py:65
↓ 1 callersFunctionfetch_recs_authed
Try authenticated TVHTML5 InnerTube .next() — gives personalized recs. Returns (items, next_continuation_token) or None if auth not available.
recs_pipeline.py:64
↓ 1 callersFunctionfetch_recs_unauth
Plain WEB-client unauth /next call. Public key is well-known.
recs_pipeline.py:90
↓ 1 callersFunctionframe_queue_peek_readable
ffplay-yt/ffplay.c:896
↓ 1 callersFunctionframe_queue_signal
ffplay-yt/ffplay.c:858
↓ 1 callersMethodfrom_dict
(cls, d: dict)
youthub/auth.py:51
↓ 1 callersFunctiongen_cpn
16-char client playback nonce — same alphabet YT web JS uses.
test_cookieping.py:29
↓ 1 callersFunctionget_current
Return the strategy to try right now. If the persisted current is somehow dead (e.g. another invocation just killed it), advance.
pr_fetch.py:320
↓ 1 callersFunctionget_png
Return PNG bytes ready to feed kitty. Cached in memory by (id, size).
youthub/thumbnails.py:72
↓ 1 callersFunctionget_sapisid
(jar)
test_cookieping.py:57
↓ 1 callersFunctionget_sdl_pix_fmt_and_blendmode
ffplay-yt/ffplay.c:1024
↓ 1 callersFunctionget_segments
Return list of (start_sec, end_sec, category) tuples, sorted by start.
sponsorblock.py:38
↓ 1 callersFunctionget_tokens
Return valid tokens; auto-refresh or trigger pairing as needed.
youthub/auth.py:164
↓ 1 callersMethodget_varint
(self, field_no: int)
proto_edit.py:66
← previousnext →201–300 of 516, ranked by callers