prismcast 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/README.md +26 -1
  2. package/dist/app.js +29 -2
  3. package/dist/app.js.map +1 -1
  4. package/dist/browser/cdp.js +1 -1
  5. package/dist/browser/cdp.js.map +1 -1
  6. package/dist/browser/channelSelection.d.ts +14 -4
  7. package/dist/browser/channelSelection.js +48 -704
  8. package/dist/browser/channelSelection.js.map +1 -1
  9. package/dist/browser/index.d.ts +18 -4
  10. package/dist/browser/index.js +205 -39
  11. package/dist/browser/index.js.map +1 -1
  12. package/dist/browser/tuning/fox.d.ts +19 -0
  13. package/dist/browser/tuning/fox.js +61 -0
  14. package/dist/browser/tuning/fox.js.map +1 -0
  15. package/dist/browser/tuning/hbo.d.ts +22 -0
  16. package/dist/browser/tuning/hbo.js +182 -0
  17. package/dist/browser/tuning/hbo.js.map +1 -0
  18. package/dist/browser/tuning/hulu.d.ts +30 -0
  19. package/dist/browser/tuning/hulu.js +514 -0
  20. package/dist/browser/tuning/hulu.js.map +1 -0
  21. package/dist/browser/tuning/sling.d.ts +22 -0
  22. package/dist/browser/tuning/sling.js +287 -0
  23. package/dist/browser/tuning/sling.js.map +1 -0
  24. package/dist/browser/tuning/thumbnailRow.d.ts +18 -0
  25. package/dist/browser/tuning/thumbnailRow.js +107 -0
  26. package/dist/browser/tuning/thumbnailRow.js.map +1 -0
  27. package/dist/browser/tuning/tileClick.d.ts +18 -0
  28. package/dist/browser/tuning/tileClick.js +102 -0
  29. package/dist/browser/tuning/tileClick.js.map +1 -0
  30. package/dist/browser/tuning/youtubeTv.d.ts +17 -0
  31. package/dist/browser/tuning/youtubeTv.js +99 -0
  32. package/dist/browser/tuning/youtubeTv.js.map +1 -0
  33. package/dist/browser/video.d.ts +2 -2
  34. package/dist/browser/video.js +18 -8
  35. package/dist/browser/video.js.map +1 -1
  36. package/dist/channels/index.js +131 -12
  37. package/dist/channels/index.js.map +1 -1
  38. package/dist/config/profiles.d.ts +5 -5
  39. package/dist/config/profiles.js +35 -11
  40. package/dist/config/profiles.js.map +1 -1
  41. package/dist/config/providers.d.ts +48 -4
  42. package/dist/config/providers.js +182 -22
  43. package/dist/config/providers.js.map +1 -1
  44. package/dist/config/sites.d.ts +10 -0
  45. package/dist/config/sites.js +96 -17
  46. package/dist/config/sites.js.map +1 -1
  47. package/dist/config/userChannels.js +21 -3
  48. package/dist/config/userChannels.js.map +1 -1
  49. package/dist/config/userConfig.d.ts +2 -1
  50. package/dist/config/userConfig.js +12 -4
  51. package/dist/config/userConfig.js.map +1 -1
  52. package/dist/index.js +10 -4
  53. package/dist/index.js.map +1 -1
  54. package/dist/routes/auth.js +6 -0
  55. package/dist/routes/auth.js.map +1 -1
  56. package/dist/routes/config.d.ts +5 -0
  57. package/dist/routes/config.js +273 -35
  58. package/dist/routes/config.js.map +1 -1
  59. package/dist/routes/debug.d.ts +6 -0
  60. package/dist/routes/debug.js +274 -0
  61. package/dist/routes/debug.js.map +1 -0
  62. package/dist/routes/index.d.ts +1 -0
  63. package/dist/routes/index.js +3 -0
  64. package/dist/routes/index.js.map +1 -1
  65. package/dist/routes/logs.js +17 -5
  66. package/dist/routes/logs.js.map +1 -1
  67. package/dist/routes/root.js +507 -128
  68. package/dist/routes/root.js.map +1 -1
  69. package/dist/routes/theme.js +7 -0
  70. package/dist/routes/theme.js.map +1 -1
  71. package/dist/service/commands.js +8 -8
  72. package/dist/service/commands.js.map +1 -1
  73. package/dist/service/generators.js +22 -16
  74. package/dist/service/generators.js.map +1 -1
  75. package/dist/streaming/fmp4Segmenter.d.ts +7 -0
  76. package/dist/streaming/fmp4Segmenter.js +124 -15
  77. package/dist/streaming/fmp4Segmenter.js.map +1 -1
  78. package/dist/streaming/hls.d.ts +74 -6
  79. package/dist/streaming/hls.js +212 -130
  80. package/dist/streaming/hls.js.map +1 -1
  81. package/dist/streaming/hlsSegments.js +11 -4
  82. package/dist/streaming/hlsSegments.js.map +1 -1
  83. package/dist/streaming/lifecycle.js +1 -1
  84. package/dist/streaming/lifecycle.js.map +1 -1
  85. package/dist/streaming/monitor.d.ts +1 -1
  86. package/dist/streaming/monitor.js +202 -53
  87. package/dist/streaming/monitor.js.map +1 -1
  88. package/dist/streaming/mp4Parser.d.ts +29 -1
  89. package/dist/streaming/mp4Parser.js +243 -18
  90. package/dist/streaming/mp4Parser.js.map +1 -1
  91. package/dist/streaming/mpegts.d.ts +5 -2
  92. package/dist/streaming/mpegts.js +122 -29
  93. package/dist/streaming/mpegts.js.map +1 -1
  94. package/dist/streaming/registry.d.ts +1 -1
  95. package/dist/streaming/registry.js.map +1 -1
  96. package/dist/streaming/setup.d.ts +13 -1
  97. package/dist/streaming/setup.js +136 -36
  98. package/dist/streaming/setup.js.map +1 -1
  99. package/dist/streaming/showInfo.js +9 -9
  100. package/dist/streaming/showInfo.js.map +1 -1
  101. package/dist/streaming/statusEmitter.js +5 -6
  102. package/dist/streaming/statusEmitter.js.map +1 -1
  103. package/dist/types/index.d.ts +16 -3
  104. package/dist/types/index.js +5 -1
  105. package/dist/types/index.js.map +1 -1
  106. package/dist/utils/debugFilter.d.ts +38 -0
  107. package/dist/utils/debugFilter.js +157 -0
  108. package/dist/utils/debugFilter.js.map +1 -0
  109. package/dist/utils/evaluate.js.map +1 -1
  110. package/dist/utils/ffmpeg.d.ts +5 -0
  111. package/dist/utils/ffmpeg.js +13 -2
  112. package/dist/utils/ffmpeg.js.map +1 -1
  113. package/dist/utils/fileLogger.d.ts +2 -1
  114. package/dist/utils/fileLogger.js +4 -2
  115. package/dist/utils/fileLogger.js.map +1 -1
  116. package/dist/utils/index.d.ts +1 -0
  117. package/dist/utils/index.js +1 -0
  118. package/dist/utils/index.js.map +1 -1
  119. package/dist/utils/logEmitter.d.ts +1 -0
  120. package/dist/utils/logEmitter.js.map +1 -1
  121. package/dist/utils/logger.d.ts +9 -8
  122. package/dist/utils/logger.js +52 -28
  123. package/dist/utils/logger.js.map +1 -1
  124. package/dist/utils/retry.d.ts +1 -1
  125. package/dist/utils/retry.js +3 -3
  126. package/dist/utils/retry.js.map +1 -1
  127. package/dist/utils/version.js +4 -9
  128. package/dist/utils/version.js.map +1 -1
  129. package/package.json +6 -6
@@ -0,0 +1,99 @@
1
+ import { LOG, evaluateWithAbort, formatError } from "../../utils/index.js";
2
+ import { CONFIG } from "../../config/index.js";
3
+ // Base URL for YouTube TV watch page navigation.
4
+ const YOUTUBE_TV_BASE_URL = "https://tv.youtube.com";
5
+ /**
6
+ * YouTube TV grid strategy: finds a channel in the non-virtualized EPG grid at tv.youtube.com/live by querying the aria-label attribute on thumbnail endpoint
7
+ * elements. All ~256 channel rows are present in the DOM simultaneously, so a single querySelector locates the target channel. The strategy extracts the watch
8
+ * URL from the matching anchor element and navigates directly — no scrolling, clicking, or timing workarounds needed.
9
+ *
10
+ * The selection process:
11
+ * 1. Wait for ytu-epg-row elements to confirm the guide grid has loaded.
12
+ * 2. Find the target channel using a case-insensitive aria-label CSS selector.
13
+ * 3. Extract the href attribute and validate it starts with "watch/" (not "live" or "browse/").
14
+ * 4. Navigate to the full watch URL via page.goto().
15
+ * @param page - The Puppeteer page object.
16
+ * @param profile - The resolved site profile with a non-null channelSelector (channel name, e.g., "CNN", "ESPN", "NBC").
17
+ * @returns Result object with success status and optional failure reason.
18
+ */
19
+ export async function youtubeGridStrategy(page, profile) {
20
+ const channelName = profile.channelSelector;
21
+ // Wait for the EPG grid to render. All ~256 rows load simultaneously (no virtualization), so once any row exists, all channels are queryable.
22
+ try {
23
+ await page.waitForSelector("ytu-epg-row", { timeout: CONFIG.streaming.videoTimeout });
24
+ }
25
+ catch {
26
+ return { reason: "YouTube TV guide grid did not load.", success: false };
27
+ }
28
+ // Known alternate channel names for affiliates that vary by market. CW appears as "WGN" in some markets. PBS affiliates appear under local call letters (e.g.,
29
+ // WTTW, KQED) rather than "PBS", so we list the major market call letters to cover most users. Each alternate is tried after the primary name fails both exact and
30
+ // prefix+digit matching. Users in smaller markets override via custom channel entries with their local call letters as the channelSelector.
31
+ const CHANNEL_ALTERNATES = {
32
+ "cw": ["WGN"],
33
+ "pbs": [
34
+ "GBH", "KAET", "KBTC", "KCET", "KCTS", "KERA", "KLCS", "KOCE", "KPBS", "KQED", "KRMA", "KUHT", "KVIE", "MPT", "NJ PBS", "THIRTEEN", "TPT", "WETA", "WGBH", "WHYY",
35
+ "WLIW", "WNED", "WNET", "WNIT", "WPBA", "WPBT", "WTTW", "WTVS", "WXEL"
36
+ ]
37
+ };
38
+ // Build the list of names to try: the primary name first, then any known alternates for markets where the affiliate uses a different name. The eslint disable is
39
+ // needed because TypeScript's Record indexing doesn't capture that the key may not exist at runtime.
40
+ const alternates = CHANNEL_ALTERNATES[channelName.toLowerCase()];
41
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
42
+ const namesToTry = alternates ? [channelName, ...alternates] : [channelName];
43
+ // Find the watch URL for the target channel. For each name in the list, first tries an exact case-insensitive aria-label match. If that fails, falls back to a
44
+ // prefix+digit match for local affiliates — YouTube TV displays locals as "{Network} {Number}" (e.g., "NBC 5", "ABC 7", "FOX 32"), so a channelSelector of "NBC"
45
+ // can automatically resolve to the user's local affiliate. The prefix fallback requires a space followed by a digit after the network name to avoid false positives
46
+ // like "NBC Sports Chicago".
47
+ const watchPath = await evaluateWithAbort(page, (names) => {
48
+ // Helper to extract and validate a watch URL from an anchor element. Returns the href if it points to a streamable watch page, null otherwise.
49
+ const extractWatchHref = (anchor) => {
50
+ if (!anchor) {
51
+ return null;
52
+ }
53
+ const href = anchor.getAttribute("href");
54
+ // Validate the href points to a streamable watch page. Channels with "live" or "browse/" hrefs are premium add-ons or info pages that cannot be streamed.
55
+ if (!href?.startsWith("watch/")) {
56
+ return null;
57
+ }
58
+ return href;
59
+ };
60
+ // Try each name in order. The primary channel name is tried first, followed by any known alternates.
61
+ for (const name of names) {
62
+ // Try exact match first. The CSS "i" flag enables case-insensitive matching to handle variations in capitalization between the channel selector and the guide.
63
+ const exactSelector = "ytu-endpoint.tenx-thumb[aria-label=\"watch " + name + "\" i] a";
64
+ const exactResult = extractWatchHref(document.querySelector(exactSelector));
65
+ if (exactResult) {
66
+ return exactResult;
67
+ }
68
+ // Fallback: prefix + digit match for local affiliates. Find all thumbnails whose aria-label starts with "watch {Name} " and filter to those where the next
69
+ // character is a digit, matching the "{Network} {Number}" pattern (e.g., "NBC 5", "ABC 7") while excluding unrelated channels (e.g., "NBC Sports Chicago").
70
+ const prefixSelector = "ytu-endpoint.tenx-thumb[aria-label^=\"watch " + name + " \" i] a";
71
+ const candidates = document.querySelectorAll(prefixSelector);
72
+ const prefix = "watch " + name + " ";
73
+ for (const candidate of Array.from(candidates)) {
74
+ const parent = candidate.closest("ytu-endpoint.tenx-thumb");
75
+ const label = parent?.getAttribute("aria-label") ?? "";
76
+ const suffix = label.slice(prefix.length);
77
+ // Accept only if the remainder starts with a digit — this is the local affiliate channel number.
78
+ if ((suffix.length > 0) && (suffix.charCodeAt(0) >= 48) && (suffix.charCodeAt(0) <= 57)) {
79
+ return extractWatchHref(candidate);
80
+ }
81
+ }
82
+ }
83
+ return null;
84
+ }, [namesToTry]);
85
+ if (!watchPath) {
86
+ return { reason: "Channel " + channelName + " not found in YouTube TV guide or is not streamable.", success: false };
87
+ }
88
+ // Navigate directly to the watch URL. This auto-starts playback without any click interaction needed.
89
+ const watchUrl = YOUTUBE_TV_BASE_URL + "/" + watchPath;
90
+ LOG.debug("tuning:yttv", "Navigating to YouTube TV watch URL for %s.", channelName);
91
+ try {
92
+ await page.goto(watchUrl, { timeout: CONFIG.streaming.navigationTimeout, waitUntil: "load" });
93
+ }
94
+ catch (error) {
95
+ return { reason: "Failed to navigate to YouTube TV watch page: " + formatError(error) + ".", success: false };
96
+ }
97
+ return { success: true };
98
+ }
99
+ //# sourceMappingURL=youtubeTv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"youtubeTv.js","sourceRoot":"","sources":["../../../src/browser/tuning/youtubeTv.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Frame, Page } from "puppeteer-core";
2
- import type { ResolvedSiteProfile, TuneResult, VideoSelectorType } from "../types/index.js";
2
+ import type { Nullable, ResolvedSiteProfile, TuneResult, VideoSelectorType } from "../types/index.js";
3
3
  /**
4
4
  * Builds a selector type identifier for the video element based on the site profile. This returns a string that browser context code interprets to select the
5
5
  * appropriate video element. Using a string identifier instead of passing functions avoids serialization issues with page.evaluate() and is more secure than
@@ -27,7 +27,7 @@ export interface VideoStateInfo {
27
27
  * @param selectorType - The video selector type for finding the element.
28
28
  * @returns The video state or null if no video found.
29
29
  */
30
- export declare function getVideoState(context: Frame | Page, selectorType: VideoSelectorType): Promise<VideoStateInfo | null>;
30
+ export declare function getVideoState(context: Frame | Page, selectorType: VideoSelectorType): Promise<Nullable<VideoStateInfo>>;
31
31
  /**
32
32
  * Enforces volume settings on the video element. Sets muted to false and volume to 1. This is called periodically during health monitoring to counter sites that
33
33
  * aggressively mute videos.
@@ -2,7 +2,7 @@
2
2
  *
3
3
  * video.ts: Video context and playback handling for PrismCast.
4
4
  */
5
- import { EvaluateAbortError, LOG, delay, evaluateWithAbort, formatError } from "../utils/index.js";
5
+ import { EvaluateAbortError, LOG, delay, evaluateWithAbort, formatError, startTimer } from "../utils/index.js";
6
6
  import { CONFIG } from "../config/index.js";
7
7
  import { selectChannel } from "./channelSelection.js";
8
8
  /* These functions manage the video element lifecycle for streaming capture. The key challenges we solve:
@@ -453,7 +453,7 @@ export async function lockVolumeProperties(context, selectorType) {
453
453
  // Mark the video as locked to prevent re-applying the lock.
454
454
  video.__volumeLocked = true;
455
455
  }, [selectorType]);
456
- LOG.info("Volume properties locked successfully.");
456
+ LOG.debug("browser:video", "Volume properties locked successfully.");
457
457
  }
458
458
  catch (error) {
459
459
  // Volume locking is not critical to stream function - log a warning but don't fail the operation. Also handles AbortError if stream is terminated.
@@ -519,7 +519,7 @@ export async function triggerFullscreen(page, context, profile, selectorType) {
519
519
  }, [selectorType]);
520
520
  }
521
521
  catch (error) {
522
- LOG.warn("Could not trigger fullscreen: %s.", formatError(error));
522
+ LOG.debug("browser:video", "Could not trigger fullscreen: %s.", formatError(error));
523
523
  }
524
524
  }
525
525
  }
@@ -673,13 +673,13 @@ export async function ensureFullscreen(page, context, profile, selectorType) {
673
673
  const isFullscreen = await verifyFullscreen(context, selectorType);
674
674
  if (isFullscreen) {
675
675
  if (attempt > 1) {
676
- LOG.info("Fullscreen succeeded on attempt %s.", attempt);
676
+ LOG.debug("browser:video", "Fullscreen succeeded on attempt %s.", attempt);
677
677
  }
678
678
  return;
679
679
  }
680
680
  // Fullscreen verification failed. If we have retries remaining, wait and try again.
681
681
  if (attempt < maxSimpleRetries) {
682
- LOG.warn("Fullscreen verification failed (attempt %s/%s). Retrying after %sms.", attempt, maxSimpleRetries, retryDelay);
682
+ LOG.debug("browser:video", "Fullscreen verification failed (attempt %s/%s). Retrying after %sms.", attempt, maxSimpleRetries, retryDelay);
683
683
  // eslint-disable-next-line no-await-in-loop
684
684
  await delay(retryDelay);
685
685
  }
@@ -695,7 +695,7 @@ export async function ensureFullscreen(page, context, profile, selectorType) {
695
695
  await delay(verifyDelay);
696
696
  const finalCheck = await verifyFullscreen(context, selectorType);
697
697
  if (finalCheck) {
698
- LOG.info("Fullscreen succeeded after aggressive techniques.");
698
+ LOG.debug("browser:video", "Fullscreen succeeded after aggressive techniques.");
699
699
  }
700
700
  else {
701
701
  LOG.warn("Fullscreen could not be verified even after aggressive techniques. Video may not fill viewport.");
@@ -772,7 +772,7 @@ async function dismissGuideOverlay(page) {
772
772
  }
773
773
  catch (error) {
774
774
  // Overlay dismissal is best-effort. The overlay may not exist, or the page may be in a state where keyboard input is ignored.
775
- LOG.debug("Could not dismiss guide overlay: %s.", formatError(error));
775
+ LOG.debug("browser:video", "Could not dismiss guide overlay: %s.", formatError(error));
776
776
  }
777
777
  }
778
778
  /**
@@ -789,6 +789,7 @@ async function dismissGuideOverlay(page) {
789
789
  * @returns The video context (frame or page) for subsequent monitoring.
790
790
  */
791
791
  export async function initializePlayback(page, profile) {
792
+ const elapsed = startTimer();
792
793
  // For multi-channel players (like usanetwork.com/live with multiple channels), select the desired channel from the UI. The selectChannel function checks the
793
794
  // profile's channelSelection strategy and channelSelector to determine if/how to select a channel.
794
795
  let channelResult = await selectChannel(page, profile);
@@ -803,9 +804,11 @@ export async function initializePlayback(page, profile) {
803
804
  LOG.warn("Channel selection may have failed: %s.", channelResult.reason ?? "Unknown reason");
804
805
  }
805
806
  }
807
+ LOG.debug("timing:tune", "Channel selection complete. (+%sms)", elapsed());
806
808
  // Find the video context, which may be an iframe for embedded players. Some streaming sites embed their video player in an iframe, requiring us to search
807
809
  // through frames to find the one containing the video element.
808
810
  const context = await findVideoContext(page, profile);
811
+ LOG.debug("timing:tune", "Video context found. (+%sms)", elapsed());
809
812
  // For clickToPlay sites, we need to click an element to start playback. These players require user interaction to begin playing, even with autoplay enabled. If
810
813
  // clickSelector is set, we click that element (typically a play button overlay); otherwise we click the video element directly.
811
814
  if (profile.clickToPlay) {
@@ -814,6 +817,7 @@ export async function initializePlayback(page, profile) {
814
817
  // Wait for the click target to appear in the DOM. Play button overlays may be rendered after initial page load.
815
818
  await context.waitForSelector(clickTarget, { timeout: CONFIG.streaming.videoTimeout });
816
819
  await context.click(clickTarget);
820
+ LOG.debug("timing:tune", "Click-to-play complete. (+%sms)", elapsed());
817
821
  }
818
822
  catch (clickError) {
819
823
  LOG.warn("Could not click %s to initiate playback: %s.", clickTarget, formatError(clickError));
@@ -821,8 +825,10 @@ export async function initializePlayback(page, profile) {
821
825
  }
822
826
  // Wait for video to be ready (readyState >= 3). This ensures enough data is buffered for playback to begin smoothly.
823
827
  await waitForVideoReady(context, profile);
828
+ LOG.debug("timing:tune", "Video ready. (+%sms)", elapsed());
824
829
  // Ensure playback is started, unmuted, and fullscreen. This applies CSS styling, triggers native fullscreen, and enforces volume settings.
825
830
  await ensurePlayback(page, context, profile, 1);
831
+ LOG.debug("timing:tune", "Playback ensured. (+%sms)", elapsed());
826
832
  return { context };
827
833
  }
828
834
  /**
@@ -846,10 +852,14 @@ export async function initializePlayback(page, profile) {
846
852
  * @returns The video context (frame or page) for subsequent monitoring.
847
853
  */
848
854
  export async function tuneToChannel(page, url, profile) {
855
+ const tuneElapsed = startTimer();
849
856
  // Navigate to the target URL. This handles timeout and network errors, returning when the page is loaded. The navigation strategy (networkidle vs load event)
850
857
  // is determined by the profile's waitForNetworkIdle flag.
851
858
  await navigateToPage(page, url, profile);
859
+ LOG.debug("timing:tune", "Navigation complete. (+%sms)", tuneElapsed());
852
860
  // Perform all post-navigation initialization: channel selection, video context resolution, click to play, video readiness, and fullscreen.
853
- return initializePlayback(page, profile);
861
+ const result = await initializePlayback(page, profile);
862
+ LOG.debug("timing:tune", "Tune complete. Total: %sms.", tuneElapsed());
863
+ return result;
854
864
  }
855
865
  //# sourceMappingURL=video.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/browser/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/browser/video.ts"],"names":[],"mappings":"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"}