prismcast 1.1.0 → 1.2.1

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 (136) hide show
  1. package/README.md +20 -4
  2. package/dist/app.js +5 -20
  3. package/dist/app.js.map +1 -1
  4. package/dist/browser/cdp.js +1 -4
  5. package/dist/browser/cdp.js.map +1 -1
  6. package/dist/browser/channelSelection.d.ts +5 -0
  7. package/dist/browser/channelSelection.js +803 -53
  8. package/dist/browser/channelSelection.js.map +1 -1
  9. package/dist/browser/display.js +1 -4
  10. package/dist/browser/display.js.map +1 -1
  11. package/dist/browser/index.js +10 -28
  12. package/dist/browser/index.js.map +1 -1
  13. package/dist/browser/video.d.ts +24 -10
  14. package/dist/browser/video.js +101 -44
  15. package/dist/browser/video.js.map +1 -1
  16. package/dist/channels/index.d.ts +1 -17
  17. package/dist/channels/index.js +246 -137
  18. package/dist/channels/index.js.map +1 -1
  19. package/dist/config/index.js +10 -9
  20. package/dist/config/index.js.map +1 -1
  21. package/dist/config/presets.js +1 -4
  22. package/dist/config/presets.js.map +1 -1
  23. package/dist/config/profiles.d.ts +14 -13
  24. package/dist/config/profiles.js +47 -287
  25. package/dist/config/profiles.js.map +1 -1
  26. package/dist/config/providers.d.ts +75 -0
  27. package/dist/config/providers.js +283 -0
  28. package/dist/config/providers.js.map +1 -0
  29. package/dist/config/sites.d.ts +20 -0
  30. package/dist/config/sites.js +350 -0
  31. package/dist/config/sites.js.map +1 -0
  32. package/dist/config/userChannels.d.ts +15 -3
  33. package/dist/config/userChannels.js +85 -33
  34. package/dist/config/userChannels.js.map +1 -1
  35. package/dist/config/userConfig.d.ts +1 -0
  36. package/dist/config/userConfig.js +12 -26
  37. package/dist/config/userConfig.js.map +1 -1
  38. package/dist/hdhr/channelMap.js +3 -6
  39. package/dist/hdhr/channelMap.js.map +1 -1
  40. package/dist/hdhr/deviceId.js +1 -4
  41. package/dist/hdhr/deviceId.js.map +1 -1
  42. package/dist/hdhr/discover.js.map +1 -1
  43. package/dist/hdhr/index.js +1 -4
  44. package/dist/hdhr/index.js.map +1 -1
  45. package/dist/index.js +4 -16
  46. package/dist/index.js.map +1 -1
  47. package/dist/routes/assets.js +1 -4
  48. package/dist/routes/assets.js.map +1 -1
  49. package/dist/routes/auth.js +4 -2
  50. package/dist/routes/auth.js.map +1 -1
  51. package/dist/routes/channels.js +2 -2
  52. package/dist/routes/channels.js.map +1 -1
  53. package/dist/routes/components.js.map +1 -1
  54. package/dist/routes/config.js +163 -34
  55. package/dist/routes/config.js.map +1 -1
  56. package/dist/routes/health.js +1 -4
  57. package/dist/routes/health.js.map +1 -1
  58. package/dist/routes/hls.js +1 -4
  59. package/dist/routes/hls.js.map +1 -1
  60. package/dist/routes/index.js +1 -4
  61. package/dist/routes/index.js.map +1 -1
  62. package/dist/routes/logs.js +3 -12
  63. package/dist/routes/logs.js.map +1 -1
  64. package/dist/routes/mpegts.js +1 -4
  65. package/dist/routes/mpegts.js.map +1 -1
  66. package/dist/routes/play.js +1 -4
  67. package/dist/routes/play.js.map +1 -1
  68. package/dist/routes/playlist.js +2 -5
  69. package/dist/routes/playlist.js.map +1 -1
  70. package/dist/routes/root.js +43 -12
  71. package/dist/routes/root.js.map +1 -1
  72. package/dist/routes/streams.js +2 -8
  73. package/dist/routes/streams.js.map +1 -1
  74. package/dist/routes/theme.js +1 -4
  75. package/dist/routes/theme.js.map +1 -1
  76. package/dist/routes/ui.js +1 -4
  77. package/dist/routes/ui.js.map +1 -1
  78. package/dist/service/commands.js +1 -4
  79. package/dist/service/commands.js.map +1 -1
  80. package/dist/service/generators.js +4 -16
  81. package/dist/service/generators.js.map +1 -1
  82. package/dist/streaming/clients.js.map +1 -1
  83. package/dist/streaming/fmp4Segmenter.d.ts +1 -0
  84. package/dist/streaming/fmp4Segmenter.js +7 -12
  85. package/dist/streaming/fmp4Segmenter.js.map +1 -1
  86. package/dist/streaming/hls.d.ts +3 -0
  87. package/dist/streaming/hls.js +39 -21
  88. package/dist/streaming/hls.js.map +1 -1
  89. package/dist/streaming/hlsSegments.js +1 -4
  90. package/dist/streaming/hlsSegments.js.map +1 -1
  91. package/dist/streaming/lifecycle.js +1 -4
  92. package/dist/streaming/lifecycle.js.map +1 -1
  93. package/dist/streaming/monitor.d.ts +1 -0
  94. package/dist/streaming/monitor.js +296 -76
  95. package/dist/streaming/monitor.js.map +1 -1
  96. package/dist/streaming/mp4Parser.js.map +1 -1
  97. package/dist/streaming/mpegts.js +1 -4
  98. package/dist/streaming/mpegts.js.map +1 -1
  99. package/dist/streaming/registry.d.ts +7 -0
  100. package/dist/streaming/registry.js +10 -0
  101. package/dist/streaming/registry.js.map +1 -1
  102. package/dist/streaming/setup.d.ts +4 -1
  103. package/dist/streaming/setup.js +35 -33
  104. package/dist/streaming/setup.js.map +1 -1
  105. package/dist/streaming/showInfo.js +3 -6
  106. package/dist/streaming/showInfo.js.map +1 -1
  107. package/dist/streaming/statusEmitter.d.ts +2 -0
  108. package/dist/streaming/statusEmitter.js +2 -4
  109. package/dist/streaming/statusEmitter.js.map +1 -1
  110. package/dist/types/index.d.ts +34 -2
  111. package/dist/utils/errors.js +1 -4
  112. package/dist/utils/errors.js.map +1 -1
  113. package/dist/utils/evaluate.js +3 -6
  114. package/dist/utils/evaluate.js.map +1 -1
  115. package/dist/utils/ffmpeg.js +2 -8
  116. package/dist/utils/ffmpeg.js.map +1 -1
  117. package/dist/utils/fileLogger.js +9 -30
  118. package/dist/utils/fileLogger.js.map +1 -1
  119. package/dist/utils/format.d.ts +7 -0
  120. package/dist/utils/format.js +20 -0
  121. package/dist/utils/format.js.map +1 -1
  122. package/dist/utils/html.js +1 -4
  123. package/dist/utils/html.js.map +1 -1
  124. package/dist/utils/logEmitter.js +1 -4
  125. package/dist/utils/logEmitter.js.map +1 -1
  126. package/dist/utils/logger.js +4 -16
  127. package/dist/utils/logger.js.map +1 -1
  128. package/dist/utils/m3u.js +1 -4
  129. package/dist/utils/m3u.js.map +1 -1
  130. package/dist/utils/morganStream.js +1 -4
  131. package/dist/utils/morganStream.js.map +1 -1
  132. package/dist/utils/platform.js.map +1 -1
  133. package/dist/utils/retry.js +1 -4
  134. package/dist/utils/retry.js.map +1 -1
  135. package/dist/utils/streamContext.js.map +1 -1
  136. package/package.json +3 -3
@@ -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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"}
@@ -1,19 +1,3 @@
1
- import type { Channel, ChannelMap } from "../types/index.js";
1
+ import type { ChannelMap } from "../types/index.js";
2
2
  export declare const CHANNELS: ChannelMap;
3
- /**
4
- * Gets a channel by name.
5
- * @param name - The channel key name.
6
- * @returns The channel configuration or undefined if not found.
7
- */
8
- export declare function getChannel(name: string): Channel | undefined;
9
- /**
10
- * Returns the total number of configured channels.
11
- * @returns The channel count.
12
- */
13
- export declare function getChannelCount(): number;
14
- /**
15
- * Returns all channel names sorted alphabetically.
16
- * @returns Array of channel key names.
17
- */
18
- export declare function getChannelNames(): string[];
19
3
  export { CHANNELS as PREDEFINED_CHANNELS };
@@ -1,156 +1,265 @@
1
1
  /*
2
- * CHANNEL DEFINITIONS
2
+ * Map short channel names to streaming configurations. Users request streams via /stream/nbc instead of full URLs.
3
3
  *
4
- * The channels object maps short channel names to their streaming URLs and optional profile hints. Users can request streams using simple names like /stream/nbc
5
- * instead of remembering full URLs. The optional profile property allows channels to explicitly declare which site profile to use, which is useful when the URL
6
- * domain does not match the expected behavior. Channels with profile "auto" or without a profile property use URL-based domain profile detection.
4
+ * Channel properties:
5
+ * - name: Display name shown in Channels DVR (required for canonical channels, inherited by variants).
6
+ * - url: Streaming site URL.
7
+ * - profile: Site behavior profile (optional). Use "auto" or omit to auto-detect from URL domain. See config/profiles.ts for available profiles.
8
+ * - stationId: Gracenote station ID for guide data (optional). Local affiliates (ABC, CBS, NBC) vary by region.
9
+ * - channelSelector: Channel identifier for multi-channel pages. For thumbnailRow/tileClick profiles, this is a slug matched against image URLs. For guideGrid
10
+ * (huluLive), this is the exact channel name matched against image alt text. For hboGrid (hboMax), this is the channel name matched against the live channel rail
11
+ * tile text (e.g., HBO, HBO Hits). For youtubeGrid (youtubeTV), this is the channel name from the YouTube TV guide or a network name (e.g., NBC) for local
12
+ * affiliates.
13
+ * - provider: Display name override for the provider selection dropdown (optional). Normally auto-derived from the URL domain via DOMAIN_CONFIG in
14
+ * config/profiles.ts. Only needed when a channel's display name should differ from the domain-level default.
15
+ *
16
+ * Provider variants: Channels are grouped by key prefix convention — a key like "espn-disneyplus" is a variant of "espn" because it starts with "espn-" and
17
+ * "espn" exists as a channel. Variants inherit `name` and `stationId` from the canonical entry. See config/providers.ts for grouping details.
18
+ *
19
+ * IMPORTANT: Avoid hyphenated keys that would unintentionally match an existing channel. If "foo" exists, "foo-bar" becomes its variant. Use non-hyphenated keys
20
+ * for independent channels (e.g., "cnni" instead of "cnn-international").
7
21
  */
8
- /* eslint-disable @stylistic/max-len */
9
22
  export const CHANNELS = {
10
- // Sites with multiple video elements requiring ready-state selection. ABC station ID varies by local affiliate.
11
- abc: { name: "ABC", profile: "auto", url: "https://abc.com/watch-live/b2f23a6e-a2a4-4d63-bd3b-e330921b0942" },
12
- // A&E family channels use standard players that work with the default profile.
23
+ abc: { name: "ABC", url: "https://abc.com/watch-live/b2f23a6e-a2a4-4d63-bd3b-e330921b0942" },
24
+ "abc-hulu": { channelSelector: "ABC", url: "https://www.hulu.com/live" },
25
+ "abc-yttv": { channelSelector: "ABC", url: "https://tv.youtube.com/live" },
13
26
  ae: { name: "A&E", stationId: "51529", url: "https://play.aetv.com/live" },
14
- // Discovery and Warner Brothers Discovery family channels use the fullscreen API profile.
15
- ahc: { name: "American Heroes", profile: "auto", stationId: "78808", url: "https://watch.foodnetwork.com/channel/ahc" },
16
- animal: { name: "Animal Planet", profile: "auto", stationId: "57394", url: "https://watch.foodnetwork.com/channel/animal-planet" },
17
- bigten: { name: "Big 10", profile: "auto", stationId: "58321", url: "https://www.foxsports.com/live/btn" },
18
- // Keyboard fullscreen sites with dynamic content loading requiring network idle wait.
19
- bravo: { name: "Bravo", profile: "auto", stationId: "58625", url: "https://www.nbc.com/live?brand=bravo&callsign=bravo_east" },
20
- bravop: { name: "Bravo (Pacific)", profile: "auto", stationId: "73994", url: "https://www.nbc.com/live?brand=bravo&callsign=bravo_west" },
21
- // Keyboard fullscreen sites with iframe-embedded players. CBS station ID varies by local affiliate.
22
- cbs: { name: "CBS", profile: "auto", url: "https://www.cbs.com/live-tv/stream" },
23
- // CNBC and CNN sites use standard players.
27
+ "ae-hulu": { channelSelector: "A&E", url: "https://www.hulu.com/live" },
28
+ ahc: { name: "American Heroes", stationId: "78808", url: "https://watch.foodnetwork.com/channel/ahc" },
29
+ animal: { name: "Animal Planet", stationId: "57394", url: "https://watch.foodnetwork.com/channel/animal-planet" },
30
+ "animal-hulu": { channelSelector: "Animal Planet", url: "https://www.hulu.com/live" },
31
+ "animal-yttv": { channelSelector: "Animal Planet", url: "https://tv.youtube.com/live" },
32
+ bet: { name: "BET", stationId: "63236", url: "https://www.bet.com/live-tv" },
33
+ "bet-hulu": { channelSelector: "BET", url: "https://www.hulu.com/live" },
34
+ "bet-yttv": { channelSelector: "BET", url: "https://tv.youtube.com/live" },
35
+ bigten: { name: "Big 10", stationId: "58321", url: "https://www.foxsports.com/live/btn" },
36
+ "bigten-hulu": { channelSelector: "Big Ten Network", url: "https://www.hulu.com/live" },
37
+ bravo: { name: "Bravo", stationId: "58625", url: "https://www.nbc.com/live?brand=bravo&callsign=bravo_east" },
38
+ "bravo-hulu": { channelSelector: "Bravo", url: "https://www.hulu.com/live" },
39
+ "bravo-yttv": { channelSelector: "Bravo", url: "https://tv.youtube.com/live" },
40
+ bravop: { name: "Bravo (Pacific)", stationId: "73994", url: "https://www.nbc.com/live?brand=bravo&callsign=bravo_west" },
41
+ cbs: { name: "CBS", url: "https://www.cbs.com/live-tv/stream" },
42
+ "cbs-hulu": { channelSelector: "CBS", url: "https://www.hulu.com/live" },
43
+ "cbs-paramountplus": { name: "CBS", url: "https://www.paramountplus.com/live-tv/" },
44
+ "cbs-yttv": { channelSelector: "CBS", url: "https://tv.youtube.com/live" },
45
+ cmt: { channelSelector: "CMT", name: "CMT", stationId: "59440", url: "https://www.hulu.com/live" },
24
46
  cnbc: { name: "CNBC", stationId: "58780", url: "https://www.cnbc.com/live-tv" },
25
- // cnbc: { channelSelector: "CNBC_US", name: "CNBC", profile: "keyboardDynamicMultiVideo", stationId: "58780", url: "https://www.usanetwork.com/live" },
47
+ "cnbc-hulu": { channelSelector: "CNBC", url: "https://www.hulu.com/live" },
48
+ "cnbc-usa": { channelSelector: "CNBC_US", url: "https://www.usanetwork.com/live" },
49
+ "cnbc-yttv": { channelSelector: "CNBC", url: "https://tv.youtube.com/live" },
26
50
  cnn: { name: "CNN", stationId: "58646", url: "https://www.cnn.com/videos/cnn" },
51
+ "cnn-hulu": { channelSelector: "CNN", url: "https://www.hulu.com/live" },
52
+ "cnn-yttv": { channelSelector: "CNN", url: "https://tv.youtube.com/live" },
27
53
  cnni: { name: "CNN International", stationId: "83110", url: "https://www.cnn.com/videos/cnn-i" },
28
- // Discovery and Warner Brothers Discovery family channels use the fullscreen API profile.
29
- cooking: { name: "Cooking", profile: "auto", stationId: "68065", url: "https://watch.foodnetwork.com/channel/cooking-channel" },
30
- // C-SPAN channels use the Brightcove player profile.
31
- cspan: { name: "C-SPAN", profile: "auto", stationId: "68344", url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span" },
32
- cspan2: { name: "C-SPAN 2", profile: "auto", stationId: "68334", url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span-2" },
33
- cspan3: { name: "C-SPAN 3", profile: "auto", stationId: "68332", url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span-3" },
34
- // Discovery and Warner Brothers Discovery family channels use the fullscreen API profile.
35
- discovery: { name: "Discovery", profile: "auto", stationId: "56905", url: "https://watch.foodnetwork.com/channel/discovery" },
36
- discoverylife: { name: "Discovery Life", profile: "auto", stationId: "92204", url: "https://watch.foodnetwork.com/channel/discovery-life" },
37
- discoveryturbo: { name: "Discovery Turbo", profile: "auto", stationId: "31046", url: "https://watch.foodnetwork.com/channel/motortrend" },
38
- // Multi-channel keyboard players requiring channel selection from the UI.
39
- e: { channelSelector: "E-_East", name: "E!", profile: "auto", stationId: "61812", url: "https://www.usanetwork.com/live" },
40
- ep: { channelSelector: "E-_West", name: "E! (Pacific)", profile: "auto", stationId: "91579", url: "https://www.usanetwork.com/live" },
41
- // Disney+ live channels using tile-based channel selection from the shared live TV page.
42
- espn: { channelSelector: "poster_linear_espn_none", name: "ESPN", profile: "auto", stationId: "32645", url: "https://www.disneyplus.com/browse/live" },
43
- espn2: { channelSelector: "poster_linear_espn2_none", name: "ESPN2", profile: "auto", stationId: "45507", url: "https://www.disneyplus.com/browse/live" },
44
- espnacc: { channelSelector: "poster_linear_acc-network_none", name: "ACC Network", profile: "auto", stationId: "111871", url: "https://www.disneyplus.com/browse/live" },
45
- espndeportes: { channelSelector: "poster_linear_espn-deportes_none", name: "ESPN Deportes", profile: "auto", stationId: "71914", url: "https://www.disneyplus.com/browse/live" },
46
- espnews: { channelSelector: "poster_linear_espnews_none", name: "ESPNews", profile: "auto", stationId: "59976", url: "https://www.disneyplus.com/browse/live" },
47
- espnsec: { channelSelector: "poster_linear_sec-network_none", name: "SEC Network", profile: "auto", stationId: "89714", url: "https://www.disneyplus.com/browse/live" },
48
- espnu: { channelSelector: "poster_linear_espnu_none", name: "ESPNU", profile: "auto", stationId: "60696", url: "https://www.disneyplus.com/browse/live" },
49
- // Iframe-embedded players with multiple video elements requiring network idle wait.
50
- fbc: { name: "Fox Business", profile: "auto", stationId: "58718", url: "https://www.foxbusiness.com/video/5640669329001" },
51
- fnc: { name: "Fox News", profile: "auto", stationId: "60179", url: "https://www.foxnews.com/video/5614615980001" },
52
- // Discovery and Warner Brothers Discovery family channels use the fullscreen API profile.
53
- food: { name: "Food Network", profile: "auto", stationId: "50747", url: "https://watch.foodnetwork.com/channel/food-network" },
54
- foxdeportes: { name: "Fox Deportes", profile: "auto", stationId: "72189", url: "https://www.foxsports.com/live/foxdep" },
55
- foxsoccerplus: { name: "Fox Soccer Plus", profile: "auto", stationId: "66879", url: "https://www.foxsports.com/live/fsp" },
56
- // France24 channels require volume locking to prevent auto-muting.
57
- france24: { name: "France 24", profile: "auto", stationId: "60961", url: "https://www.france24.com/en/live" },
58
- france24fr: { name: "France 24 (French)", profile: "auto", stationId: "58685", url: "https://www.france24.com/fr/direct" },
59
- fs1: { name: "FS1", profile: "auto", stationId: "82547", url: "https://www.foxsports.com/live/fs1" },
60
- fs2: { name: "FS2", profile: "auto", stationId: "59305", url: "https://www.foxsports.com/live/fs2" },
61
- // Keyboard fullscreen sites with multiple video elements requiring ready-state selection.
62
- fx: { name: "FX", profile: "auto", stationId: "58574", url: "https://abc.com/watch-live/93256af4-5e80-4558-aa2e-2bdfffa119a0" },
63
- fxm: { name: "FXM", profile: "auto", stationId: "70253", url: "https://abc.com/watch-live/d298ab7e-c6b1-4efa-ac6e-a52dceed92ee" },
64
- fxp: { name: "FX (Pacific)", profile: "auto", stationId: "59814", url: "https://abc.com/watch-live/2cee3401-f63b-42d0-b32e-962fef610b9e" },
65
- fxx: { name: "FXX", profile: "auto", stationId: "66379", url: "https://abc.com/watch-live/49f4a471-8d36-4728-8457-ea65cbbc84ea" },
66
- fxxp: { name: "FXX (Pacific)", profile: "auto", stationId: "82571", url: "https://abc.com/watch-live/e4c83395-62ed-4a49-829a-c55ab3c33e7d" },
67
- // A&E family channels use standard players that work with the default profile.
54
+ "cnni-hulu": { channelSelector: "CNN International", url: "https://www.hulu.com/live" },
55
+ "cnni-yttv": { channelSelector: "CNN International", url: "https://tv.youtube.com/live" },
56
+ "comedycentral": { channelSelector: "Comedy Central", name: "Comedy Central", stationId: "62420", url: "https://www.hulu.com/live" },
57
+ "comedycentral-yttv": { channelSelector: "Comedy Central", url: "https://tv.youtube.com/live" },
58
+ cooking: { name: "Cooking", stationId: "68065", url: "https://watch.foodnetwork.com/channel/cooking-channel" },
59
+ cspan: { name: "C-SPAN", stationId: "68344", url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span" },
60
+ "cspan-hulu": { channelSelector: "C-SPAN", url: "https://www.hulu.com/live" },
61
+ "cspan-yttv": { channelSelector: "C-SPAN", url: "https://tv.youtube.com/live" },
62
+ cspan2: { name: "C-SPAN 2", stationId: "68334", url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span-2" },
63
+ "cspan2-hulu": { channelSelector: "C-SPAN2", url: "https://www.hulu.com/live" },
64
+ "cspan2-yttv": { channelSelector: "C-SPAN2", url: "https://tv.youtube.com/live" },
65
+ cspan3: { name: "C-SPAN 3", stationId: "68332", url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span-3" },
66
+ "cspan3-hulu": { channelSelector: "C-SPAN3", url: "https://www.hulu.com/live" },
67
+ "cspan3-yttv": { channelSelector: "C-SPAN3", url: "https://tv.youtube.com/live" },
68
+ cw: { channelSelector: "CW", name: "CW", url: "https://www.hulu.com/live" },
69
+ "cw-yttv": { channelSelector: "CW", url: "https://tv.youtube.com/live" },
70
+ discovery: { name: "Discovery", stationId: "56905", url: "https://watch.foodnetwork.com/channel/discovery" },
71
+ "discovery-hulu": { channelSelector: "Discovery", url: "https://www.hulu.com/live" },
72
+ "discovery-yttv": { channelSelector: "Discovery Channel", url: "https://tv.youtube.com/live" },
73
+ discoverylife: { name: "Discovery Life", stationId: "92204", url: "https://watch.foodnetwork.com/channel/discovery-life" },
74
+ discoveryturbo: { name: "Discovery Turbo", stationId: "31046", url: "https://watch.foodnetwork.com/channel/motortrend" },
75
+ "discoveryturbo-hulu": { channelSelector: "Discovery Turbo", url: "https://www.hulu.com/live" },
76
+ disney: { name: "Disney", stationId: "59684", url: "https://disneynow.com/watch-live?brand=004" },
77
+ "disney-hulu": { channelSelector: "Disney Channel", url: "https://www.hulu.com/live" },
78
+ "disney-yttv": { channelSelector: "Disney Channel", url: "https://tv.youtube.com/live" },
79
+ disneyjr: { name: "Disney Jr.", stationId: "74885", url: "https://disneynow.com/watch-live?brand=008" },
80
+ "disneyjr-hulu": { channelSelector: "Disney Junior", url: "https://www.hulu.com/live" },
81
+ "disneyjr-yttv": { channelSelector: "Disney Junior", url: "https://tv.youtube.com/live" },
82
+ disneyxd: { name: "Disney XD", stationId: "60006", url: "https://disneynow.com/watch-live?brand=009" },
83
+ "disneyxd-hulu": { channelSelector: "Disney XD", url: "https://www.hulu.com/live" },
84
+ "disneyxd-yttv": { channelSelector: "Disney XD", url: "https://tv.youtube.com/live" },
85
+ e: { channelSelector: "E-_East", name: "E!", stationId: "61812", url: "https://www.usanetwork.com/live" },
86
+ "e-hulu": { channelSelector: "E!", url: "https://www.hulu.com/live" },
87
+ "e-yttv": { channelSelector: "E!", url: "https://tv.youtube.com/live" },
88
+ ep: { channelSelector: "E-_West", name: "E! (Pacific)", stationId: "91579", url: "https://www.usanetwork.com/live" },
89
+ espn: { name: "ESPN", stationId: "32645", url: "https://www.espn.com/watch/player?network=espn" },
90
+ "espn-disneyplus": { channelSelector: "poster_linear_espn_none", url: "https://www.disneyplus.com/browse/live" },
91
+ "espn-hulu": { channelSelector: "ESPN", url: "https://www.hulu.com/live" },
92
+ "espn-yttv": { channelSelector: "ESPN", url: "https://tv.youtube.com/live" },
93
+ espn2: { name: "ESPN2", stationId: "45507", url: "https://www.espn.com/watch/player?network=espn2" },
94
+ "espn2-disneyplus": { channelSelector: "poster_linear_espn2_none", url: "https://www.disneyplus.com/browse/live" },
95
+ "espn2-hulu": { channelSelector: "ESPN2", url: "https://www.hulu.com/live" },
96
+ "espn2-yttv": { channelSelector: "ESPN2", url: "https://tv.youtube.com/live" },
97
+ espnacc: { name: "ACC Network", stationId: "111871", url: "https://www.espn.com/watch/player?network=acc" },
98
+ "espnacc-disneyplus": { channelSelector: "poster_linear_acc-network_none", url: "https://www.disneyplus.com/browse/live" },
99
+ "espnacc-hulu": { channelSelector: "ACC Network", url: "https://www.hulu.com/live" },
100
+ "espnacc-yttv": { channelSelector: "ACC Network", url: "https://tv.youtube.com/live" },
101
+ espndeportes: { name: "ESPN Deportes", stationId: "71914", url: "https://www.espn.com/watch/player?network=espndeportes" },
102
+ "espndeportes-disneyplus": { channelSelector: "poster_linear_espn-deportes_none", url: "https://www.disneyplus.com/browse/live" },
103
+ espnews: { name: "ESPNews", stationId: "59976", url: "https://www.espn.com/watch/player?network=espnews" },
104
+ "espnews-disneyplus": { channelSelector: "poster_linear_espnews_none", url: "https://www.disneyplus.com/browse/live" },
105
+ "espnews-hulu": { channelSelector: "ESPNEWS", url: "https://www.hulu.com/live" },
106
+ "espnews-yttv": { channelSelector: "ESPNEWS", url: "https://tv.youtube.com/live" },
107
+ espnsec: { name: "SEC Network", stationId: "89714", url: "https://www.espn.com/watch/player?network=sec" },
108
+ "espnsec-disneyplus": { channelSelector: "poster_linear_sec-network_none", url: "https://www.disneyplus.com/browse/live" },
109
+ "espnsec-hulu": { channelSelector: "SEC Network", url: "https://www.hulu.com/live" },
110
+ "espnsec-yttv": { channelSelector: "SEC Network", url: "https://tv.youtube.com/live" },
111
+ espnu: { name: "ESPNU", stationId: "60696", url: "https://www.espn.com/watch/player?network=espnu" },
112
+ "espnu-disneyplus": { channelSelector: "poster_linear_espnu_none", url: "https://www.disneyplus.com/browse/live" },
113
+ "espnu-hulu": { channelSelector: "ESPNU", url: "https://www.hulu.com/live" },
114
+ "espnu-yttv": { channelSelector: "ESPNU", url: "https://tv.youtube.com/live" },
115
+ fbc: { name: "Fox Business", stationId: "58718", url: "https://www.foxbusiness.com/video/5640669329001" },
116
+ "fbc-hulu": { channelSelector: "Fox Business", url: "https://www.hulu.com/live" },
117
+ "fbc-yttv": { channelSelector: "Fox Business", url: "https://tv.youtube.com/live" },
118
+ fnc: { name: "Fox News", stationId: "60179", url: "https://www.foxnews.com/video/5614615980001" },
119
+ "fnc-hulu": { channelSelector: "Fox News", url: "https://www.hulu.com/live" },
120
+ "fnc-yttv": { channelSelector: "Fox News", url: "https://tv.youtube.com/live" },
121
+ food: { name: "Food Network", stationId: "50747", url: "https://watch.foodnetwork.com/channel/food-network" },
122
+ "food-hulu": { channelSelector: "Food Network", url: "https://www.hulu.com/live" },
123
+ "food-yttv": { channelSelector: "Food Network", url: "https://tv.youtube.com/live" },
124
+ fox: { channelSelector: "Fox", name: "Fox", url: "https://www.hulu.com/live" },
125
+ "fox-yttv": { channelSelector: "FOX", url: "https://tv.youtube.com/live" },
126
+ foxdeportes: { name: "Fox Deportes", stationId: "72189", url: "https://www.foxsports.com/live/foxdep" },
127
+ foxsoccerplus: { name: "Fox Soccer Plus", stationId: "66879", url: "https://www.foxsports.com/live/fsp" },
128
+ france24: { name: "France 24", stationId: "60961", url: "https://www.france24.com/en/live" },
129
+ france24fr: { name: "France 24 (French)", stationId: "58685", url: "https://www.france24.com/fr/direct" },
130
+ fs1: { name: "FS1", stationId: "82547", url: "https://www.foxsports.com/live/fs1" },
131
+ "fs1-hulu": { channelSelector: "FS1", url: "https://www.hulu.com/live" },
132
+ "fs1-yttv": { channelSelector: "FS1", url: "https://tv.youtube.com/live" },
133
+ fs2: { name: "FS2", stationId: "59305", url: "https://www.foxsports.com/live/fs2" },
134
+ "fs2-hulu": { channelSelector: "FS2", url: "https://www.hulu.com/live" },
135
+ "fs2-yttv": { channelSelector: "FS2", url: "https://tv.youtube.com/live" },
136
+ fx: { name: "FX", stationId: "58574", url: "https://abc.com/watch-live/93256af4-5e80-4558-aa2e-2bdfffa119a0" },
137
+ "fx-hulu": { channelSelector: "FX", url: "https://www.hulu.com/live" },
138
+ "fx-yttv": { channelSelector: "FX", url: "https://tv.youtube.com/live" },
139
+ fxm: { name: "FXM", stationId: "70253", url: "https://abc.com/watch-live/d298ab7e-c6b1-4efa-ac6e-a52dceed92ee" },
140
+ "fxm-hulu": { channelSelector: "FXM", url: "https://www.hulu.com/live" },
141
+ "fxm-yttv": { channelSelector: "FXM", url: "https://tv.youtube.com/live" },
142
+ fxp: { name: "FX (Pacific)", stationId: "59814", url: "https://abc.com/watch-live/2cee3401-f63b-42d0-b32e-962fef610b9e" },
143
+ fxx: { name: "FXX", stationId: "66379", url: "https://abc.com/watch-live/49f4a471-8d36-4728-8457-ea65cbbc84ea" },
144
+ "fxx-hulu": { channelSelector: "FXX", url: "https://www.hulu.com/live" },
145
+ "fxx-yttv": { channelSelector: "FXX", url: "https://tv.youtube.com/live" },
146
+ fxxp: { name: "FXX (Pacific)", stationId: "82571", url: "https://abc.com/watch-live/e4c83395-62ed-4a49-829a-c55ab3c33e7d" },
68
147
  fyi: { name: "FYI", stationId: "58988", url: "https://play.fyi.tv/live" },
69
- // Golf Channel has its own standalone site with no domain profile mapping.
70
- golf: { name: "Golf", profile: "fullscreenApi", stationId: "61854", url: "https://www.golfchannel.com/watch/live" },
71
- // Discovery and Warner Brothers Discovery family channels use the fullscreen API profile.
72
- hgtv: { name: "HGTV", profile: "auto", stationId: "49788", url: "https://watch.foodnetwork.com/channel/hgtv" },
73
- // A&E family channels use standard players that work with the default profile.
148
+ "fyi-hulu": { channelSelector: "FYI", url: "https://www.hulu.com/live" },
149
+ golf: { name: "Golf", stationId: "61854", url: "https://www.golfchannel.com/watch/live" },
150
+ "golf-hulu": { channelSelector: "Golf Channel", url: "https://www.hulu.com/live" },
151
+ "golf-usa": { channelSelector: "gc", url: "https://www.usanetwork.com/live" },
152
+ "golf-yttv": { channelSelector: "Golf Channel", url: "https://tv.youtube.com/live" },
153
+ hallmark: { name: "Hallmark", stationId: "66268", url: "https://www.watchhallmarktv.com/playback/item/live" },
154
+ "hallmark-hulu": { channelSelector: "Hallmark Channel", url: "https://www.hulu.com/live" },
155
+ "hallmark-yttv": { channelSelector: "Hallmark Channel", url: "https://tv.youtube.com/live" },
156
+ hallmarkfamily: { name: "Hallmark Family", stationId: "105723", url: "https://www.watchhallmarktv.com/playback/item/hdlive" },
157
+ hallmarkmystery: { name: "Hallmark Mystery", stationId: "46710", url: "https://www.watchhallmarktv.com/playback/item/hmmlive" },
158
+ "hallmarkmystery-hulu": { channelSelector: "Hallmark Mystery", url: "https://www.hulu.com/live" },
159
+ "hallmarkmystery-yttv": { channelSelector: "Hallmark Mystery", url: "https://tv.youtube.com/live" },
160
+ hbo: { channelSelector: "HBO", name: "HBO", stationId: "19548", url: "https://play.hbomax.com" },
161
+ "hbo-yttv": { channelSelector: "HBO East", url: "https://tv.youtube.com/live" },
162
+ hbocomedy: { channelSelector: "HBO Comedy", name: "HBO Comedy", stationId: "59839", url: "https://play.hbomax.com" },
163
+ "hbocomedy-yttv": { channelSelector: "HBO Comedy East", url: "https://tv.youtube.com/live" },
164
+ hbodrama: { channelSelector: "HBO Drama", name: "HBO Drama", stationId: "59363", url: "https://play.hbomax.com" },
165
+ "hbodrama-yttv": { channelSelector: "HBO Drama East", url: "https://tv.youtube.com/live" },
166
+ hbohits: { channelSelector: "HBO Hits", name: "HBO Hits", stationId: "59368", url: "https://play.hbomax.com" },
167
+ "hbohits-yttv": { channelSelector: "HBO Hits East", url: "https://tv.youtube.com/live" },
168
+ hbomovies: { channelSelector: "HBO Movies", name: "HBO Movies", stationId: "59845", url: "https://play.hbomax.com" },
169
+ "hbomovies-yttv": { channelSelector: "HBO Movies East", url: "https://tv.youtube.com/live" },
170
+ hgtv: { name: "HGTV", stationId: "49788", url: "https://watch.foodnetwork.com/channel/hgtv" },
171
+ "hgtv-hulu": { channelSelector: "HGTV", url: "https://www.hulu.com/live" },
172
+ "hgtv-yttv": { channelSelector: "HGTV", url: "https://tv.youtube.com/live" },
74
173
  history: { name: "History", stationId: "14771", url: "https://play.history.com/live" },
75
- // CNBC and CNN sites use standard players.
174
+ "history-hulu": { channelSelector: "The HISTORY Channel", url: "https://www.hulu.com/live" },
76
175
  hln: { name: "HLN", stationId: "64549", url: "https://www.cnn.com/videos/hln" },
77
- // Discovery and Warner Brothers Discovery family channels use the fullscreen API profile.
78
- id: { name: "Investigation Discovery", profile: "auto", stationId: "65342", url: "https://watch.foodnetwork.com/channel/investigation-discovery" },
79
- // A&E family channels use standard players that work with the default profile.
176
+ "hln-hulu": { channelSelector: "HLN", url: "https://www.hulu.com/live" },
177
+ "hln-yttv": { channelSelector: "HLN", url: "https://tv.youtube.com/live" },
178
+ id: { name: "Investigation Discovery", stationId: "65342", url: "https://watch.foodnetwork.com/channel/investigation-discovery" },
179
+ "id-hulu": { channelSelector: "Investigation Discovery", url: "https://www.hulu.com/live" },
180
+ "id-yttv": { channelSelector: "Investigation Discovery", url: "https://tv.youtube.com/live" },
80
181
  lifetime: { name: "Lifetime", stationId: "60150", url: "https://play.mylifetime.com/live" },
81
- // Discovery and Warner Brothers Discovery family channels use the fullscreen API profile.
82
- magnolia: { name: "Magnolia Network", profile: "auto", stationId: "67375", url: "https://watch.foodnetwork.com/channel/magnolia-network-preview-atve-us" },
83
- // Keyboard fullscreen sites with dynamic content loading requiring network idle wait.
84
- msnow: { name: "MSNOW", profile: "auto", stationId: "64241", url: "https://www.ms.now/live" },
85
- // msnow: { channelSelector: "image-23", name: "MSNOW", profile: "keyboardDynamicMultiVideo", stationId: "64241", url: "https://www.usanetwork.com/live" },
86
- // National Geographic channels use keyboard fullscreen with dynamic content and multiple video elements.
87
- natgeo: { name: "National Geographic", profile: "auto", stationId: "49438", url: "https://www.nationalgeographic.com/tv/watch-live/0826a9a3-3384-4bb5-8841-91f01cb0e3a7" },
88
- natgeop: { name: "National Geographic (Pacific)", profile: "auto", stationId: "71601", url: "https://www.nationalgeographic.com/tv/watch-live/91456580-f32f-417c-8e1a-9f82640832a7" },
89
- natgeowild: { name: "Nat Geo Wild", profile: "auto", stationId: "67331", url: "https://www.nationalgeographic.com/tv/watch-live/239b9590-583f-4955-a499-22e9eefff9cf" },
90
- // Keyboard fullscreen sites with dynamic content loading. NBC station ID varies by local affiliate.
91
- nbc: { name: "NBC", profile: "auto", url: "https://www.nbc.com/live?brand=nbc&callsign=nbc" },
92
- nbcnews: { name: "NBC News Now", profile: "auto", stationId: "114174", url: "https://www.nbc.com/live?brand=nbc-news&callsign=nbcnews" },
93
- nbcsbayarea: { name: "NBC Sports Bay Area", profile: "auto", stationId: "63138", url: "https://www.nbc.com/live?brand=rsn-bay-area&callsign=nbcsbayarea" },
94
- nbcsboston: { name: "NBC Sports Boston", profile: "auto", stationId: "49198", url: "https://www.nbc.com/live?brand=rsn-boston&callsign=nbcsboston" },
95
- nbcscalifornia: { name: "NBC Sports California", profile: "auto", stationId: "45540", url: "https://www.nbc.com/live?brand=rsn-california&callsign=nbcscalifornia" },
96
- nbcschicago: { name: "NBC Sports Chicago", profile: "auto", stationId: "44905", url: "https://www.nbc.com/live?brand=rsn-chicago&callsign=nbcschicago" },
97
- nbcsphiladelphia: { name: "NBC Sports Philadelphia", profile: "auto", stationId: "32571", url: "https://www.nbc.com/live?brand=rsn-philadelphia&callsign=nbcsphiladelphia" },
98
- necn: { name: "NECN", profile: "auto", stationId: "66278", url: "https://www.nbc.com/live?brand=necn&callsign=necn" },
99
- // Discovery and Warner Brothers Discovery family channels use the fullscreen API profile.
100
- own: { name: "OWN", profile: "auto", stationId: "70388", url: "https://watch.foodnetwork.com/channel/own" },
101
- // Multi-channel keyboard players requiring channel selection from the UI.
102
- oxygen: { channelSelector: "Oxygen_East", name: "Oxygen", profile: "auto", stationId: "70522", url: "https://www.usanetwork.com/live" },
103
- oxygenp: { channelSelector: "Oxygen_West", name: "Oxygen (Pacific)", profile: "auto", stationId: "74032", url: "https://www.usanetwork.com/live" },
104
- // WTTW PBS uses a standard player.
182
+ "lifetime-hulu": { channelSelector: "Lifetime", url: "https://www.hulu.com/live" },
183
+ lmn: { channelSelector: "LMN", name: "Lifetime Movie Network", stationId: "55887", url: "https://www.hulu.com/live" },
184
+ magnolia: { name: "Magnolia Network", stationId: "67375", url: "https://watch.foodnetwork.com/channel/magnolia-network-preview-atve-us" },
185
+ "magnolia-hulu": { channelSelector: "Magnolia Network", url: "https://www.hulu.com/live" },
186
+ "magnolia-yttv": { channelSelector: "Magnolia Network", url: "https://tv.youtube.com/live" },
187
+ mlb: { channelSelector: "MLB Network", name: "MLB Network", stationId: "62081", url: "https://www.hulu.com/live" },
188
+ msnow: { name: "MS NOW", stationId: "64241", url: "https://www.ms.now/live" },
189
+ "msnow-hulu": { channelSelector: "MS NOW", url: "https://www.hulu.com/live" },
190
+ "msnow-usa": { channelSelector: "image-23", url: "https://www.usanetwork.com/live" },
191
+ "msnow-yttv": { channelSelector: "MS NOW", url: "https://tv.youtube.com/live" },
192
+ natgeo: { name: "National Geographic", stationId: "49438", url: "https://www.nationalgeographic.com/tv/watch-live/0826a9a3-3384-4bb5-8841-91f01cb0e3a7" },
193
+ "natgeo-hulu": { channelSelector: "National Geographic", url: "https://www.hulu.com/live" },
194
+ "natgeo-yttv": { channelSelector: "National Geographic", url: "https://tv.youtube.com/live" },
195
+ natgeop: { name: "National Geographic (Pacific)", stationId: "71601", url: "https://www.nationalgeographic.com/tv/watch-live/91456580-f32f-417c-8e1a-9f82640832a7" },
196
+ natgeowild: { name: "Nat Geo Wild", stationId: "67331", url: "https://www.nationalgeographic.com/tv/watch-live/239b9590-583f-4955-a499-22e9eefff9cf" },
197
+ "natgeowild-hulu": { channelSelector: "Nat Geo WILD", url: "https://www.hulu.com/live" },
198
+ "natgeowild-yttv": { channelSelector: "Nat Geo WILD", url: "https://tv.youtube.com/live" },
199
+ nba: { name: "NBA TV", stationId: "45526", url: "https://www.nba.com/watch/nba-tv" },
200
+ "nba-yttv": { channelSelector: "NBA TV", url: "https://tv.youtube.com/live" },
201
+ nbc: { name: "NBC", url: "https://www.nbc.com/live?brand=nbc&callsign=nbc" },
202
+ "nbc-hulu": { channelSelector: "NBC", url: "https://www.hulu.com/live" },
203
+ "nbc-yttv": { channelSelector: "NBC", url: "https://tv.youtube.com/live" },
204
+ nbcnews: { name: "NBC News Now", stationId: "114174", url: "https://www.nbc.com/live?brand=nbc-news&callsign=nbcnews" },
205
+ "nbcnews-hulu": { channelSelector: "NBC News NOW", url: "https://www.hulu.com/live" },
206
+ nbcsbayarea: { name: "NBC Sports Bay Area", stationId: "63138", url: "https://www.nbc.com/live?brand=rsn-bay-area&callsign=nbcsbayarea" },
207
+ nbcsboston: { name: "NBC Sports Boston", stationId: "49198", url: "https://www.nbc.com/live?brand=rsn-boston&callsign=nbcsboston" },
208
+ nbcscalifornia: { name: "NBC Sports California", stationId: "45540", url: "https://www.nbc.com/live?brand=rsn-california&callsign=nbcscalifornia" },
209
+ nbcschicago: { name: "NBC Sports Chicago", stationId: "44905", url: "https://www.nbc.com/live?brand=rsn-chicago&callsign=nbcschicago" },
210
+ nbcsphiladelphia: { name: "NBC Sports Philadelphia", stationId: "32571", url: "https://www.nbc.com/live?brand=rsn-philadelphia&callsign=nbcsphiladelphia" },
211
+ necn: { name: "NECN", stationId: "66278", url: "https://www.nbc.com/live?brand=necn&callsign=necn" },
212
+ own: { name: "OWN", stationId: "70388", url: "https://watch.foodnetwork.com/channel/own" },
213
+ "own-hulu": { channelSelector: "Oprah Winfrey Network", url: "https://www.hulu.com/live" },
214
+ "own-yttv": { channelSelector: "OWN", url: "https://tv.youtube.com/live" },
215
+ oxygen: { channelSelector: "Oxygen_East", name: "Oxygen", stationId: "70522", url: "https://www.usanetwork.com/live" },
216
+ "oxygen-hulu": { channelSelector: "Oxygen True Crime", url: "https://www.hulu.com/live" },
217
+ "oxygen-yttv": { channelSelector: "Oxygen True Crime", url: "https://tv.youtube.com/live" },
218
+ oxygenp: { channelSelector: "Oxygen_West", name: "Oxygen (Pacific)", stationId: "74032", url: "https://www.usanetwork.com/live" },
219
+ pbs: { channelSelector: "PBS", name: "PBS", url: "https://www.hulu.com/live" },
220
+ "pbs-yttv": { channelSelector: "PBS", url: "https://tv.youtube.com/live" },
105
221
  pbschicago: { name: "PBS Chicago (WTTW)", stationId: "30415", url: "https://www.wttw.com/wttw-live-stream" },
106
- // PBS station Lakeshore uses an embedded player in iframe with no domain profile mapping.
107
- pbslakeshore: { name: "PBS Lakeshore (WYIN)", profile: "embeddedPlayer", stationId: "49237", url: "https://video.lakeshorepbs.org/livestream" },
108
- // Discovery and Warner Brothers Discovery family channels use the fullscreen API profile.
109
- science: { name: "Science", profile: "auto", stationId: "57390", url: "https://watch.foodnetwork.com/channel/science" },
110
- // Paramount Plus / Showtime uses a standard player.
222
+ "pbschicago-hulu": { channelSelector: "PBS", url: "https://www.hulu.com/live" },
223
+ pbslakeshore: { name: "PBS Lakeshore (WYIN)", stationId: "49237", url: "https://video.lakeshorepbs.org/livestream" },
224
+ "pbslakeshore-hulu": { channelSelector: "Lakeshore PBS", url: "https://www.hulu.com/live" },
225
+ science: { name: "Science", stationId: "57390", url: "https://watch.foodnetwork.com/channel/science" },
111
226
  showtime: { name: "Showtime", stationId: "91620", url: "https://www.paramountplus.com/live-tv/stream/showtime-east" },
112
227
  showtimep: { name: "Showtime (Pacific)", stationId: "91621", url: "https://www.paramountplus.com/live-tv/stream/showtime-west" },
113
- // Multi-channel keyboard players requiring channel selection from the UI.
114
- syfy: { channelSelector: "Syfy_East", name: "Syfy", profile: "auto", stationId: "58623", url: "https://www.usanetwork.com/live" },
115
- syfyp: { channelSelector: "Syfy_West", name: "Syfy (Pacific)", profile: "auto", stationId: "65626", url: "https://www.usanetwork.com/live" },
116
- // Discovery and Warner Brothers Discovery family channels use the fullscreen API profile.
117
- tbs: { name: "TBS", profile: "auto", stationId: "58515", url: "https://www.tbs.com/watchtbs/east" },
118
- tbsp: { name: "TBS (Pacific)", profile: "auto", stationId: "67890", url: "https://www.tbs.com/watchtbs/west" },
119
- tlc: { name: "TLC", profile: "auto", stationId: "57391", url: "https://watch.foodnetwork.com/channel/tlc" },
120
- tnt: { name: "TNT", profile: "auto", stationId: "42642", url: "https://www.tntdrama.com/watchtnt/east" },
121
- tntp: { name: "TNT (Pacific)", profile: "auto", stationId: "61340", url: "https://www.tntdrama.com/watchtnt/west" },
122
- travel: { name: "Travel", profile: "auto", stationId: "59303", url: "https://watch.foodnetwork.com/channel/travel-channel" },
123
- // truTV has no domain profile mapping for trutv.com.
124
- trutv: { name: "truTV", profile: "fullscreenApi", stationId: "64490", url: "https://www.trutv.com/watchtrutv/east" },
125
- // Multi-channel keyboard players requiring channel selection from the UI.
126
- usa: { channelSelector: "USA_East", name: "USA Network", profile: "auto", stationId: "58452", url: "https://www.usanetwork.com/live" },
127
- usap: { channelSelector: "USA_West", name: "USA Network (Pacific)", profile: "auto", stationId: "74030", url: "https://www.usanetwork.com/live" },
128
- // Discovery and Warner Brothers Discovery family channels use the fullscreen API profile.
129
- vh1: { name: "VH1", profile: "auto", stationId: "60046", url: "https://www.vh1.com/live-tv" }
228
+ syfy: { channelSelector: "Syfy_East", name: "Syfy", stationId: "58623", url: "https://www.usanetwork.com/live" },
229
+ "syfy-hulu": { channelSelector: "SYFY", url: "https://www.hulu.com/live" },
230
+ "syfy-yttv": { channelSelector: "SYFY", url: "https://tv.youtube.com/live" },
231
+ syfyp: { channelSelector: "Syfy_West", name: "Syfy (Pacific)", stationId: "65626", url: "https://www.usanetwork.com/live" },
232
+ tbs: { name: "TBS", stationId: "58515", url: "https://www.tbs.com/watchtbs/east" },
233
+ "tbs-hulu": { channelSelector: "TBS (East)", url: "https://www.hulu.com/live" },
234
+ "tbs-yttv": { channelSelector: "TBS", url: "https://tv.youtube.com/live" },
235
+ tbsp: { name: "TBS (Pacific)", stationId: "67890", url: "https://www.tbs.com/watchtbs/west" },
236
+ "tbsp-hulu": { channelSelector: "TBS (West)", url: "https://www.hulu.com/live" },
237
+ tlc: { name: "TLC", stationId: "57391", url: "https://watch.foodnetwork.com/channel/tlc" },
238
+ "tlc-hulu": { channelSelector: "TLC", url: "https://www.hulu.com/live" },
239
+ "tlc-yttv": { channelSelector: "TLC", url: "https://tv.youtube.com/live" },
240
+ tnt: { name: "TNT", stationId: "42642", url: "https://www.tntdrama.com/watchtnt/east" },
241
+ "tnt-hulu": { channelSelector: "TNT (East)", url: "https://www.hulu.com/live" },
242
+ "tnt-yttv": { channelSelector: "TNT", url: "https://tv.youtube.com/live" },
243
+ tntp: { name: "TNT (Pacific)", stationId: "61340", url: "https://www.tntdrama.com/watchtnt/west" },
244
+ "tntp-hulu": { channelSelector: "TNT (West)", url: "https://www.hulu.com/live" },
245
+ travel: { name: "Travel", stationId: "59303", url: "https://watch.foodnetwork.com/channel/travel-channel" },
246
+ "travel-hulu": { channelSelector: "Travel Channel", url: "https://www.hulu.com/live" },
247
+ "travel-yttv": { channelSelector: "Travel Channel", url: "https://tv.youtube.com/live" },
248
+ trutv: { name: "truTV", stationId: "64490", url: "https://www.trutv.com/watchtrutv/east" },
249
+ "trutv-hulu": { channelSelector: "truTV (East)", url: "https://www.hulu.com/live" },
250
+ "trutv-yttv": { channelSelector: "truTV", url: "https://tv.youtube.com/live" },
251
+ trutvp: { name: "truTV (Pacific)", stationId: "65717", url: "https://www.trutv.com/watchtrutv/east" },
252
+ "trutvp-hulu": { channelSelector: "truTV (West)", url: "https://www.hulu.com/live" },
253
+ usa: { channelSelector: "USA_East", name: "USA Network", stationId: "58452", url: "https://www.usanetwork.com/live" },
254
+ "usa-hulu": { channelSelector: "USA", url: "https://www.hulu.com/live" },
255
+ "usa-yttv": { channelSelector: "USA", url: "https://tv.youtube.com/live" },
256
+ usap: { channelSelector: "USA_West", name: "USA Network (Pacific)", stationId: "74030", url: "https://www.usanetwork.com/live" },
257
+ vh1: { name: "VH1", stationId: "60046", url: "https://www.vh1.com/live-tv" },
258
+ "vh1-hulu": { channelSelector: "VH1", url: "https://www.hulu.com/live" },
259
+ "vh1-yttv": { channelSelector: "VH1", url: "https://tv.youtube.com/live" },
260
+ weather: { channelSelector: "The Weather Channel", name: "The Weather Channel", stationId: "58812", url: "https://www.hulu.com/live" },
261
+ "weather-yttv": { channelSelector: "The Weather Channel", url: "https://tv.youtube.com/live" }
130
262
  };
131
- /* eslint-enable @stylistic/max-len */
132
- /**
133
- * Gets a channel by name.
134
- * @param name - The channel key name.
135
- * @returns The channel configuration or undefined if not found.
136
- */
137
- export function getChannel(name) {
138
- return CHANNELS[name];
139
- }
140
- /**
141
- * Returns the total number of configured channels.
142
- * @returns The channel count.
143
- */
144
- export function getChannelCount() {
145
- return Object.keys(CHANNELS).length;
146
- }
147
- /**
148
- * Returns all channel names sorted alphabetically.
149
- * @returns Array of channel key names.
150
- */
151
- export function getChannelNames() {
152
- return Object.keys(CHANNELS).sort();
153
- }
154
263
  // Re-export CHANNELS as PREDEFINED_CHANNELS for use in userChannels.ts where the distinction between predefined and user channels is important.
155
264
  export { CHANNELS as PREDEFINED_CHANNELS };
156
265
  //# sourceMappingURL=index.js.map