prismcast 1.5.2 → 1.7.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.
- package/README.md +44 -28
- package/dist/app.d.ts +5 -0
- package/dist/app.js +63 -5
- package/dist/app.js.map +1 -1
- package/dist/browser/cdp.js +1 -1
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +10 -34
- package/dist/browser/channelSelection.js +31 -96
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/display.d.ts +19 -0
- package/dist/browser/display.js +16 -11
- package/dist/browser/display.js.map +1 -1
- package/dist/browser/index.d.ts +31 -54
- package/dist/browser/index.js +334 -272
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/login.d.ts +65 -0
- package/dist/browser/login.js +193 -0
- package/dist/browser/login.js.map +1 -0
- package/dist/browser/precaching.js +15 -3
- package/dist/browser/precaching.js.map +1 -1
- package/dist/browser/tuning/comcastPolymer.d.ts +23 -0
- package/dist/browser/tuning/comcastPolymer.js +655 -0
- package/dist/browser/tuning/comcastPolymer.js.map +1 -0
- package/dist/browser/tuning/cox.d.ts +2 -0
- package/dist/browser/tuning/cox.js +14 -0
- package/dist/browser/tuning/cox.js.map +1 -0
- package/dist/browser/tuning/directv.js +14 -1
- package/dist/browser/tuning/directv.js.map +1 -1
- package/dist/browser/tuning/fox.js +14 -2
- package/dist/browser/tuning/fox.js.map +1 -1
- package/dist/browser/tuning/hbo.js +12 -1
- package/dist/browser/tuning/hbo.js.map +1 -1
- package/dist/browser/tuning/hulu.js +24 -1
- package/dist/browser/tuning/hulu.js.map +1 -1
- package/dist/browser/tuning/shared.d.ts +46 -0
- package/dist/browser/tuning/shared.js +100 -0
- package/dist/browser/tuning/shared.js.map +1 -0
- package/dist/browser/tuning/sling.js +35 -5
- package/dist/browser/tuning/sling.js.map +1 -1
- package/dist/browser/tuning/spectrum.js +13 -1
- package/dist/browser/tuning/spectrum.js.map +1 -1
- package/dist/browser/tuning/thumbnailRow.js +1 -1
- package/dist/browser/tuning/thumbnailRow.js.map +1 -1
- package/dist/browser/tuning/tileClick.js +1 -1
- package/dist/browser/tuning/tileClick.js.map +1 -1
- package/dist/browser/tuning/xfinity.d.ts +2 -0
- package/dist/browser/tuning/xfinity.js +14 -0
- package/dist/browser/tuning/xfinity.js.map +1 -0
- package/dist/browser/tuning/youtubeTv.js +15 -1
- package/dist/browser/tuning/youtubeTv.js.map +1 -1
- package/dist/browser/video.d.ts +20 -0
- package/dist/browser/video.js +168 -124
- package/dist/browser/video.js.map +1 -1
- package/dist/channels/index.d.ts +2 -2
- package/dist/channels/index.js +2075 -683
- package/dist/channels/index.js.map +1 -1
- package/dist/config/health.d.ts +28 -28
- package/dist/config/health.js +72 -54
- package/dist/config/health.js.map +1 -1
- package/dist/config/index.js +29 -64
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts +12 -0
- package/dist/config/paths.js +16 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/profiles.d.ts +3 -2
- package/dist/config/profiles.js +45 -34
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/providerPacks.js +4 -1
- package/dist/config/providerPacks.js.map +1 -1
- package/dist/config/providers.d.ts +19 -5
- package/dist/config/providers.js +123 -93
- package/dist/config/providers.js.map +1 -1
- package/dist/config/sites.d.ts +28 -0
- package/dist/config/sites.js +104 -127
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +53 -2
- package/dist/config/userChannels.js +222 -13
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +2 -1
- package/dist/config/userConfig.js +6 -15
- package/dist/config/userConfig.js.map +1 -1
- package/dist/config/userProfiles.d.ts +0 -1
- package/dist/config/userProfiles.js +18 -10
- package/dist/config/userProfiles.js.map +1 -1
- package/dist/hdhr/channelMap.d.ts +1 -1
- package/dist/hdhr/channelMap.js +4 -4
- package/dist/hdhr/channelMap.js.map +1 -1
- package/dist/index.js +25 -22
- package/dist/index.js.map +1 -1
- package/dist/native/decrypt.d.ts +32 -0
- package/dist/native/decrypt.js +85 -0
- package/dist/native/decrypt.js.map +1 -0
- package/dist/native/index.d.ts +61 -0
- package/dist/native/index.js +342 -0
- package/dist/native/index.js.map +1 -0
- package/dist/native/intercept.d.ts +35 -0
- package/dist/native/intercept.js +184 -0
- package/dist/native/intercept.js.map +1 -0
- package/dist/native/probe.d.ts +49 -0
- package/dist/native/probe.js +294 -0
- package/dist/native/probe.js.map +1 -0
- package/dist/native/proxy.d.ts +54 -0
- package/dist/native/proxy.js +947 -0
- package/dist/native/proxy.js.map +1 -0
- package/dist/routes/components.d.ts +43 -0
- package/dist/routes/components.js +122 -0
- package/dist/routes/components.js.map +1 -1
- package/dist/routes/config/channels/index.d.ts +2 -2
- package/dist/routes/config/channels/index.js +1 -1
- package/dist/routes/config/channels/index.js.map +1 -1
- package/dist/routes/config/channels/routes.js +443 -65
- package/dist/routes/config/channels/routes.js.map +1 -1
- package/dist/routes/config/channels/table.d.ts +76 -0
- package/dist/routes/config/channels/table.js +369 -89
- package/dist/routes/config/channels/table.js.map +1 -1
- package/dist/routes/config/index.d.ts +1 -1
- package/dist/routes/config/index.js +1 -1
- package/dist/routes/config/index.js.map +1 -1
- package/dist/routes/config/providers.d.ts +6 -6
- package/dist/routes/config/providers.js +73 -99
- package/dist/routes/config/providers.js.map +1 -1
- package/dist/routes/debug.js +5 -5
- package/dist/routes/debug.js.map +1 -1
- package/dist/routes/hls.js +12 -2
- package/dist/routes/hls.js.map +1 -1
- package/dist/routes/index.d.ts +0 -15
- package/dist/routes/index.js +2 -16
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/providers.js +106 -3
- package/dist/routes/providers.js.map +1 -1
- package/dist/routes/root/content.js +124 -47
- package/dist/routes/root/content.js.map +1 -1
- package/dist/routes/root/index.js +2 -1
- package/dist/routes/root/index.js.map +1 -1
- package/dist/routes/root/scripts/channels.js +772 -312
- package/dist/routes/root/scripts/channels.js.map +1 -1
- package/dist/routes/root/scripts/config.js +596 -544
- package/dist/routes/root/scripts/config.js.map +1 -1
- package/dist/routes/root/scripts/index.d.ts +1 -0
- package/dist/routes/root/scripts/index.js +1 -0
- package/dist/routes/root/scripts/index.js.map +1 -1
- package/dist/routes/root/scripts/shared.d.ts +6 -0
- package/dist/routes/root/scripts/shared.js +391 -0
- package/dist/routes/root/scripts/shared.js.map +1 -0
- package/dist/routes/root/scripts/status.js +49 -33
- package/dist/routes/root/scripts/status.js.map +1 -1
- package/dist/routes/root/styles.js +117 -10
- package/dist/routes/root/styles.js.map +1 -1
- package/dist/service/commands.js +2 -1
- package/dist/service/commands.js.map +1 -1
- package/dist/streaming/fmp4Segmenter.d.ts +5 -0
- package/dist/streaming/fmp4Segmenter.js +146 -42
- package/dist/streaming/fmp4Segmenter.js.map +1 -1
- package/dist/streaming/hls.d.ts +24 -19
- package/dist/streaming/hls.js +603 -297
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsResume.d.ts +16 -3
- package/dist/streaming/hlsResume.js +35 -8
- package/dist/streaming/hlsResume.js.map +1 -1
- package/dist/streaming/hlsSegments.d.ts +41 -2
- package/dist/streaming/hlsSegments.js +131 -28
- package/dist/streaming/hlsSegments.js.map +1 -1
- package/dist/streaming/lifecycle.js +27 -13
- package/dist/streaming/lifecycle.js.map +1 -1
- package/dist/streaming/monitor.d.ts +1 -0
- package/dist/streaming/monitor.js +862 -474
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/mp4Parser.d.ts +52 -6
- package/dist/streaming/mp4Parser.js +156 -30
- package/dist/streaming/mp4Parser.js.map +1 -1
- package/dist/streaming/mpegts.d.ts +2 -2
- package/dist/streaming/mpegts.js +156 -109
- package/dist/streaming/mpegts.js.map +1 -1
- package/dist/streaming/playlistBuilder.d.ts +38 -0
- package/dist/streaming/playlistBuilder.js +66 -0
- package/dist/streaming/playlistBuilder.js.map +1 -0
- package/dist/streaming/preroll.d.ts +126 -0
- package/dist/streaming/preroll.js +434 -0
- package/dist/streaming/preroll.js.map +1 -0
- package/dist/streaming/pretune.d.ts +8 -0
- package/dist/streaming/pretune.js +226 -0
- package/dist/streaming/pretune.js.map +1 -0
- package/dist/streaming/recovery.d.ts +0 -6
- package/dist/streaming/recovery.js +0 -8
- package/dist/streaming/recovery.js.map +1 -1
- package/dist/streaming/registry.d.ts +57 -9
- package/dist/streaming/registry.js +26 -7
- package/dist/streaming/registry.js.map +1 -1
- package/dist/streaming/setup.d.ts +8 -1
- package/dist/streaming/setup.js +71 -27
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.d.ts +29 -4
- package/dist/streaming/showInfo.js +210 -38
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.d.ts +20 -6
- package/dist/streaming/statusEmitter.js +31 -7
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/channels.d.ts +32 -0
- package/dist/types/config.d.ts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/profiles.d.ts +13 -1
- package/dist/types/selection.d.ts +5 -1
- package/dist/types/shared.d.ts +1 -1
- package/dist/types/streaming.d.ts +7 -0
- package/dist/utils/chromeFetch.d.ts +20 -0
- package/dist/utils/chromeFetch.js +43 -0
- package/dist/utils/chromeFetch.js.map +1 -0
- package/dist/utils/debugFilter.d.ts +0 -5
- package/dist/utils/debugFilter.js +20 -11
- package/dist/utils/debugFilter.js.map +1 -1
- package/dist/utils/delay.d.ts +28 -0
- package/dist/utils/delay.js +35 -1
- package/dist/utils/delay.js.map +1 -1
- package/dist/utils/evaluate.js +6 -11
- package/dist/utils/evaluate.js.map +1 -1
- package/dist/utils/ffmpeg.d.ts +14 -12
- package/dist/utils/ffmpeg.js +114 -134
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/format.d.ts +6 -0
- package/dist/utils/format.js +8 -0
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logEmitter.js +1 -1
- package/dist/utils/logEmitter.js.map +1 -1
- package/dist/utils/pid.d.ts +40 -0
- package/dist/utils/pid.js +83 -0
- package/dist/utils/pid.js.map +1 -0
- package/dist/utils/retry.d.ts +15 -9
- package/dist/utils/retry.js +7 -23
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/timing.d.ts +5 -0
- package/dist/utils/timing.js +13 -0
- package/dist/utils/timing.js.map +1 -0
- package/dist/utils/version.js +2 -2
- package/dist/utils/version.js.map +1 -1
- package/package.json +7 -7
package/dist/channels/index.js
CHANGED
|
@@ -1,724 +1,2116 @@
|
|
|
1
|
-
|
|
1
|
+
// Site provider key. When a channel has its own streaming website, this key is used in the providers map. The site provider always wins as canonical.
|
|
2
|
+
const SITE_KEY = "site";
|
|
3
|
+
/* Nested channel definitions. Each entry maps a channel key to a ChannelDefinition with identity fields (name, stationId) and a providers map keyed by provider
|
|
4
|
+
* slug. The "site" key represents the channel's own streaming website. All other keys are multi-provider platform slugs (cox, directv, hulu, sling, spectrum,
|
|
5
|
+
* xfinity, yttv, foxone, paramountplus).
|
|
2
6
|
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* - url: Streaming site URL.
|
|
6
|
-
* - profile: Site behavior profile (optional). Use "auto" or omit to auto-detect from URL domain. See config/profiles.ts for available profiles.
|
|
7
|
-
* - stationId: Gracenote station ID for guide data (optional). Local affiliates (ABC, CBS, NBC) vary by region.
|
|
8
|
-
* - pacificStationId: Gracenote station ID for the Pacific timezone feed (optional). When set on an East canonical, the system auto-generates a Pacific
|
|
9
|
-
* canonical ("{key}p") and matching provider variants at startup. See generatePacificEntries() below for details, examples, and how to add new channels.
|
|
10
|
-
* - channelSelector: Channel identifier for multi-channel pages. For thumbnailRow/tileClick profiles, this is a slug matched against image URLs. For directvGrid
|
|
11
|
-
* (directvStream), this is the channel name from the DirecTV Stream Redux store (e.g., CNN, ESPN, NBC). For foxGrid (foxLive), this is the station code matched
|
|
12
|
-
* against GuideChannelLogo button titles (e.g., FOXD2C, FNC, FS1). For guideGrid (huluLive), this is the exact channel name matched against image alt text. For
|
|
13
|
-
* hboGrid (hboMax), this is the channel name matched against the live channel rail tile text (e.g., HBO, HBO Hits). For slingGrid (slingLive), this is the
|
|
14
|
-
* channel name as it appears in the Sling TV guide grid data-testid attributes. For spectrumGrid (spectrum), this is the channel name from the Spectrum TV guide
|
|
15
|
-
* rowheaders (e.g., ESPN, CNN, Discovery Channel) or a network name (e.g., NBC) for local affiliates. For youtubeGrid (youtubeTV), this is the channel name
|
|
16
|
-
* from the YouTube TV guide or a network name (e.g., NBC) for local affiliates.
|
|
17
|
-
* - provider: Display name override for the provider selection dropdown (optional). Normally auto-derived from the URL domain via DOMAIN_CONFIG in
|
|
18
|
-
* config/profiles.ts. Only needed when a channel's display name should differ from the domain-level default.
|
|
7
|
+
* At module load, the flattener compiles these nested definitions into the flat ChannelMap consumed by the rest of the codebase. Each variant entry gets
|
|
8
|
+
* canonicalKey set to its parent definition's key, which buildProviderGroups in providers.ts uses to assemble provider groups.
|
|
19
9
|
*
|
|
20
|
-
*
|
|
21
|
-
* "
|
|
10
|
+
* Canonical resolution rules:
|
|
11
|
+
* 1. If "site" exists in providers, the canonical always gets the site URL.
|
|
12
|
+
* 2. Otherwise, the provider whose key sorts first alphabetically (computed, not source-order) becomes canonical.
|
|
22
13
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
14
|
+
* Adding a new provider never changes canonicals unless a "site" entry is introduced.
|
|
15
|
+
*
|
|
16
|
+
* Pacific timezone support:
|
|
17
|
+
* - pacificStationId on an East ChannelDefinition triggers auto-generation of a Pacific sibling.
|
|
18
|
+
* - Manual Pacific definitions (keys ending in "p") can pre-declare overrides (e.g., West-specific channelSelectors).
|
|
19
|
+
* - Pacific generation merges inherited providers from the East definition into the Pacific definition, skipping providers whose channelSelector contains
|
|
20
|
+
* "East" or "West" and never overwriting existing Pacific providers. See generatePacificDefinitions() for full rules.
|
|
25
21
|
*
|
|
26
22
|
* FAST channels: This list contains only traditional linear TV networks and public broadcasters — no FAST (Free Ad-Supported Streaming Television) channels.
|
|
27
23
|
* FAST channels from platforms like Pluto TV or Tubi should not be added here. Users who want FAST content can add them as user-defined channels through the
|
|
28
|
-
* web UI or user channels file, or preferably use dedicated high-quality integrations such as Plex Channels, Pluto for Channels, or Tubi for Channels.
|
|
29
|
-
* FAST channel listed here would be by exception only.
|
|
24
|
+
* web UI or user channels file, or preferably use dedicated high-quality integrations such as Plex Channels, Pluto for Channels, or Tubi for Channels.
|
|
30
25
|
*/
|
|
31
|
-
/* eslint-disable @stylistic/
|
|
32
|
-
const
|
|
33
|
-
abc: {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
26
|
+
/* eslint-disable @hjdhjd/blank-line-after-open-brace, @stylistic/comma-dangle, sort-keys */
|
|
27
|
+
const BASE_CHANNEL_DEFINITIONS = {
|
|
28
|
+
abc: {
|
|
29
|
+
name: "ABC",
|
|
30
|
+
providers: {
|
|
31
|
+
cox: { channelSelector: "ABC", url: "https://watchtv.cox.com/listings" },
|
|
32
|
+
directv: { channelSelector: "ABC", url: "https://stream.directv.com" },
|
|
33
|
+
hulu: { channelSelector: "ABC", url: "https://www.hulu.com/live" },
|
|
34
|
+
site: { url: "https://abc.com/watch-live" },
|
|
35
|
+
sling: { channelSelector: "ABC", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
36
|
+
spectrum: { channelSelector: "ABC", url: "https://watch.spectrum.net/guide" },
|
|
37
|
+
xfinity: { channelSelector: "ABC", url: "https://www.xfinity.com/stream/listings" },
|
|
38
|
+
yttv: { channelSelector: "ABC", url: "https://tv.youtube.com/live" },
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
abcnews: {
|
|
42
|
+
name: "ABC News Live",
|
|
43
|
+
stationId: "113380",
|
|
44
|
+
providers: {
|
|
45
|
+
cox: { channelSelector: "ABCNL", url: "https://watchtv.cox.com/listings" },
|
|
46
|
+
directv: { channelSelector: "ABC News Live", url: "https://stream.directv.com" },
|
|
47
|
+
hulu: { channelSelector: "ABC News Live", url: "https://www.hulu.com/live" },
|
|
48
|
+
sling: { channelSelector: "ABC News Live", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
49
|
+
xfinity: { channelSelector: "ABCNL", url: "https://www.xfinity.com/stream/listings" },
|
|
50
|
+
yttv: { channelSelector: "ABC News Live", url: "https://tv.youtube.com/live" },
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
ae: {
|
|
54
|
+
name: "A&E",
|
|
55
|
+
pacificStationId: "57439",
|
|
56
|
+
stationId: "51529",
|
|
57
|
+
providers: {
|
|
58
|
+
cox: { channelSelector: "A&E", url: "https://watchtv.cox.com/listings" },
|
|
59
|
+
directv: { channelSelector: "A&E", url: "https://stream.directv.com" },
|
|
60
|
+
hulu: { channelSelector: "A&E", url: "https://www.hulu.com/live" },
|
|
61
|
+
site: { url: "https://play.aetv.com/live" },
|
|
62
|
+
sling: { channelSelector: "A&E", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
63
|
+
spectrum: { channelSelector: "A&E", url: "https://watch.spectrum.net/guide" },
|
|
64
|
+
xfinity: { channelSelector: "A&E", url: "https://www.xfinity.com/stream/listings" },
|
|
65
|
+
yttv: { channelSelector: "A&E", url: "https://tv.youtube.com/live" },
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
ahc: {
|
|
69
|
+
name: "American Heroes",
|
|
70
|
+
stationId: "78808",
|
|
71
|
+
providers: {
|
|
72
|
+
cox: { channelSelector: "American Heroes", url: "https://watchtv.cox.com/listings" },
|
|
73
|
+
site: { url: "https://watch.foodnetwork.com/channel/ahc" },
|
|
74
|
+
spectrum: { channelSelector: "American Heroes Channel", url: "https://watch.spectrum.net/guide" },
|
|
75
|
+
xfinity: { channelSelector: "American Heroes", url: "https://www.xfinity.com/stream/listings" },
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
amc: {
|
|
79
|
+
name: "AMC",
|
|
80
|
+
pacificStationId: "78836",
|
|
81
|
+
stationId: "59337",
|
|
82
|
+
providers: {
|
|
83
|
+
cox: { channelSelector: "AMC", url: "https://watchtv.cox.com/listings" },
|
|
84
|
+
directv: { channelSelector: "AMC", url: "https://stream.directv.com" },
|
|
85
|
+
sling: { channelSelector: "AMC", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
86
|
+
spectrum: { channelSelector: "AMC", url: "https://watch.spectrum.net/guide" },
|
|
87
|
+
xfinity: { channelSelector: "AMC", url: "https://www.xfinity.com/stream/listings" },
|
|
88
|
+
yttv: { channelSelector: "AMC", url: "https://tv.youtube.com/live" },
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
amcthrillers: {
|
|
92
|
+
name: "AMC Thrillers",
|
|
93
|
+
stationId: "115678",
|
|
94
|
+
providers: {
|
|
95
|
+
sling: { channelSelector: "AMC Thrillers", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
96
|
+
yttv: { channelSelector: "AMC Thrillers", url: "https://tv.youtube.com/live" },
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
animal: {
|
|
100
|
+
name: "Animal Planet",
|
|
101
|
+
pacificStationId: "68785",
|
|
102
|
+
stationId: "57394",
|
|
103
|
+
providers: {
|
|
104
|
+
cox: { channelSelector: "Animal Planet", url: "https://watchtv.cox.com/listings" },
|
|
105
|
+
directv: { channelSelector: "Animal Planet", url: "https://stream.directv.com" },
|
|
106
|
+
hulu: { channelSelector: "Animal Planet", url: "https://www.hulu.com/live" },
|
|
107
|
+
site: { url: "https://watch.foodnetwork.com/channel/animal-planet" },
|
|
108
|
+
spectrum: { channelSelector: "Animal Planet", url: "https://watch.spectrum.net/guide" },
|
|
109
|
+
xfinity: { channelSelector: "Animal Planet", url: "https://www.xfinity.com/stream/listings" },
|
|
110
|
+
yttv: { channelSelector: "Animal Planet", url: "https://tv.youtube.com/live" },
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
axstv: {
|
|
114
|
+
name: "AXS TV",
|
|
115
|
+
stationId: "28506",
|
|
116
|
+
providers: {
|
|
117
|
+
cox: { channelSelector: "AXS TV", url: "https://watchtv.cox.com/listings" },
|
|
118
|
+
directv: { channelSelector: "AXS TV", url: "https://stream.directv.com" },
|
|
119
|
+
spectrum: { channelSelector: "AXS TV", url: "https://watch.spectrum.net/guide" },
|
|
120
|
+
xfinity: { channelSelector: "AXS TV", url: "https://www.xfinity.com/stream/listings" },
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
bbcamerica: {
|
|
124
|
+
name: "BBC America",
|
|
125
|
+
pacificStationId: "76739",
|
|
126
|
+
stationId: "64492",
|
|
127
|
+
providers: {
|
|
128
|
+
cox: { channelSelector: "BBC America", url: "https://watchtv.cox.com/listings" },
|
|
129
|
+
directv: { channelSelector: "BBC America", url: "https://stream.directv.com" },
|
|
130
|
+
sling: { channelSelector: "BBC America", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
131
|
+
spectrum: { channelSelector: "BBC America", url: "https://watch.spectrum.net/guide" },
|
|
132
|
+
xfinity: { channelSelector: "BBC America", url: "https://www.xfinity.com/stream/listings" },
|
|
133
|
+
yttv: { channelSelector: "BBC America", url: "https://tv.youtube.com/live" },
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
bbcnews: {
|
|
137
|
+
name: "BBC News (North America)",
|
|
138
|
+
stationId: "101449",
|
|
139
|
+
providers: {
|
|
140
|
+
cox: { channelSelector: "BBC News", url: "https://watchtv.cox.com/listings" },
|
|
141
|
+
directv: { channelSelector: "BBC News", url: "https://stream.directv.com" },
|
|
142
|
+
sling: { channelSelector: "BBC News", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
143
|
+
spectrum: { channelSelector: "BBC World News", url: "https://watch.spectrum.net/guide" },
|
|
144
|
+
xfinity: { channelSelector: "BBC News", url: "https://www.xfinity.com/stream/listings" },
|
|
145
|
+
yttv: { channelSelector: "BBC News", url: "https://tv.youtube.com/live" },
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
bet: {
|
|
149
|
+
name: "BET",
|
|
150
|
+
pacificStationId: "64673",
|
|
151
|
+
stationId: "63236",
|
|
152
|
+
providers: {
|
|
153
|
+
cox: { channelSelector: "BET", url: "https://watchtv.cox.com/listings" },
|
|
154
|
+
directv: { channelSelector: "BET", url: "https://stream.directv.com" },
|
|
155
|
+
hulu: { channelSelector: "BET", url: "https://www.hulu.com/live" },
|
|
156
|
+
site: { url: "https://www.bet.com/live-tv" },
|
|
157
|
+
sling: { channelSelector: "BET", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
158
|
+
spectrum: { channelSelector: "BET", url: "https://watch.spectrum.net/guide" },
|
|
159
|
+
xfinity: { channelSelector: "BET", url: "https://www.xfinity.com/stream/listings" },
|
|
160
|
+
yttv: { channelSelector: "BET", url: "https://tv.youtube.com/live" },
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
bether: {
|
|
164
|
+
name: "BET Her",
|
|
165
|
+
pacificStationId: "97360",
|
|
166
|
+
stationId: "63220",
|
|
167
|
+
providers: {
|
|
168
|
+
cox: { channelSelector: "BET Her", url: "https://watchtv.cox.com/listings" },
|
|
169
|
+
directv: { channelSelector: "BET Her", url: "https://stream.directv.com" },
|
|
170
|
+
spectrum: { channelSelector: "BET Her", url: "https://watch.spectrum.net/guide" },
|
|
171
|
+
xfinity: { channelSelector: "BET Her", url: "https://www.xfinity.com/stream/listings" },
|
|
172
|
+
yttv: { channelSelector: "BET Her", url: "https://tv.youtube.com/live" },
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
bigten: {
|
|
176
|
+
name: "Big 10",
|
|
177
|
+
stationId: "58321",
|
|
178
|
+
providers: {
|
|
179
|
+
cox: { channelSelector: "Big Ten Network", url: "https://watchtv.cox.com/listings" },
|
|
180
|
+
directv: { channelSelector: "Big Ten", url: "https://stream.directv.com" },
|
|
181
|
+
foxone: { channelSelector: "BTN", url: "https://www.fox.com/live/channels" },
|
|
182
|
+
hulu: { channelSelector: "Big Ten Network", url: "https://www.hulu.com/live" },
|
|
183
|
+
site: { url: "https://www.foxsports.com/live/btn" },
|
|
184
|
+
spectrum: { channelSelector: "Big Ten Network", url: "https://watch.spectrum.net/guide" },
|
|
185
|
+
xfinity: { channelSelector: "Big Ten Network", url: "https://www.xfinity.com/stream/listings" },
|
|
186
|
+
yttv: { channelSelector: "BTN", url: "https://tv.youtube.com/live" },
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
bloomberg: {
|
|
190
|
+
name: "Bloomberg Television",
|
|
191
|
+
stationId: "71799",
|
|
192
|
+
providers: {
|
|
193
|
+
cox: { channelSelector: "Bloomberg", url: "https://watchtv.cox.com/listings" },
|
|
194
|
+
directv: { channelSelector: "Bloomberg TV", url: "https://stream.directv.com" },
|
|
195
|
+
hulu: { channelSelector: "Bloomberg Television", url: "https://www.hulu.com/live" },
|
|
196
|
+
sling: { channelSelector: "Bloomberg TV+", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
197
|
+
spectrum: { channelSelector: "Bloomberg TV", url: "https://watch.spectrum.net/guide" },
|
|
198
|
+
xfinity: { channelSelector: "Bloomberg", url: "https://www.xfinity.com/stream/listings" },
|
|
199
|
+
yttv: { channelSelector: "Bloomberg TV+", url: "https://tv.youtube.com/live" },
|
|
200
|
+
},
|
|
201
|
+
},
|
|
202
|
+
bloombergoriginals: {
|
|
203
|
+
name: "Bloomberg Originals",
|
|
204
|
+
stationId: "175656",
|
|
205
|
+
providers: {
|
|
206
|
+
yttv: { channelSelector: "Bloomberg Originals", url: "https://tv.youtube.com/live" },
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
bravo: {
|
|
210
|
+
name: "Bravo",
|
|
211
|
+
stationId: "58625",
|
|
212
|
+
providers: {
|
|
213
|
+
cox: { channelSelector: "Bravo", url: "https://watchtv.cox.com/listings" },
|
|
214
|
+
directv: { channelSelector: "Bravo", url: "https://stream.directv.com" },
|
|
215
|
+
hulu: { channelSelector: "Bravo", url: "https://www.hulu.com/live" },
|
|
216
|
+
site: { url: "https://www.nbc.com/live?brand=bravo&callsign=bravo_east" },
|
|
217
|
+
sling: { channelSelector: "Bravo", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
218
|
+
spectrum: { channelSelector: "Bravo", url: "https://watch.spectrum.net/guide" },
|
|
219
|
+
xfinity: { channelSelector: "Bravo", url: "https://www.xfinity.com/stream/listings" },
|
|
220
|
+
yttv: { channelSelector: "Bravo", url: "https://tv.youtube.com/live" },
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
bravop: {
|
|
224
|
+
name: "Bravo (Pacific)",
|
|
225
|
+
stationId: "73994",
|
|
226
|
+
providers: {
|
|
227
|
+
site: { url: "https://www.nbc.com/live?brand=bravo&callsign=bravo_west" },
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
cartoon: {
|
|
231
|
+
name: "Cartoon Network",
|
|
232
|
+
pacificStationId: "67703",
|
|
233
|
+
stationId: "60048",
|
|
234
|
+
providers: {
|
|
235
|
+
cox: { channelSelector: "Cartoon Network", url: "https://watchtv.cox.com/listings" },
|
|
236
|
+
directv: { channelSelector: "Cartoon Network", url: "https://stream.directv.com" },
|
|
237
|
+
hulu: { channelSelector: "Cartoon Network (East)", url: "https://www.hulu.com/live" },
|
|
238
|
+
spectrum: { channelSelector: "Cartoon Network", url: "https://watch.spectrum.net/guide" },
|
|
239
|
+
xfinity: { channelSelector: "Cartoon Network", url: "https://www.xfinity.com/stream/listings" },
|
|
240
|
+
yttv: { channelSelector: "Cartoon Network", url: "https://tv.youtube.com/live" },
|
|
241
|
+
},
|
|
242
|
+
},
|
|
243
|
+
cartoonp: {
|
|
244
|
+
name: "Cartoon Network (Pacific)",
|
|
245
|
+
stationId: "67703",
|
|
246
|
+
providers: {
|
|
247
|
+
hulu: { channelSelector: "Cartoon Network (West)", url: "https://www.hulu.com/live" },
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
cbs: {
|
|
251
|
+
name: "CBS",
|
|
252
|
+
providers: {
|
|
253
|
+
cox: { channelSelector: "CBS", url: "https://watchtv.cox.com/listings" },
|
|
254
|
+
directv: { channelSelector: "CBS", url: "https://stream.directv.com" },
|
|
255
|
+
hulu: { channelSelector: "CBS", url: "https://www.hulu.com/live" },
|
|
256
|
+
paramountplus: { url: "https://www.paramountplus.com/live-tv/" },
|
|
257
|
+
site: { url: "https://www.cbs.com/live-tv/stream" },
|
|
258
|
+
spectrum: { channelSelector: "CBS", url: "https://watch.spectrum.net/guide" },
|
|
259
|
+
xfinity: { channelSelector: "CBS", url: "https://www.xfinity.com/stream/listings" },
|
|
260
|
+
yttv: { channelSelector: "CBS", url: "https://tv.youtube.com/live" },
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
cbsnews: {
|
|
264
|
+
name: "CBS News 24/7",
|
|
265
|
+
stationId: "104846",
|
|
266
|
+
providers: {
|
|
267
|
+
hulu: { channelSelector: "CBS News 24/7", url: "https://www.hulu.com/live" },
|
|
268
|
+
sling: { channelSelector: "CBS News 24/7", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
269
|
+
},
|
|
270
|
+
},
|
|
271
|
+
cbssports: {
|
|
272
|
+
name: "CBS Sports Network",
|
|
273
|
+
stationId: "59250",
|
|
274
|
+
providers: {
|
|
275
|
+
cox: { channelSelector: "CBS Sports Network", url: "https://watchtv.cox.com/listings" },
|
|
276
|
+
hulu: { channelSelector: "CBS Sports Network", url: "https://www.hulu.com/live" },
|
|
277
|
+
spectrum: { channelSelector: "CBS Sports Network", url: "https://watch.spectrum.net/guide" },
|
|
278
|
+
xfinity: { channelSelector: "CBS Sports Network", url: "https://www.xfinity.com/stream/listings" },
|
|
279
|
+
yttv: { channelSelector: "CBS Sports Network", url: "https://tv.youtube.com/live" },
|
|
280
|
+
},
|
|
281
|
+
},
|
|
282
|
+
cmt: {
|
|
283
|
+
name: "CMT",
|
|
284
|
+
pacificStationId: "64610",
|
|
285
|
+
stationId: "59440",
|
|
286
|
+
providers: {
|
|
287
|
+
cox: { channelSelector: "CMT", url: "https://watchtv.cox.com/listings" },
|
|
288
|
+
directv: { channelSelector: "CMT", url: "https://stream.directv.com" },
|
|
289
|
+
hulu: { channelSelector: "CMT", url: "https://www.hulu.com/live" },
|
|
290
|
+
spectrum: { channelSelector: "CMT", url: "https://watch.spectrum.net/guide" },
|
|
291
|
+
xfinity: { channelSelector: "CMT", url: "https://www.xfinity.com/stream/listings" },
|
|
292
|
+
yttv: { channelSelector: "CMT", url: "https://tv.youtube.com/live" },
|
|
293
|
+
},
|
|
294
|
+
},
|
|
295
|
+
cnbc: {
|
|
296
|
+
name: "CNBC",
|
|
297
|
+
stationId: "58780",
|
|
298
|
+
providers: {
|
|
299
|
+
cox: { channelSelector: "CNBC", url: "https://watchtv.cox.com/listings" },
|
|
300
|
+
directv: { channelSelector: "CNBC", url: "https://stream.directv.com" },
|
|
301
|
+
hulu: { channelSelector: "CNBC", url: "https://www.hulu.com/live" },
|
|
302
|
+
site: { url: "https://www.cnbc.com/live-tv" },
|
|
303
|
+
spectrum: { channelSelector: "CNBC", url: "https://watch.spectrum.net/guide" },
|
|
304
|
+
usa: { channelSelector: "CNBC_US", url: "https://www.usanetwork.com/live" },
|
|
305
|
+
xfinity: { channelSelector: "CNBC", url: "https://www.xfinity.com/stream/listings" },
|
|
306
|
+
yttv: { channelSelector: "CNBC", url: "https://tv.youtube.com/live" },
|
|
307
|
+
},
|
|
308
|
+
},
|
|
309
|
+
cnbcworld: {
|
|
310
|
+
name: "CNBC World",
|
|
311
|
+
stationId: "26849",
|
|
312
|
+
providers: {
|
|
313
|
+
directv: { channelSelector: "CNBC World", url: "https://stream.directv.com" },
|
|
314
|
+
spectrum: { channelSelector: "CNBC World", url: "https://watch.spectrum.net/guide" },
|
|
315
|
+
},
|
|
316
|
+
},
|
|
317
|
+
cnn: {
|
|
318
|
+
name: "CNN",
|
|
319
|
+
stationId: "58646",
|
|
320
|
+
providers: {
|
|
321
|
+
cox: { channelSelector: "CNN", url: "https://watchtv.cox.com/listings" },
|
|
322
|
+
directv: { channelSelector: "CNN", url: "https://stream.directv.com" },
|
|
323
|
+
hulu: { channelSelector: "CNN", url: "https://www.hulu.com/live" },
|
|
324
|
+
site: { url: "https://www.cnn.com/videos/cnn" },
|
|
325
|
+
sling: { channelSelector: "CNN", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
326
|
+
spectrum: { channelSelector: "CNN", url: "https://watch.spectrum.net/guide" },
|
|
327
|
+
xfinity: { channelSelector: "CNN", url: "https://www.xfinity.com/stream/listings" },
|
|
328
|
+
yttv: { channelSelector: "CNN", url: "https://tv.youtube.com/live" },
|
|
329
|
+
},
|
|
330
|
+
},
|
|
331
|
+
cnni: {
|
|
332
|
+
name: "CNN International",
|
|
333
|
+
stationId: "83110",
|
|
334
|
+
providers: {
|
|
335
|
+
directv: { channelSelector: "CNNi HD East", url: "https://stream.directv.com" },
|
|
336
|
+
hulu: { channelSelector: "CNN International", url: "https://www.hulu.com/live" },
|
|
337
|
+
site: { url: "https://www.cnn.com/videos/cnn-i" },
|
|
338
|
+
yttv: { channelSelector: "CNN International", url: "https://tv.youtube.com/live" },
|
|
339
|
+
},
|
|
340
|
+
},
|
|
341
|
+
comedycentral: {
|
|
342
|
+
name: "Comedy Central",
|
|
343
|
+
pacificStationId: "64599",
|
|
344
|
+
stationId: "62420",
|
|
345
|
+
providers: {
|
|
346
|
+
cox: { channelSelector: "Comedy Central", url: "https://watchtv.cox.com/listings" },
|
|
347
|
+
directv: { channelSelector: "Comedy Central", url: "https://stream.directv.com" },
|
|
348
|
+
hulu: { channelSelector: "Comedy Central", url: "https://www.hulu.com/live" },
|
|
349
|
+
sling: { channelSelector: "Comedy Central", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
350
|
+
spectrum: { channelSelector: "Comedy Central", url: "https://watch.spectrum.net/guide" },
|
|
351
|
+
xfinity: { channelSelector: "Comedy Central", url: "https://www.xfinity.com/stream/listings" },
|
|
352
|
+
yttv: { channelSelector: "Comedy Central", url: "https://tv.youtube.com/live" },
|
|
353
|
+
},
|
|
354
|
+
},
|
|
355
|
+
cooking: {
|
|
356
|
+
name: "Cooking",
|
|
357
|
+
stationId: "68065",
|
|
358
|
+
providers: {
|
|
359
|
+
cox: { channelSelector: "Cooking Channel", url: "https://watchtv.cox.com/listings" },
|
|
360
|
+
directv: { channelSelector: "Cooking Channel", url: "https://stream.directv.com" },
|
|
361
|
+
site: { url: "https://watch.foodnetwork.com/channel/cooking-channel" },
|
|
362
|
+
spectrum: { channelSelector: "Cooking Channel", url: "https://watch.spectrum.net/guide" },
|
|
363
|
+
xfinity: { channelSelector: "Cooking Channel", url: "https://www.xfinity.com/stream/listings" },
|
|
364
|
+
},
|
|
365
|
+
},
|
|
366
|
+
cspan: {
|
|
367
|
+
name: "C-SPAN",
|
|
368
|
+
stationId: "68344",
|
|
369
|
+
providers: {
|
|
370
|
+
cox: { channelSelector: "C-SPAN", url: "https://watchtv.cox.com/listings" },
|
|
371
|
+
directv: { channelSelector: "C-SPAN", url: "https://stream.directv.com" },
|
|
372
|
+
hulu: { channelSelector: "C-SPAN", url: "https://www.hulu.com/live" },
|
|
373
|
+
site: { url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span" },
|
|
374
|
+
spectrum: { channelSelector: "C-SPAN", url: "https://watch.spectrum.net/guide" },
|
|
375
|
+
xfinity: { channelSelector: "C-SPAN", url: "https://www.xfinity.com/stream/listings" },
|
|
376
|
+
yttv: { channelSelector: "C-SPAN", url: "https://tv.youtube.com/live" },
|
|
377
|
+
},
|
|
378
|
+
},
|
|
379
|
+
cspan2: {
|
|
380
|
+
name: "C-SPAN 2",
|
|
381
|
+
stationId: "68334",
|
|
382
|
+
providers: {
|
|
383
|
+
cox: { channelSelector: "CPN2D", url: "https://watchtv.cox.com/listings" },
|
|
384
|
+
directv: { channelSelector: "C-SPAN2", url: "https://stream.directv.com" },
|
|
385
|
+
hulu: { channelSelector: "C-SPAN2", url: "https://www.hulu.com/live" },
|
|
386
|
+
site: { url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span-2" },
|
|
387
|
+
spectrum: { channelSelector: "C-SPAN 2", url: "https://watch.spectrum.net/guide" },
|
|
388
|
+
xfinity: { channelSelector: "CPN2D", url: "https://www.xfinity.com/stream/listings" },
|
|
389
|
+
yttv: { channelSelector: "C-SPAN2", url: "https://tv.youtube.com/live" },
|
|
390
|
+
},
|
|
391
|
+
},
|
|
392
|
+
cspan3: {
|
|
393
|
+
name: "C-SPAN 3",
|
|
394
|
+
stationId: "68332",
|
|
395
|
+
providers: {
|
|
396
|
+
cox: { channelSelector: "CPN3H", url: "https://watchtv.cox.com/listings" },
|
|
397
|
+
hulu: { channelSelector: "C-SPAN3", url: "https://www.hulu.com/live" },
|
|
398
|
+
site: { url: "https://www.c-span.org/networks/?autoplay=true&channel=c-span-3" },
|
|
399
|
+
spectrum: { channelSelector: "C-SPAN 3", url: "https://watch.spectrum.net/guide" },
|
|
400
|
+
xfinity: { channelSelector: "CPN3H", url: "https://www.xfinity.com/stream/listings" },
|
|
401
|
+
yttv: { channelSelector: "C-SPAN3", url: "https://tv.youtube.com/live" },
|
|
402
|
+
},
|
|
403
|
+
},
|
|
404
|
+
cw: {
|
|
405
|
+
name: "CW",
|
|
406
|
+
providers: {
|
|
407
|
+
cox: { channelSelector: "CW TV", url: "https://watchtv.cox.com/listings" },
|
|
408
|
+
directv: { channelSelector: "CW", url: "https://stream.directv.com" },
|
|
409
|
+
hulu: { channelSelector: "CW", url: "https://www.hulu.com/live" },
|
|
410
|
+
spectrum: { channelSelector: "CW", url: "https://watch.spectrum.net/guide" },
|
|
411
|
+
xfinity: { channelSelector: "CW TV", url: "https://www.xfinity.com/stream/listings" },
|
|
412
|
+
yttv: { channelSelector: "CW", url: "https://tv.youtube.com/live" },
|
|
413
|
+
},
|
|
414
|
+
},
|
|
415
|
+
discovery: {
|
|
416
|
+
name: "Discovery",
|
|
417
|
+
pacificStationId: "80399",
|
|
418
|
+
stationId: "56905",
|
|
419
|
+
providers: {
|
|
420
|
+
cox: { channelSelector: "Discovery Channel", url: "https://watchtv.cox.com/listings" },
|
|
421
|
+
directv: { channelSelector: "Discovery", url: "https://stream.directv.com" },
|
|
422
|
+
hulu: { channelSelector: "Discovery", url: "https://www.hulu.com/live" },
|
|
423
|
+
site: { url: "https://watch.foodnetwork.com/channel/discovery" },
|
|
424
|
+
sling: { channelSelector: "Discovery", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
425
|
+
spectrum: { channelSelector: "Discovery Channel", url: "https://watch.spectrum.net/guide" },
|
|
426
|
+
xfinity: { channelSelector: "Discovery Channel", url: "https://www.xfinity.com/stream/listings" },
|
|
427
|
+
yttv: { channelSelector: "Discovery Channel", url: "https://tv.youtube.com/live" },
|
|
428
|
+
},
|
|
429
|
+
},
|
|
430
|
+
discoverylife: {
|
|
431
|
+
name: "Discovery Life",
|
|
432
|
+
stationId: "92204",
|
|
433
|
+
providers: {
|
|
434
|
+
cox: { channelSelector: "Discovery Life", url: "https://watchtv.cox.com/listings" },
|
|
435
|
+
directv: { channelSelector: "Discovery Life", url: "https://stream.directv.com" },
|
|
436
|
+
site: { url: "https://watch.foodnetwork.com/channel/discovery-life" },
|
|
437
|
+
spectrum: { channelSelector: "Discovery Life", url: "https://watch.spectrum.net/guide" },
|
|
438
|
+
xfinity: { channelSelector: "Discovery Life", url: "https://www.xfinity.com/stream/listings" },
|
|
439
|
+
},
|
|
440
|
+
},
|
|
441
|
+
discoveryturbo: {
|
|
442
|
+
name: "Discovery Turbo",
|
|
443
|
+
stationId: "31046",
|
|
444
|
+
providers: {
|
|
445
|
+
cox: { channelSelector: "Discovery Turbo", url: "https://watchtv.cox.com/listings" },
|
|
446
|
+
directv: { channelSelector: "Discovery Turbo", url: "https://stream.directv.com" },
|
|
447
|
+
hulu: { channelSelector: "Discovery Turbo", url: "https://www.hulu.com/live" },
|
|
448
|
+
site: { url: "https://watch.foodnetwork.com/channel/motortrend" },
|
|
449
|
+
sling: { channelSelector: "Discovery Turbo", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
450
|
+
spectrum: { channelSelector: "Discovery Turbo", url: "https://watch.spectrum.net/guide" },
|
|
451
|
+
xfinity: { channelSelector: "Discovery Turbo", url: "https://www.xfinity.com/stream/listings" },
|
|
452
|
+
yttv: { channelSelector: "Discovery Turbo", url: "https://tv.youtube.com/live" },
|
|
453
|
+
},
|
|
454
|
+
},
|
|
455
|
+
disney: {
|
|
456
|
+
name: "Disney",
|
|
457
|
+
pacificStationId: "63320",
|
|
458
|
+
stationId: "59684",
|
|
459
|
+
providers: {
|
|
460
|
+
cox: { channelSelector: "Disney Channel", url: "https://watchtv.cox.com/listings" },
|
|
461
|
+
directv: { channelSelector: "Disney Channel", url: "https://stream.directv.com" },
|
|
462
|
+
hulu: { channelSelector: "Disney Channel", url: "https://www.hulu.com/live" },
|
|
463
|
+
site: { url: "https://disneynow.com/watch-live?brand=004" },
|
|
464
|
+
sling: { channelSelector: "Disney Channel", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
465
|
+
spectrum: { channelSelector: "Disney Channel", url: "https://watch.spectrum.net/guide" },
|
|
466
|
+
xfinity: { channelSelector: "Disney Channel", url: "https://www.xfinity.com/stream/listings" },
|
|
467
|
+
yttv: { channelSelector: "Disney Channel", url: "https://tv.youtube.com/live" },
|
|
468
|
+
},
|
|
469
|
+
},
|
|
470
|
+
disneyjr: {
|
|
471
|
+
name: "Disney Jr.",
|
|
472
|
+
pacificStationId: "75004",
|
|
473
|
+
stationId: "74885",
|
|
474
|
+
providers: {
|
|
475
|
+
cox: { channelSelector: "Disney Jr.", url: "https://watchtv.cox.com/listings" },
|
|
476
|
+
directv: { channelSelector: "Disney Junior", url: "https://stream.directv.com" },
|
|
477
|
+
hulu: { channelSelector: "Disney Junior", url: "https://www.hulu.com/live" },
|
|
478
|
+
site: { url: "https://disneynow.com/watch-live?brand=008" },
|
|
479
|
+
spectrum: { channelSelector: "Disney Junior", url: "https://watch.spectrum.net/guide" },
|
|
480
|
+
xfinity: { channelSelector: "Disney Jr.", url: "https://www.xfinity.com/stream/listings" },
|
|
481
|
+
yttv: { channelSelector: "Disney Junior", url: "https://tv.youtube.com/live" },
|
|
482
|
+
},
|
|
483
|
+
},
|
|
484
|
+
disneyxd: {
|
|
485
|
+
name: "Disney XD",
|
|
486
|
+
pacificStationId: "63322",
|
|
487
|
+
stationId: "60006",
|
|
488
|
+
providers: {
|
|
489
|
+
cox: { channelSelector: "Disney XD", url: "https://watchtv.cox.com/listings" },
|
|
490
|
+
hulu: { channelSelector: "Disney XD", url: "https://www.hulu.com/live" },
|
|
491
|
+
site: { url: "https://disneynow.com/watch-live?brand=009" },
|
|
492
|
+
spectrum: { channelSelector: "Disney XD", url: "https://watch.spectrum.net/guide" },
|
|
493
|
+
xfinity: { channelSelector: "Disney XD", url: "https://www.xfinity.com/stream/listings" },
|
|
494
|
+
yttv: { channelSelector: "Disney XD", url: "https://tv.youtube.com/live" },
|
|
495
|
+
},
|
|
496
|
+
},
|
|
497
|
+
e: {
|
|
498
|
+
name: "E!",
|
|
499
|
+
stationId: "61812",
|
|
500
|
+
providers: {
|
|
501
|
+
cox: { channelSelector: "E!", url: "https://watchtv.cox.com/listings" },
|
|
502
|
+
directv: { channelSelector: "E!", url: "https://stream.directv.com" },
|
|
503
|
+
hulu: { channelSelector: "E!", url: "https://www.hulu.com/live" },
|
|
504
|
+
site: { channelSelector: "E-_East", url: "https://www.usanetwork.com/live" },
|
|
505
|
+
sling: { channelSelector: "E!", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
506
|
+
spectrum: { channelSelector: "E!", url: "https://watch.spectrum.net/guide" },
|
|
507
|
+
xfinity: { channelSelector: "E!", url: "https://www.xfinity.com/stream/listings" },
|
|
508
|
+
yttv: { channelSelector: "E!", url: "https://tv.youtube.com/live" },
|
|
509
|
+
},
|
|
510
|
+
},
|
|
511
|
+
ep: {
|
|
512
|
+
name: "E! (Pacific)",
|
|
513
|
+
stationId: "91579",
|
|
514
|
+
providers: {
|
|
515
|
+
site: { channelSelector: "E-_West", url: "https://www.usanetwork.com/live" },
|
|
516
|
+
},
|
|
517
|
+
},
|
|
518
|
+
espn: {
|
|
519
|
+
name: "ESPN",
|
|
520
|
+
stationId: "32645",
|
|
521
|
+
providers: {
|
|
522
|
+
cox: { channelSelector: "ESPN", url: "https://watchtv.cox.com/listings" },
|
|
523
|
+
directv: { channelSelector: "ESPN", url: "https://stream.directv.com" },
|
|
524
|
+
disneyplus: { channelSelector: "poster_linear_espn_none", url: "https://www.disneyplus.com/browse/live" },
|
|
525
|
+
hulu: { channelSelector: "ESPN", url: "https://www.hulu.com/live" },
|
|
526
|
+
site: { url: "https://www.espn.com/watch/player?network=espn" },
|
|
527
|
+
sling: { channelSelector: "ESPN", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
528
|
+
spectrum: { channelSelector: "ESPN", url: "https://watch.spectrum.net/guide" },
|
|
529
|
+
xfinity: { channelSelector: "ESPN", url: "https://www.xfinity.com/stream/listings" },
|
|
530
|
+
yttv: { channelSelector: "ESPN", url: "https://tv.youtube.com/live" },
|
|
531
|
+
},
|
|
532
|
+
},
|
|
533
|
+
espn2: {
|
|
534
|
+
name: "ESPN2",
|
|
535
|
+
stationId: "45507",
|
|
536
|
+
providers: {
|
|
537
|
+
cox: { channelSelector: "ES2HD", url: "https://watchtv.cox.com/listings" },
|
|
538
|
+
directv: { channelSelector: "ESPN2", url: "https://stream.directv.com" },
|
|
539
|
+
disneyplus: { channelSelector: "poster_linear_espn2_none", url: "https://www.disneyplus.com/browse/live" },
|
|
540
|
+
hulu: { channelSelector: "ESPN2", url: "https://www.hulu.com/live" },
|
|
541
|
+
site: { url: "https://www.espn.com/watch/player?network=espn2" },
|
|
542
|
+
sling: { channelSelector: "ESPN2", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
543
|
+
spectrum: { channelSelector: "ESPN2", url: "https://watch.spectrum.net/guide" },
|
|
544
|
+
xfinity: { channelSelector: "ES2HD", url: "https://www.xfinity.com/stream/listings" },
|
|
545
|
+
yttv: { channelSelector: "ESPN2", url: "https://tv.youtube.com/live" },
|
|
546
|
+
},
|
|
547
|
+
},
|
|
548
|
+
espnacc: {
|
|
549
|
+
name: "ACC Network",
|
|
550
|
+
stationId: "111871",
|
|
551
|
+
providers: {
|
|
552
|
+
cox: { channelSelector: "ACC Network", url: "https://watchtv.cox.com/listings" },
|
|
553
|
+
directv: { channelSelector: "ACC Network", url: "https://stream.directv.com" },
|
|
554
|
+
disneyplus: { channelSelector: "poster_linear_acc-network_none", url: "https://www.disneyplus.com/browse/live" },
|
|
555
|
+
hulu: { channelSelector: "ACC Network", url: "https://www.hulu.com/live" },
|
|
556
|
+
site: { url: "https://www.espn.com/watch/player?network=acc" },
|
|
557
|
+
spectrum: { channelSelector: "ACC Network", url: "https://watch.spectrum.net/guide" },
|
|
558
|
+
xfinity: { channelSelector: "ACC Network", url: "https://www.xfinity.com/stream/listings" },
|
|
559
|
+
yttv: { channelSelector: "ACC Network", url: "https://tv.youtube.com/live" },
|
|
560
|
+
},
|
|
561
|
+
},
|
|
562
|
+
espndeportes: {
|
|
563
|
+
name: "ESPN Deportes",
|
|
564
|
+
stationId: "71914",
|
|
565
|
+
providers: {
|
|
566
|
+
cox: { channelSelector: "ESPN Deportes", url: "https://watchtv.cox.com/listings" },
|
|
567
|
+
disneyplus: { channelSelector: "poster_linear_espn-deportes_none", url: "https://www.disneyplus.com/browse/live" },
|
|
568
|
+
site: { url: "https://www.espn.com/watch/player?network=espndeportes" },
|
|
569
|
+
spectrum: { channelSelector: "ESPN Deportes", url: "https://watch.spectrum.net/guide" },
|
|
570
|
+
xfinity: { channelSelector: "ESPN Deportes", url: "https://www.xfinity.com/stream/listings" },
|
|
571
|
+
yttv: { channelSelector: "ESPN Deportes", url: "https://tv.youtube.com/live" },
|
|
572
|
+
},
|
|
573
|
+
},
|
|
574
|
+
espnews: {
|
|
575
|
+
name: "ESPNews",
|
|
576
|
+
stationId: "59976",
|
|
577
|
+
providers: {
|
|
578
|
+
cox: { channelSelector: "ESWHD", url: "https://watchtv.cox.com/listings" },
|
|
579
|
+
directv: { channelSelector: "ESPNews", url: "https://stream.directv.com" },
|
|
580
|
+
disneyplus: { channelSelector: "poster_linear_espnews_none", url: "https://www.disneyplus.com/browse/live" },
|
|
581
|
+
hulu: { channelSelector: "ESPNEWS", url: "https://www.hulu.com/live" },
|
|
582
|
+
site: { url: "https://www.espn.com/watch/player?network=espnews" },
|
|
583
|
+
spectrum: { channelSelector: "ESPNews", url: "https://watch.spectrum.net/guide" },
|
|
584
|
+
xfinity: { channelSelector: "ESWHD", url: "https://www.xfinity.com/stream/listings" },
|
|
585
|
+
yttv: { channelSelector: "ESPNEWS", url: "https://tv.youtube.com/live" },
|
|
586
|
+
},
|
|
587
|
+
},
|
|
588
|
+
espnsec: {
|
|
589
|
+
name: "SEC Network",
|
|
590
|
+
stationId: "89714",
|
|
591
|
+
providers: {
|
|
592
|
+
cox: { channelSelector: "SEC", url: "https://watchtv.cox.com/listings" },
|
|
593
|
+
directv: { channelSelector: "SEC Network", url: "https://stream.directv.com" },
|
|
594
|
+
disneyplus: { channelSelector: "poster_linear_sec-network_none", url: "https://www.disneyplus.com/browse/live" },
|
|
595
|
+
hulu: { channelSelector: "SEC Network", url: "https://www.hulu.com/live" },
|
|
596
|
+
site: { url: "https://www.espn.com/watch/player?network=sec" },
|
|
597
|
+
spectrum: { channelSelector: "SEC Network", url: "https://watch.spectrum.net/guide" },
|
|
598
|
+
xfinity: { channelSelector: "SEC", url: "https://www.xfinity.com/stream/listings" },
|
|
599
|
+
yttv: { channelSelector: "SEC Network", url: "https://tv.youtube.com/live" },
|
|
600
|
+
},
|
|
601
|
+
},
|
|
602
|
+
espnu: {
|
|
603
|
+
name: "ESPNU",
|
|
604
|
+
stationId: "60696",
|
|
605
|
+
providers: {
|
|
606
|
+
cox: { channelSelector: "ESPNU", url: "https://watchtv.cox.com/listings" },
|
|
607
|
+
directv: { channelSelector: "ESPNU", url: "https://stream.directv.com" },
|
|
608
|
+
disneyplus: { channelSelector: "poster_linear_espnu_none", url: "https://www.disneyplus.com/browse/live" },
|
|
609
|
+
hulu: { channelSelector: "ESPNU", url: "https://www.hulu.com/live" },
|
|
610
|
+
site: { url: "https://www.espn.com/watch/player?network=espnu" },
|
|
611
|
+
spectrum: { channelSelector: "ESPNU", url: "https://watch.spectrum.net/guide" },
|
|
612
|
+
xfinity: { channelSelector: "ESPNU", url: "https://www.xfinity.com/stream/listings" },
|
|
613
|
+
yttv: { channelSelector: "ESPNU", url: "https://tv.youtube.com/live" },
|
|
614
|
+
},
|
|
615
|
+
},
|
|
616
|
+
fbc: {
|
|
617
|
+
name: "Fox Business",
|
|
618
|
+
stationId: "58718",
|
|
619
|
+
providers: {
|
|
620
|
+
cox: { channelSelector: "Fox Business", url: "https://watchtv.cox.com/listings" },
|
|
621
|
+
directv: { channelSelector: "Fox Business Network", url: "https://stream.directv.com" },
|
|
622
|
+
foxone: { channelSelector: "FBN", url: "https://www.fox.com/live/channels" },
|
|
623
|
+
hulu: { channelSelector: "Fox Business", url: "https://www.hulu.com/live" },
|
|
624
|
+
site: { url: "https://www.foxbusiness.com/video/5640669329001" },
|
|
625
|
+
spectrum: { channelSelector: "Fox Business Network", url: "https://watch.spectrum.net/guide" },
|
|
626
|
+
xfinity: { channelSelector: "Fox Business", url: "https://www.xfinity.com/stream/listings" },
|
|
627
|
+
yttv: { channelSelector: "Fox Business", url: "https://tv.youtube.com/live" },
|
|
628
|
+
},
|
|
629
|
+
},
|
|
630
|
+
fnc: {
|
|
631
|
+
name: "Fox News",
|
|
632
|
+
stationId: "60179",
|
|
633
|
+
providers: {
|
|
634
|
+
cox: { channelSelector: "Fox News", url: "https://watchtv.cox.com/listings" },
|
|
635
|
+
directv: { channelSelector: "Fox News Channel", url: "https://stream.directv.com" },
|
|
636
|
+
foxone: { channelSelector: "FNC", url: "https://www.fox.com/live/channels" },
|
|
637
|
+
hulu: { channelSelector: "Fox News", url: "https://www.hulu.com/live" },
|
|
638
|
+
site: { url: "https://www.foxnews.com/video/5614615980001" },
|
|
639
|
+
sling: { channelSelector: "Fox News", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
640
|
+
spectrum: { channelSelector: "Fox News Channel", url: "https://watch.spectrum.net/guide" },
|
|
641
|
+
xfinity: { channelSelector: "Fox News", url: "https://www.xfinity.com/stream/listings" },
|
|
642
|
+
yttv: { channelSelector: "Fox News", url: "https://tv.youtube.com/live" },
|
|
643
|
+
},
|
|
644
|
+
},
|
|
645
|
+
food: {
|
|
646
|
+
name: "Food Network",
|
|
647
|
+
pacificStationId: "82119",
|
|
648
|
+
stationId: "50747",
|
|
649
|
+
providers: {
|
|
650
|
+
cox: { channelSelector: "Food Network", url: "https://watchtv.cox.com/listings" },
|
|
651
|
+
directv: { channelSelector: "Food Network", url: "https://stream.directv.com" },
|
|
652
|
+
hulu: { channelSelector: "Food Network", url: "https://www.hulu.com/live" },
|
|
653
|
+
site: { url: "https://watch.foodnetwork.com/channel/food-network" },
|
|
654
|
+
sling: { channelSelector: "Food Network", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
655
|
+
spectrum: { channelSelector: "Food Network", url: "https://watch.spectrum.net/guide" },
|
|
656
|
+
xfinity: { channelSelector: "Food Network", url: "https://www.xfinity.com/stream/listings" },
|
|
657
|
+
yttv: { channelSelector: "Food Network", url: "https://tv.youtube.com/live" },
|
|
658
|
+
},
|
|
659
|
+
},
|
|
660
|
+
fox: {
|
|
661
|
+
name: "Fox",
|
|
662
|
+
providers: {
|
|
663
|
+
cox: { channelSelector: "Fox", url: "https://watchtv.cox.com/listings" },
|
|
664
|
+
directv: { channelSelector: "FOX", url: "https://stream.directv.com" },
|
|
665
|
+
foxone: { channelSelector: "FOXD2C", url: "https://www.fox.com/live/channels" },
|
|
666
|
+
hulu: { channelSelector: "Fox", url: "https://www.hulu.com/live" },
|
|
667
|
+
sling: { channelSelector: "FOX", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
668
|
+
spectrum: { channelSelector: "FOX", url: "https://watch.spectrum.net/guide" },
|
|
669
|
+
xfinity: { channelSelector: "Fox", url: "https://www.xfinity.com/stream/listings" },
|
|
670
|
+
yttv: { channelSelector: "FOX", url: "https://tv.youtube.com/live" },
|
|
671
|
+
},
|
|
672
|
+
},
|
|
673
|
+
foxdeportes: {
|
|
674
|
+
name: "Fox Deportes",
|
|
675
|
+
stationId: "72189",
|
|
676
|
+
providers: {
|
|
677
|
+
cox: { channelSelector: "Fox Deportes", url: "https://watchtv.cox.com/listings" },
|
|
678
|
+
foxone: { channelSelector: "FOXD", url: "https://www.fox.com/live/channels" },
|
|
679
|
+
site: { url: "https://www.foxsports.com/live/foxdep" },
|
|
680
|
+
spectrum: { channelSelector: "FOX Deportes", url: "https://watch.spectrum.net/guide" },
|
|
681
|
+
xfinity: { channelSelector: "Fox Deportes", url: "https://www.xfinity.com/stream/listings" },
|
|
682
|
+
yttv: { channelSelector: "Fox Deportes", url: "https://tv.youtube.com/live" },
|
|
683
|
+
},
|
|
684
|
+
},
|
|
685
|
+
foxsoccerplus: {
|
|
686
|
+
name: "Fox Soccer Plus",
|
|
687
|
+
stationId: "66879",
|
|
688
|
+
providers: {
|
|
689
|
+
site: { url: "https://www.foxsports.com/live/fsp" },
|
|
690
|
+
yttv: { channelSelector: "FOX Soccer Plus", url: "https://tv.youtube.com/live" },
|
|
691
|
+
},
|
|
692
|
+
},
|
|
693
|
+
france24: {
|
|
694
|
+
name: "France 24",
|
|
695
|
+
stationId: "60961",
|
|
696
|
+
providers: {
|
|
697
|
+
site: { url: "https://www.france24.com/en/live" },
|
|
698
|
+
sling: { channelSelector: "France 24 (English)", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
699
|
+
},
|
|
700
|
+
},
|
|
701
|
+
france24fr: {
|
|
702
|
+
name: "France 24 (French)",
|
|
703
|
+
stationId: "58685",
|
|
704
|
+
providers: {
|
|
705
|
+
site: { url: "https://www.france24.com/fr/direct" },
|
|
706
|
+
sling: { channelSelector: "France 24", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
707
|
+
},
|
|
708
|
+
},
|
|
709
|
+
freeform: {
|
|
710
|
+
name: "Freeform",
|
|
711
|
+
stationId: "59615",
|
|
712
|
+
providers: {
|
|
713
|
+
cox: { channelSelector: "Freeform", url: "https://watchtv.cox.com/listings" },
|
|
714
|
+
directv: { channelSelector: "Freeform HD", url: "https://stream.directv.com" },
|
|
715
|
+
hulu: { channelSelector: "Freeform", url: "https://www.hulu.com/live" },
|
|
716
|
+
site: { url: "https://www.freeform.com/watch-live/885c669e-fa9a-4039-b42e-6c85c90cc86d" },
|
|
717
|
+
spectrum: { channelSelector: "Freeform", url: "https://watch.spectrum.net/guide" },
|
|
718
|
+
xfinity: { channelSelector: "Freeform", url: "https://www.xfinity.com/stream/listings" },
|
|
719
|
+
yttv: { channelSelector: "Freeform", url: "https://tv.youtube.com/live" },
|
|
720
|
+
},
|
|
721
|
+
},
|
|
722
|
+
freeformp: {
|
|
723
|
+
name: "Freeform (Pacific)",
|
|
724
|
+
stationId: "63324",
|
|
725
|
+
providers: {
|
|
726
|
+
site: { url: "https://www.freeform.com/watch-live/3507c750-e86a-4c0f-8ff4-dd23c4859009" },
|
|
727
|
+
},
|
|
728
|
+
},
|
|
729
|
+
fs1: {
|
|
730
|
+
name: "FS1",
|
|
731
|
+
stationId: "82547",
|
|
732
|
+
providers: {
|
|
733
|
+
cox: { channelSelector: "FOX Sports 1", url: "https://watchtv.cox.com/listings" },
|
|
734
|
+
directv: { channelSelector: "FOX Sports 1", url: "https://stream.directv.com" },
|
|
735
|
+
foxone: { channelSelector: "FS1", url: "https://www.fox.com/live/channels" },
|
|
736
|
+
hulu: { channelSelector: "FS1", url: "https://www.hulu.com/live" },
|
|
737
|
+
site: { url: "https://www.foxsports.com/live/fs1" },
|
|
738
|
+
sling: { channelSelector: "FOX Sports 1", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
739
|
+
spectrum: { channelSelector: "FS1", url: "https://watch.spectrum.net/guide" },
|
|
740
|
+
xfinity: { channelSelector: "FOX Sports 1", url: "https://www.xfinity.com/stream/listings" },
|
|
741
|
+
yttv: { channelSelector: "FS1", url: "https://tv.youtube.com/live" },
|
|
742
|
+
},
|
|
743
|
+
},
|
|
744
|
+
fs2: {
|
|
745
|
+
name: "FS2",
|
|
746
|
+
stationId: "59305",
|
|
747
|
+
providers: {
|
|
748
|
+
cox: { channelSelector: "FOX Sports 2", url: "https://watchtv.cox.com/listings" },
|
|
749
|
+
directv: { channelSelector: "FOX Sports 2", url: "https://stream.directv.com" },
|
|
750
|
+
foxone: { channelSelector: "FS2", url: "https://www.fox.com/live/channels" },
|
|
751
|
+
hulu: { channelSelector: "FS2", url: "https://www.hulu.com/live" },
|
|
752
|
+
site: { url: "https://www.foxsports.com/live/fs2" },
|
|
753
|
+
spectrum: { channelSelector: "Fox Sports 2", url: "https://watch.spectrum.net/guide" },
|
|
754
|
+
xfinity: { channelSelector: "FOX Sports 2", url: "https://www.xfinity.com/stream/listings" },
|
|
755
|
+
yttv: { channelSelector: "FS2", url: "https://tv.youtube.com/live" },
|
|
756
|
+
},
|
|
757
|
+
},
|
|
758
|
+
fx: {
|
|
759
|
+
name: "FX",
|
|
760
|
+
stationId: "58574",
|
|
761
|
+
providers: {
|
|
762
|
+
cox: { channelSelector: "FX", url: "https://watchtv.cox.com/listings" },
|
|
763
|
+
directv: { channelSelector: "FX", url: "https://stream.directv.com" },
|
|
764
|
+
hulu: { channelSelector: "FX", url: "https://www.hulu.com/live" },
|
|
765
|
+
site: { url: "https://abc.com/watch-live/93256af4-5e80-4558-aa2e-2bdfffa119a0" },
|
|
766
|
+
sling: { channelSelector: "FX", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
767
|
+
spectrum: { channelSelector: "FX", url: "https://watch.spectrum.net/guide" },
|
|
768
|
+
xfinity: { channelSelector: "FX", url: "https://www.xfinity.com/stream/listings" },
|
|
769
|
+
yttv: { channelSelector: "FX", url: "https://tv.youtube.com/live" },
|
|
770
|
+
},
|
|
771
|
+
},
|
|
772
|
+
fxm: {
|
|
773
|
+
name: "FXM",
|
|
774
|
+
pacificStationId: "98488",
|
|
775
|
+
stationId: "70253",
|
|
776
|
+
providers: {
|
|
777
|
+
cox: { channelSelector: "FXM", url: "https://watchtv.cox.com/listings" },
|
|
778
|
+
directv: { channelSelector: "FX Movie Channel", url: "https://stream.directv.com" },
|
|
779
|
+
hulu: { channelSelector: "FXM", url: "https://www.hulu.com/live" },
|
|
780
|
+
site: { url: "https://abc.com/watch-live/d298ab7e-c6b1-4efa-ac6e-a52dceed92ee" },
|
|
781
|
+
spectrum: { channelSelector: "FXM", url: "https://watch.spectrum.net/guide" },
|
|
782
|
+
xfinity: { channelSelector: "FXM", url: "https://www.xfinity.com/stream/listings" },
|
|
783
|
+
yttv: { channelSelector: "FXM", url: "https://tv.youtube.com/live" },
|
|
784
|
+
},
|
|
785
|
+
},
|
|
786
|
+
fxp: {
|
|
787
|
+
name: "FX (Pacific)",
|
|
788
|
+
stationId: "59814",
|
|
789
|
+
providers: {
|
|
790
|
+
site: { url: "https://abc.com/watch-live/2cee3401-f63b-42d0-b32e-962fef610b9e" },
|
|
791
|
+
},
|
|
792
|
+
},
|
|
793
|
+
fxx: {
|
|
794
|
+
name: "FXX",
|
|
795
|
+
stationId: "66379",
|
|
796
|
+
providers: {
|
|
797
|
+
cox: { channelSelector: "FXX", url: "https://watchtv.cox.com/listings" },
|
|
798
|
+
directv: { channelSelector: "FXX", url: "https://stream.directv.com" },
|
|
799
|
+
hulu: { channelSelector: "FXX", url: "https://www.hulu.com/live" },
|
|
800
|
+
site: { url: "https://abc.com/watch-live/49f4a471-8d36-4728-8457-ea65cbbc84ea" },
|
|
801
|
+
spectrum: { channelSelector: "FXX", url: "https://watch.spectrum.net/guide" },
|
|
802
|
+
xfinity: { channelSelector: "FXX", url: "https://www.xfinity.com/stream/listings" },
|
|
803
|
+
yttv: { channelSelector: "FXX", url: "https://tv.youtube.com/live" },
|
|
804
|
+
},
|
|
805
|
+
},
|
|
806
|
+
fxxp: {
|
|
807
|
+
name: "FXX (Pacific)",
|
|
808
|
+
stationId: "82571",
|
|
809
|
+
providers: {
|
|
810
|
+
site: { url: "https://abc.com/watch-live/e4c83395-62ed-4a49-829a-c55ab3c33e7d" },
|
|
811
|
+
},
|
|
812
|
+
},
|
|
813
|
+
fyi: {
|
|
814
|
+
name: "FYI",
|
|
815
|
+
pacificStationId: "92372",
|
|
816
|
+
stationId: "58988",
|
|
817
|
+
providers: {
|
|
818
|
+
cox: { channelSelector: "FYI", url: "https://watchtv.cox.com/listings" },
|
|
819
|
+
directv: { channelSelector: "FYI", url: "https://stream.directv.com" },
|
|
820
|
+
hulu: { channelSelector: "FYI", url: "https://www.hulu.com/live" },
|
|
821
|
+
site: { url: "https://play.fyi.tv/live" },
|
|
822
|
+
spectrum: { channelSelector: "FYI", url: "https://watch.spectrum.net/guide" },
|
|
823
|
+
xfinity: { channelSelector: "FYI", url: "https://www.xfinity.com/stream/listings" },
|
|
824
|
+
},
|
|
825
|
+
},
|
|
826
|
+
gameshow: {
|
|
827
|
+
name: "Game Show Network",
|
|
828
|
+
pacificStationId: "90210",
|
|
829
|
+
stationId: "68827",
|
|
830
|
+
providers: {
|
|
831
|
+
cox: { channelSelector: "Game Show Network", url: "https://watchtv.cox.com/listings" },
|
|
832
|
+
directv: { channelSelector: "GSN HD", url: "https://stream.directv.com" },
|
|
833
|
+
hulu: { channelSelector: "Game Show Network", url: "https://www.hulu.com/live" },
|
|
834
|
+
spectrum: { channelSelector: "Game Show Network", url: "https://watch.spectrum.net/guide" },
|
|
835
|
+
xfinity: { channelSelector: "Game Show Network", url: "https://www.xfinity.com/stream/listings" },
|
|
836
|
+
yttv: { channelSelector: "Game Show Network", url: "https://tv.youtube.com/live" },
|
|
837
|
+
},
|
|
838
|
+
},
|
|
839
|
+
golf: {
|
|
840
|
+
name: "Golf",
|
|
841
|
+
stationId: "61854",
|
|
842
|
+
providers: {
|
|
843
|
+
cox: { channelSelector: "Golf Channel", url: "https://watchtv.cox.com/listings" },
|
|
844
|
+
directv: { channelSelector: "Golf Channel", url: "https://stream.directv.com" },
|
|
845
|
+
hulu: { channelSelector: "Golf Channel", url: "https://www.hulu.com/live" },
|
|
846
|
+
site: { url: "https://www.golfchannel.com/watch/live" },
|
|
847
|
+
spectrum: { channelSelector: "Golf Channel", url: "https://watch.spectrum.net/guide" },
|
|
848
|
+
usa: { channelSelector: "gc", url: "https://www.usanetwork.com/live" },
|
|
849
|
+
xfinity: { channelSelector: "Golf Channel", url: "https://www.xfinity.com/stream/listings" },
|
|
850
|
+
yttv: { channelSelector: "Golf Channel", url: "https://tv.youtube.com/live" },
|
|
851
|
+
},
|
|
852
|
+
},
|
|
853
|
+
hallmark: {
|
|
854
|
+
name: "Hallmark",
|
|
855
|
+
pacificStationId: "66415",
|
|
856
|
+
stationId: "66268",
|
|
857
|
+
providers: {
|
|
858
|
+
cox: { channelSelector: "Hallmark Channel", url: "https://watchtv.cox.com/listings" },
|
|
859
|
+
directv: { channelSelector: "Hallmark Channel", url: "https://stream.directv.com" },
|
|
860
|
+
hulu: { channelSelector: "Hallmark Channel", url: "https://www.hulu.com/live" },
|
|
861
|
+
spectrum: { channelSelector: "Hallmark Channel", url: "https://watch.spectrum.net/guide" },
|
|
862
|
+
xfinity: { channelSelector: "Hallmark Channel", url: "https://www.xfinity.com/stream/listings" },
|
|
863
|
+
yttv: { channelSelector: "Hallmark Channel", url: "https://tv.youtube.com/live" },
|
|
864
|
+
},
|
|
865
|
+
},
|
|
866
|
+
hallmarkfamily: {
|
|
867
|
+
name: "Hallmark Family",
|
|
868
|
+
stationId: "105723",
|
|
869
|
+
providers: {
|
|
870
|
+
cox: { channelSelector: "HFM", url: "https://watchtv.cox.com/listings" },
|
|
871
|
+
spectrum: { channelSelector: "Hallmark Family", url: "https://watch.spectrum.net/guide" },
|
|
872
|
+
xfinity: { channelSelector: "HFM", url: "https://www.xfinity.com/stream/listings" },
|
|
873
|
+
yttv: { channelSelector: "Hallmark Family", url: "https://tv.youtube.com/live" },
|
|
874
|
+
},
|
|
875
|
+
},
|
|
876
|
+
hallmarkmystery: {
|
|
877
|
+
name: "Hallmark Mystery",
|
|
878
|
+
pacificStationId: "66412",
|
|
879
|
+
stationId: "46710",
|
|
880
|
+
providers: {
|
|
881
|
+
cox: { channelSelector: "HMYS", url: "https://watchtv.cox.com/listings" },
|
|
882
|
+
hulu: { channelSelector: "Hallmark Mystery", url: "https://www.hulu.com/live" },
|
|
883
|
+
spectrum: { channelSelector: "Hallmark Mystery", url: "https://watch.spectrum.net/guide" },
|
|
884
|
+
xfinity: { channelSelector: "HMYS", url: "https://www.xfinity.com/stream/listings" },
|
|
885
|
+
yttv: { channelSelector: "Hallmark Mystery", url: "https://tv.youtube.com/live" },
|
|
886
|
+
},
|
|
887
|
+
},
|
|
888
|
+
hbo: {
|
|
889
|
+
name: "HBO",
|
|
890
|
+
stationId: "19548",
|
|
891
|
+
providers: {
|
|
892
|
+
cox: { channelSelector: "HBO", url: "https://watchtv.cox.com/listings" },
|
|
893
|
+
site: { channelSelector: "HBO", url: "https://play.hbomax.com" },
|
|
894
|
+
xfinity: { channelSelector: "HBO", url: "https://www.xfinity.com/stream/listings" },
|
|
895
|
+
yttv: { channelSelector: "HBO East", url: "https://tv.youtube.com/live" },
|
|
896
|
+
},
|
|
897
|
+
},
|
|
898
|
+
hbocomedy: {
|
|
899
|
+
name: "HBO Comedy",
|
|
900
|
+
stationId: "59839",
|
|
901
|
+
providers: {
|
|
902
|
+
cox: { channelSelector: "HBOCH", url: "https://watchtv.cox.com/listings" },
|
|
903
|
+
site: { channelSelector: "HBO Comedy", url: "https://play.hbomax.com" },
|
|
904
|
+
xfinity: { channelSelector: "HBOCH", url: "https://www.xfinity.com/stream/listings" },
|
|
905
|
+
yttv: { channelSelector: "HBO Comedy East", url: "https://tv.youtube.com/live" },
|
|
906
|
+
},
|
|
907
|
+
},
|
|
908
|
+
hbodrama: {
|
|
909
|
+
name: "HBO Drama",
|
|
910
|
+
stationId: "59363",
|
|
911
|
+
providers: {
|
|
912
|
+
cox: { channelSelector: "HBOSH", url: "https://watchtv.cox.com/listings" },
|
|
913
|
+
site: { channelSelector: "HBO Drama", url: "https://play.hbomax.com" },
|
|
914
|
+
xfinity: { channelSelector: "HBOSH", url: "https://www.xfinity.com/stream/listings" },
|
|
915
|
+
yttv: { channelSelector: "HBO Drama East", url: "https://tv.youtube.com/live" },
|
|
916
|
+
},
|
|
917
|
+
},
|
|
918
|
+
hbohits: {
|
|
919
|
+
name: "HBO Hits",
|
|
920
|
+
stationId: "59368",
|
|
921
|
+
providers: {
|
|
922
|
+
cox: { channelSelector: "HBO2H", url: "https://watchtv.cox.com/listings" },
|
|
923
|
+
site: { channelSelector: "HBO Hits", url: "https://play.hbomax.com" },
|
|
924
|
+
xfinity: { channelSelector: "HBO2H", url: "https://www.xfinity.com/stream/listings" },
|
|
925
|
+
yttv: { channelSelector: "HBO Hits East", url: "https://tv.youtube.com/live" },
|
|
926
|
+
},
|
|
927
|
+
},
|
|
928
|
+
hbomovies: {
|
|
929
|
+
name: "HBO Movies",
|
|
930
|
+
stationId: "59845",
|
|
931
|
+
providers: {
|
|
932
|
+
cox: { channelSelector: "HBOZH", url: "https://watchtv.cox.com/listings" },
|
|
933
|
+
site: { channelSelector: "HBO Movies", url: "https://play.hbomax.com" },
|
|
934
|
+
xfinity: { channelSelector: "HBOZH", url: "https://www.xfinity.com/stream/listings" },
|
|
935
|
+
yttv: { channelSelector: "HBO Movies East", url: "https://tv.youtube.com/live" },
|
|
936
|
+
},
|
|
937
|
+
},
|
|
938
|
+
hgtv: {
|
|
939
|
+
name: "HGTV",
|
|
940
|
+
pacificStationId: "87317",
|
|
941
|
+
stationId: "49788",
|
|
942
|
+
providers: {
|
|
943
|
+
cox: { channelSelector: "HGTV", url: "https://watchtv.cox.com/listings" },
|
|
944
|
+
directv: { channelSelector: "HGTV", url: "https://stream.directv.com" },
|
|
945
|
+
hulu: { channelSelector: "HGTV", url: "https://www.hulu.com/live" },
|
|
946
|
+
site: { url: "https://watch.foodnetwork.com/channel/hgtv" },
|
|
947
|
+
sling: { channelSelector: "HGTV", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
948
|
+
spectrum: { channelSelector: "HGTV", url: "https://watch.spectrum.net/guide" },
|
|
949
|
+
xfinity: { channelSelector: "HGTV", url: "https://www.xfinity.com/stream/listings" },
|
|
950
|
+
yttv: { channelSelector: "HGTV", url: "https://tv.youtube.com/live" },
|
|
951
|
+
},
|
|
952
|
+
},
|
|
953
|
+
history: {
|
|
954
|
+
name: "History",
|
|
955
|
+
pacificStationId: "88545",
|
|
956
|
+
stationId: "57708",
|
|
957
|
+
providers: {
|
|
958
|
+
cox: { channelSelector: "History", url: "https://watchtv.cox.com/listings" },
|
|
959
|
+
directv: { channelSelector: "HISTORY", url: "https://stream.directv.com" },
|
|
960
|
+
hulu: { channelSelector: "The HISTORY Channel", url: "https://www.hulu.com/live" },
|
|
961
|
+
site: { url: "https://play.history.com/live" },
|
|
962
|
+
sling: { channelSelector: "History", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
963
|
+
spectrum: { channelSelector: "History", url: "https://watch.spectrum.net/guide" },
|
|
964
|
+
xfinity: { channelSelector: "History", url: "https://www.xfinity.com/stream/listings" },
|
|
965
|
+
},
|
|
966
|
+
},
|
|
967
|
+
hln: {
|
|
968
|
+
name: "HLN",
|
|
969
|
+
stationId: "64549",
|
|
970
|
+
providers: {
|
|
971
|
+
cox: { channelSelector: "HLN", url: "https://watchtv.cox.com/listings" },
|
|
972
|
+
directv: { channelSelector: "HLN", url: "https://stream.directv.com" },
|
|
973
|
+
hulu: { channelSelector: "HLN", url: "https://www.hulu.com/live" },
|
|
974
|
+
site: { url: "https://www.cnn.com/videos/hln" },
|
|
975
|
+
sling: { channelSelector: "HLN", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
976
|
+
spectrum: { channelSelector: "HLN", url: "https://watch.spectrum.net/guide" },
|
|
977
|
+
xfinity: { channelSelector: "HLN", url: "https://www.xfinity.com/stream/listings" },
|
|
978
|
+
yttv: { channelSelector: "HLN", url: "https://tv.youtube.com/live" },
|
|
979
|
+
},
|
|
980
|
+
},
|
|
981
|
+
id: {
|
|
982
|
+
name: "Investigation Discovery",
|
|
983
|
+
pacificStationId: "80309",
|
|
984
|
+
stationId: "65342",
|
|
985
|
+
providers: {
|
|
986
|
+
cox: { channelSelector: "Investigation Discovery", url: "https://watchtv.cox.com/listings" },
|
|
987
|
+
directv: { channelSelector: "Investigation Discovery", url: "https://stream.directv.com" },
|
|
988
|
+
hulu: { channelSelector: "Investigation Discovery", url: "https://www.hulu.com/live" },
|
|
989
|
+
site: { url: "https://watch.foodnetwork.com/channel/investigation-discovery" },
|
|
990
|
+
sling: { channelSelector: "Investigation Discovery", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
991
|
+
spectrum: { channelSelector: "Investigation Discovery", url: "https://watch.spectrum.net/guide" },
|
|
992
|
+
xfinity: { channelSelector: "Investigation Discovery", url: "https://www.xfinity.com/stream/listings" },
|
|
993
|
+
yttv: { channelSelector: "ID", url: "https://tv.youtube.com/live" },
|
|
994
|
+
},
|
|
995
|
+
},
|
|
996
|
+
ifc: {
|
|
997
|
+
name: "IFC",
|
|
998
|
+
pacificStationId: "109735",
|
|
999
|
+
stationId: "59444",
|
|
1000
|
+
providers: {
|
|
1001
|
+
cox: { channelSelector: "IFC", url: "https://watchtv.cox.com/listings" },
|
|
1002
|
+
directv: { channelSelector: "IFC", url: "https://stream.directv.com" },
|
|
1003
|
+
sling: { channelSelector: "IFC", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1004
|
+
spectrum: { channelSelector: "IFC", url: "https://watch.spectrum.net/guide" },
|
|
1005
|
+
xfinity: { channelSelector: "IFC", url: "https://www.xfinity.com/stream/listings" },
|
|
1006
|
+
yttv: { channelSelector: "IFC", url: "https://tv.youtube.com/live" },
|
|
1007
|
+
},
|
|
1008
|
+
},
|
|
1009
|
+
indieplex: {
|
|
1010
|
+
name: "IndiePlex",
|
|
1011
|
+
stationId: "65795",
|
|
1012
|
+
providers: {
|
|
1013
|
+
hulu: { channelSelector: "IndiePlex (East)", url: "https://www.hulu.com/live" },
|
|
1014
|
+
sling: { channelSelector: "IndiePlex", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1015
|
+
spectrum: { channelSelector: "IndiePlex", url: "https://watch.spectrum.net/guide" },
|
|
1016
|
+
},
|
|
1017
|
+
},
|
|
1018
|
+
indieplexp: {
|
|
1019
|
+
name: "IndiePlex (Pacific)",
|
|
1020
|
+
stationId: "65796",
|
|
1021
|
+
providers: {
|
|
1022
|
+
hulu: { channelSelector: "IndiePlex (West)", url: "https://www.hulu.com/live" },
|
|
1023
|
+
},
|
|
1024
|
+
},
|
|
1025
|
+
lifetime: {
|
|
1026
|
+
name: "Lifetime",
|
|
1027
|
+
pacificStationId: "60250",
|
|
1028
|
+
stationId: "60150",
|
|
1029
|
+
providers: {
|
|
1030
|
+
cox: { channelSelector: "Lifetime", url: "https://watchtv.cox.com/listings" },
|
|
1031
|
+
directv: { channelSelector: "Lifetime", url: "https://stream.directv.com" },
|
|
1032
|
+
hulu: { channelSelector: "Lifetime", url: "https://www.hulu.com/live" },
|
|
1033
|
+
site: { url: "https://play.mylifetime.com/live" },
|
|
1034
|
+
sling: { channelSelector: "Lifetime", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1035
|
+
spectrum: { channelSelector: "Lifetime", url: "https://watch.spectrum.net/guide" },
|
|
1036
|
+
xfinity: { channelSelector: "Lifetime", url: "https://www.xfinity.com/stream/listings" },
|
|
1037
|
+
},
|
|
1038
|
+
},
|
|
1039
|
+
lmn: {
|
|
1040
|
+
name: "Lifetime Movie Network",
|
|
1041
|
+
pacificStationId: "92373",
|
|
1042
|
+
stationId: "55887",
|
|
1043
|
+
providers: {
|
|
1044
|
+
cox: { channelSelector: "Lifetime Movies", url: "https://watchtv.cox.com/listings" },
|
|
1045
|
+
directv: { channelSelector: "Lifetime Movie Network", url: "https://stream.directv.com" },
|
|
1046
|
+
hulu: { channelSelector: "LMN", url: "https://www.hulu.com/live" },
|
|
1047
|
+
spectrum: { channelSelector: "LMN", url: "https://watch.spectrum.net/guide" },
|
|
1048
|
+
xfinity: { channelSelector: "Lifetime Movies", url: "https://www.xfinity.com/stream/listings" },
|
|
1049
|
+
},
|
|
1050
|
+
},
|
|
1051
|
+
magnolia: {
|
|
1052
|
+
name: "Magnolia Network",
|
|
1053
|
+
pacificStationId: "122081",
|
|
1054
|
+
stationId: "67375",
|
|
1055
|
+
providers: {
|
|
1056
|
+
cox: { channelSelector: "Magnolia Network", url: "https://watchtv.cox.com/listings" },
|
|
1057
|
+
directv: { channelSelector: "Magnolia Network", url: "https://stream.directv.com" },
|
|
1058
|
+
hulu: { channelSelector: "Magnolia Network", url: "https://www.hulu.com/live" },
|
|
1059
|
+
site: { url: "https://watch.foodnetwork.com/channel/magnolia-network-preview-atve-us" },
|
|
1060
|
+
spectrum: { channelSelector: "Magnolia Network", url: "https://watch.spectrum.net/guide" },
|
|
1061
|
+
xfinity: { channelSelector: "Magnolia Network", url: "https://www.xfinity.com/stream/listings" },
|
|
1062
|
+
yttv: { channelSelector: "Magnolia Network", url: "https://tv.youtube.com/live" },
|
|
1063
|
+
},
|
|
1064
|
+
},
|
|
1065
|
+
mgmplus: {
|
|
1066
|
+
name: "MGM+",
|
|
1067
|
+
pacificStationId: "95927",
|
|
1068
|
+
stationId: "65687",
|
|
1069
|
+
providers: {
|
|
1070
|
+
cox: { channelSelector: "MGM+", url: "https://watchtv.cox.com/listings" },
|
|
1071
|
+
directv: { channelSelector: "MGM+", url: "https://stream.directv.com" },
|
|
1072
|
+
xfinity: { channelSelector: "MGM+", url: "https://www.xfinity.com/stream/listings" },
|
|
1073
|
+
},
|
|
1074
|
+
},
|
|
1075
|
+
mlb: {
|
|
1076
|
+
name: "MLB Network",
|
|
1077
|
+
stationId: "62081",
|
|
1078
|
+
providers: {
|
|
1079
|
+
cox: { channelSelector: "MLB Network", url: "https://watchtv.cox.com/listings" },
|
|
1080
|
+
directv: { channelSelector: "MLB Network", url: "https://stream.directv.com" },
|
|
1081
|
+
hulu: { channelSelector: "MLB Network", url: "https://www.hulu.com/live" },
|
|
1082
|
+
spectrum: { channelSelector: "MLB Network", url: "https://watch.spectrum.net/guide" },
|
|
1083
|
+
xfinity: { channelSelector: "MLB Network", url: "https://www.xfinity.com/stream/listings" },
|
|
1084
|
+
},
|
|
1085
|
+
},
|
|
1086
|
+
movieplex: {
|
|
1087
|
+
name: "MoviePlex",
|
|
1088
|
+
stationId: "83075",
|
|
1089
|
+
providers: {
|
|
1090
|
+
hulu: { channelSelector: "MoviePlex (East)", url: "https://www.hulu.com/live" },
|
|
1091
|
+
sling: { channelSelector: "MoviePlex", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1092
|
+
spectrum: { channelSelector: "Movieplex", url: "https://watch.spectrum.net/guide" },
|
|
1093
|
+
},
|
|
1094
|
+
},
|
|
1095
|
+
movieplexp: {
|
|
1096
|
+
name: "MoviePlex (Pacific)",
|
|
1097
|
+
stationId: "105963",
|
|
1098
|
+
providers: {
|
|
1099
|
+
hulu: { channelSelector: "MoviePlex (West)", url: "https://www.hulu.com/live" },
|
|
1100
|
+
},
|
|
1101
|
+
},
|
|
1102
|
+
msg: {
|
|
1103
|
+
name: "MSG",
|
|
1104
|
+
stationId: "35402",
|
|
1105
|
+
providers: {
|
|
1106
|
+
directv: { channelSelector: "MSG", url: "https://stream.directv.com" },
|
|
1107
|
+
},
|
|
1108
|
+
},
|
|
1109
|
+
msgsn: {
|
|
1110
|
+
name: "MSG Sportsnet",
|
|
1111
|
+
stationId: "35383",
|
|
1112
|
+
providers: {
|
|
1113
|
+
directv: { channelSelector: "MSG Sportsnet HD 635", url: "https://stream.directv.com" },
|
|
1114
|
+
},
|
|
1115
|
+
},
|
|
1116
|
+
msnow: {
|
|
1117
|
+
name: "MS NOW",
|
|
1118
|
+
stationId: "64241",
|
|
1119
|
+
providers: {
|
|
1120
|
+
cox: { channelSelector: "MS NOW", url: "https://watchtv.cox.com/listings" },
|
|
1121
|
+
directv: { channelSelector: "MS Now", url: "https://stream.directv.com" },
|
|
1122
|
+
hulu: { channelSelector: "MS NOW", url: "https://www.hulu.com/live" },
|
|
1123
|
+
site: { url: "https://www.ms.now/live" },
|
|
1124
|
+
sling: { channelSelector: "MS NOW", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1125
|
+
spectrum: { channelSelector: "MS NOW", url: "https://watch.spectrum.net/guide" },
|
|
1126
|
+
usa: { channelSelector: "image-23", url: "https://www.usanetwork.com/live" },
|
|
1127
|
+
xfinity: { channelSelector: "MS NOW", url: "https://www.xfinity.com/stream/listings" },
|
|
1128
|
+
yttv: { channelSelector: "MS NOW", url: "https://tv.youtube.com/live" },
|
|
1129
|
+
},
|
|
1130
|
+
},
|
|
1131
|
+
mtv: {
|
|
1132
|
+
name: "MTV",
|
|
1133
|
+
pacificStationId: "64630",
|
|
1134
|
+
stationId: "60964",
|
|
1135
|
+
providers: {
|
|
1136
|
+
cox: { channelSelector: "MTV", url: "https://watchtv.cox.com/listings" },
|
|
1137
|
+
directv: { channelSelector: "MTV", url: "https://stream.directv.com" },
|
|
1138
|
+
hulu: { channelSelector: "MTV", url: "https://www.hulu.com/live" },
|
|
1139
|
+
spectrum: { channelSelector: "MTV", url: "https://watch.spectrum.net/guide" },
|
|
1140
|
+
xfinity: { channelSelector: "MTV", url: "https://www.xfinity.com/stream/listings" },
|
|
1141
|
+
yttv: { channelSelector: "MTV", url: "https://tv.youtube.com/live" },
|
|
1142
|
+
},
|
|
1143
|
+
},
|
|
1144
|
+
mtv2: {
|
|
1145
|
+
name: "MTV2",
|
|
1146
|
+
pacificStationId: "75506",
|
|
1147
|
+
stationId: "75077",
|
|
1148
|
+
providers: {
|
|
1149
|
+
cox: { channelSelector: "MTV2", url: "https://watchtv.cox.com/listings" },
|
|
1150
|
+
directv: { channelSelector: "MTV2", url: "https://stream.directv.com" },
|
|
1151
|
+
spectrum: { channelSelector: "MTV2", url: "https://watch.spectrum.net/guide" },
|
|
1152
|
+
xfinity: { channelSelector: "MTV2", url: "https://www.xfinity.com/stream/listings" },
|
|
1153
|
+
},
|
|
1154
|
+
},
|
|
1155
|
+
mtvclassic: {
|
|
1156
|
+
name: "MTV Classic",
|
|
1157
|
+
stationId: "92240",
|
|
1158
|
+
providers: {
|
|
1159
|
+
cox: { channelSelector: "MTV Classic", url: "https://watchtv.cox.com/listings" },
|
|
1160
|
+
directv: { channelSelector: "MTV Classic", url: "https://stream.directv.com" },
|
|
1161
|
+
spectrum: { channelSelector: "MTV Classic", url: "https://watch.spectrum.net/guide" },
|
|
1162
|
+
xfinity: { channelSelector: "MTV Classic", url: "https://www.xfinity.com/stream/listings" },
|
|
1163
|
+
},
|
|
1164
|
+
},
|
|
1165
|
+
natgeo: {
|
|
1166
|
+
name: "National Geographic",
|
|
1167
|
+
stationId: "49438",
|
|
1168
|
+
providers: {
|
|
1169
|
+
cox: { channelSelector: "Nat Geo", url: "https://watchtv.cox.com/listings" },
|
|
1170
|
+
directv: { channelSelector: "National Geographic Channel", url: "https://stream.directv.com" },
|
|
1171
|
+
hulu: { channelSelector: "National Geographic", url: "https://www.hulu.com/live" },
|
|
1172
|
+
site: { url: "https://www.nationalgeographic.com/tv/watch-live/0826a9a3-3384-4bb5-8841-91f01cb0e3a7" },
|
|
1173
|
+
sling: { channelSelector: "National Geographic", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1174
|
+
spectrum: { channelSelector: "National Geographic", url: "https://watch.spectrum.net/guide" },
|
|
1175
|
+
xfinity: { channelSelector: "Nat Geo", url: "https://www.xfinity.com/stream/listings" },
|
|
1176
|
+
yttv: { channelSelector: "Nat Geo", url: "https://tv.youtube.com/live" },
|
|
1177
|
+
},
|
|
1178
|
+
},
|
|
1179
|
+
natgeop: {
|
|
1180
|
+
name: "National Geographic (Pacific)",
|
|
1181
|
+
stationId: "71601",
|
|
1182
|
+
providers: {
|
|
1183
|
+
site: { url: "https://www.nationalgeographic.com/tv/watch-live/91456580-f32f-417c-8e1a-9f82640832a7" },
|
|
1184
|
+
},
|
|
1185
|
+
},
|
|
1186
|
+
natgeowild: {
|
|
1187
|
+
name: "Nat Geo Wild",
|
|
1188
|
+
stationId: "67331",
|
|
1189
|
+
providers: {
|
|
1190
|
+
cox: { channelSelector: "National Geographic WILD", url: "https://watchtv.cox.com/listings" },
|
|
1191
|
+
directv: { channelSelector: "Nat Geo WILD", url: "https://stream.directv.com" },
|
|
1192
|
+
hulu: { channelSelector: "Nat Geo WILD", url: "https://www.hulu.com/live" },
|
|
1193
|
+
site: { url: "https://www.nationalgeographic.com/tv/watch-live/239b9590-583f-4955-a499-22e9eefff9cf" },
|
|
1194
|
+
spectrum: { channelSelector: "NatGeo Wild", url: "https://watch.spectrum.net/guide" },
|
|
1195
|
+
xfinity: { channelSelector: "National Geographic WILD", url: "https://www.xfinity.com/stream/listings" },
|
|
1196
|
+
yttv: { channelSelector: "Nat Geo WILD", url: "https://tv.youtube.com/live" },
|
|
1197
|
+
},
|
|
1198
|
+
},
|
|
1199
|
+
nba: {
|
|
1200
|
+
name: "NBA TV",
|
|
1201
|
+
stationId: "45526",
|
|
1202
|
+
providers: {
|
|
1203
|
+
cox: { channelSelector: "NBA TV", url: "https://watchtv.cox.com/listings" },
|
|
1204
|
+
directv: { channelSelector: "NBA TV", url: "https://stream.directv.com" },
|
|
1205
|
+
site: { url: "https://www.nba.com/watch/nba-tv" },
|
|
1206
|
+
spectrum: { channelSelector: "NBA TV", url: "https://watch.spectrum.net/guide" },
|
|
1207
|
+
xfinity: { channelSelector: "NBA TV", url: "https://www.xfinity.com/stream/listings" },
|
|
1208
|
+
yttv: { channelSelector: "NBA TV", url: "https://tv.youtube.com/live" },
|
|
1209
|
+
},
|
|
1210
|
+
},
|
|
1211
|
+
nbc: {
|
|
1212
|
+
name: "NBC",
|
|
1213
|
+
providers: {
|
|
1214
|
+
cox: { channelSelector: "NBC", url: "https://watchtv.cox.com/listings" },
|
|
1215
|
+
directv: { channelSelector: "NBC", url: "https://stream.directv.com" },
|
|
1216
|
+
hulu: { channelSelector: "NBC", url: "https://www.hulu.com/live" },
|
|
1217
|
+
site: { url: "https://www.nbc.com/live?brand=nbc&callsign=nbc" },
|
|
1218
|
+
sling: { channelSelector: "NBC", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1219
|
+
spectrum: { channelSelector: "NBC", url: "https://watch.spectrum.net/guide" },
|
|
1220
|
+
xfinity: { channelSelector: "NBC", url: "https://www.xfinity.com/stream/listings" },
|
|
1221
|
+
yttv: { channelSelector: "NBC", url: "https://tv.youtube.com/live" },
|
|
1222
|
+
},
|
|
1223
|
+
},
|
|
1224
|
+
nbcnews: {
|
|
1225
|
+
name: "NBC News Now",
|
|
1226
|
+
stationId: "114174",
|
|
1227
|
+
providers: {
|
|
1228
|
+
cox: { channelSelector: "NBC News NOW", url: "https://watchtv.cox.com/listings" },
|
|
1229
|
+
directv: { channelSelector: "NBC News Now", url: "https://stream.directv.com" },
|
|
1230
|
+
hulu: { channelSelector: "NBC News NOW", url: "https://www.hulu.com/live" },
|
|
1231
|
+
site: { url: "https://www.nbc.com/live?brand=nbc-news&callsign=nbcnews" },
|
|
1232
|
+
sling: { channelSelector: "NBC News Now", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1233
|
+
xfinity: { channelSelector: "NBC News NOW", url: "https://www.xfinity.com/stream/listings" },
|
|
1234
|
+
yttv: { channelSelector: "NBC News NOW", url: "https://tv.youtube.com/live" },
|
|
1235
|
+
},
|
|
1236
|
+
},
|
|
1237
|
+
nbcsbayarea: {
|
|
1238
|
+
name: "NBC Sports Bay Area",
|
|
1239
|
+
stationId: "63138",
|
|
1240
|
+
providers: {
|
|
1241
|
+
site: { url: "https://www.nbc.com/live?brand=rsn-bay-area&callsign=nbcsbayarea" },
|
|
1242
|
+
},
|
|
1243
|
+
},
|
|
1244
|
+
nbcsboston: {
|
|
1245
|
+
name: "NBC Sports Boston",
|
|
1246
|
+
stationId: "49198",
|
|
1247
|
+
providers: {
|
|
1248
|
+
site: { url: "https://www.nbc.com/live?brand=rsn-boston&callsign=nbcsboston" },
|
|
1249
|
+
},
|
|
1250
|
+
},
|
|
1251
|
+
nbcscalifornia: {
|
|
1252
|
+
name: "NBC Sports California",
|
|
1253
|
+
stationId: "45540",
|
|
1254
|
+
providers: {
|
|
1255
|
+
site: { url: "https://www.nbc.com/live?brand=rsn-california&callsign=nbcscalifornia" },
|
|
1256
|
+
},
|
|
1257
|
+
},
|
|
1258
|
+
nbcsn: {
|
|
1259
|
+
name: "NBC Sports Network",
|
|
1260
|
+
stationId: "194412",
|
|
1261
|
+
providers: {
|
|
1262
|
+
yttv: { channelSelector: "NBC Sports Network", url: "https://tv.youtube.com/live" },
|
|
1263
|
+
},
|
|
1264
|
+
},
|
|
1265
|
+
nbcsphiladelphia: {
|
|
1266
|
+
name: "NBC Sports Philadelphia",
|
|
1267
|
+
stationId: "32571",
|
|
1268
|
+
providers: {
|
|
1269
|
+
site: { url: "https://www.nbc.com/live?brand=rsn-philadelphia&callsign=nbcsphiladelphia" },
|
|
1270
|
+
},
|
|
1271
|
+
},
|
|
1272
|
+
necn: {
|
|
1273
|
+
name: "NECN",
|
|
1274
|
+
stationId: "66278",
|
|
1275
|
+
providers: {
|
|
1276
|
+
site: { url: "https://www.nbc.com/live?brand=necn&callsign=necn" },
|
|
1277
|
+
},
|
|
1278
|
+
},
|
|
1279
|
+
nfl: {
|
|
1280
|
+
name: "NFL Network",
|
|
1281
|
+
stationId: "45399",
|
|
1282
|
+
providers: {
|
|
1283
|
+
cox: { channelSelector: "NFL Network", url: "https://watchtv.cox.com/listings" },
|
|
1284
|
+
directv: { channelSelector: "NFL Network", url: "https://stream.directv.com" },
|
|
1285
|
+
hulu: { channelSelector: "NFL Network", url: "https://www.hulu.com/live" },
|
|
1286
|
+
sling: { channelSelector: "NFL Network", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1287
|
+
spectrum: { channelSelector: "NFL Network", url: "https://watch.spectrum.net/guide" },
|
|
1288
|
+
xfinity: { channelSelector: "NFL Network", url: "https://www.xfinity.com/stream/listings" },
|
|
1289
|
+
yttv: { channelSelector: "NFL Network", url: "https://tv.youtube.com/live" },
|
|
1290
|
+
},
|
|
1291
|
+
},
|
|
1292
|
+
nhl: {
|
|
1293
|
+
name: "NHL Network",
|
|
1294
|
+
stationId: "58690",
|
|
1295
|
+
providers: {
|
|
1296
|
+
cox: { channelSelector: "NHL Network", url: "https://watchtv.cox.com/listings" },
|
|
1297
|
+
directv: { channelSelector: "NHL Network HD", url: "https://stream.directv.com" },
|
|
1298
|
+
spectrum: { channelSelector: "NHL Network", url: "https://watch.spectrum.net/guide" },
|
|
1299
|
+
xfinity: { channelSelector: "NHL Network", url: "https://www.xfinity.com/stream/listings" },
|
|
1300
|
+
},
|
|
1301
|
+
},
|
|
1302
|
+
own: {
|
|
1303
|
+
name: "OWN",
|
|
1304
|
+
stationId: "70388",
|
|
1305
|
+
providers: {
|
|
1306
|
+
cox: { channelSelector: "OWN", url: "https://watchtv.cox.com/listings" },
|
|
1307
|
+
directv: { channelSelector: "OWN", url: "https://stream.directv.com" },
|
|
1308
|
+
hulu: { channelSelector: "Oprah Winfrey Network", url: "https://www.hulu.com/live" },
|
|
1309
|
+
site: { url: "https://watch.foodnetwork.com/channel/own" },
|
|
1310
|
+
spectrum: { channelSelector: "OWN", url: "https://watch.spectrum.net/guide" },
|
|
1311
|
+
xfinity: { channelSelector: "OWN", url: "https://www.xfinity.com/stream/listings" },
|
|
1312
|
+
yttv: { channelSelector: "OWN", url: "https://tv.youtube.com/live" },
|
|
1313
|
+
},
|
|
1314
|
+
},
|
|
1315
|
+
oxygen: {
|
|
1316
|
+
name: "Oxygen",
|
|
1317
|
+
stationId: "70522",
|
|
1318
|
+
providers: {
|
|
1319
|
+
cox: { channelSelector: "Oxygen True Crime", url: "https://watchtv.cox.com/listings" },
|
|
1320
|
+
directv: { channelSelector: "Oxygen True Crime", url: "https://stream.directv.com" },
|
|
1321
|
+
hulu: { channelSelector: "Oxygen True Crime", url: "https://www.hulu.com/live" },
|
|
1322
|
+
site: { channelSelector: "Oxygen_East", url: "https://www.usanetwork.com/live" },
|
|
1323
|
+
spectrum: { channelSelector: "Oxygen", url: "https://watch.spectrum.net/guide" },
|
|
1324
|
+
xfinity: { channelSelector: "Oxygen True Crime", url: "https://www.xfinity.com/stream/listings" },
|
|
1325
|
+
yttv: { channelSelector: "Oxygen True Crime", url: "https://tv.youtube.com/live" },
|
|
1326
|
+
},
|
|
1327
|
+
},
|
|
1328
|
+
oxygenp: {
|
|
1329
|
+
name: "Oxygen (Pacific)",
|
|
1330
|
+
stationId: "74032",
|
|
1331
|
+
providers: {
|
|
1332
|
+
site: { channelSelector: "Oxygen_West", url: "https://www.usanetwork.com/live" },
|
|
1333
|
+
},
|
|
1334
|
+
},
|
|
1335
|
+
paramount: {
|
|
1336
|
+
name: "Paramount Network",
|
|
1337
|
+
stationId: "59186",
|
|
1338
|
+
providers: {
|
|
1339
|
+
cox: { channelSelector: "Paramount Network", url: "https://watchtv.cox.com/listings" },
|
|
1340
|
+
hulu: { channelSelector: "Paramount Network", url: "https://www.hulu.com/live" },
|
|
1341
|
+
spectrum: { channelSelector: "Paramount Network", url: "https://watch.spectrum.net/guide" },
|
|
1342
|
+
xfinity: { channelSelector: "Paramount Network", url: "https://www.xfinity.com/stream/listings" },
|
|
1343
|
+
yttv: { channelSelector: "Paramount", url: "https://tv.youtube.com/live" },
|
|
1344
|
+
},
|
|
1345
|
+
},
|
|
1346
|
+
paramountp: {
|
|
1347
|
+
name: "Paramount (Pacific)",
|
|
1348
|
+
stationId: "64593",
|
|
1349
|
+
providers: {
|
|
1350
|
+
yttv: { channelSelector: "Paramount Network", url: "https://tv.youtube.com/live" },
|
|
1351
|
+
},
|
|
1352
|
+
},
|
|
1353
|
+
pbs: {
|
|
1354
|
+
name: "PBS",
|
|
1355
|
+
providers: {
|
|
1356
|
+
cox: { channelSelector: "PBS", url: "https://watchtv.cox.com/listings" },
|
|
1357
|
+
directv: { channelSelector: "PBS", url: "https://stream.directv.com" },
|
|
1358
|
+
hulu: { channelSelector: "PBS", url: "https://www.hulu.com/live" },
|
|
1359
|
+
spectrum: { channelSelector: "PBS", url: "https://watch.spectrum.net/guide" },
|
|
1360
|
+
xfinity: { channelSelector: "PBS", url: "https://www.xfinity.com/stream/listings" },
|
|
1361
|
+
yttv: { channelSelector: "PBS", url: "https://tv.youtube.com/live" },
|
|
1362
|
+
},
|
|
1363
|
+
},
|
|
1364
|
+
pbschicago: {
|
|
1365
|
+
name: "PBS Chicago (WTTW)",
|
|
1366
|
+
stationId: "30415",
|
|
1367
|
+
providers: {
|
|
1368
|
+
hulu: { channelSelector: "PBS", url: "https://www.hulu.com/live" },
|
|
1369
|
+
site: { url: "https://www.wttw.com/wttw-live-stream" },
|
|
1370
|
+
},
|
|
1371
|
+
},
|
|
1372
|
+
pbslakeshore: {
|
|
1373
|
+
name: "PBS Lakeshore (WYIN)",
|
|
1374
|
+
stationId: "49237",
|
|
1375
|
+
providers: {
|
|
1376
|
+
hulu: { channelSelector: "Lakeshore PBS", url: "https://www.hulu.com/live" },
|
|
1377
|
+
site: { url: "https://video.lakeshorepbs.org/livestream" },
|
|
1378
|
+
},
|
|
1379
|
+
},
|
|
1380
|
+
retroplex: {
|
|
1381
|
+
name: "RetroPlex",
|
|
1382
|
+
stationId: "65791",
|
|
1383
|
+
providers: {
|
|
1384
|
+
hulu: { channelSelector: "RetroPlex (East)", url: "https://www.hulu.com/live" },
|
|
1385
|
+
sling: { channelSelector: "RetroPlex", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1386
|
+
spectrum: { channelSelector: "RetroPlex", url: "https://watch.spectrum.net/guide" },
|
|
1387
|
+
},
|
|
1388
|
+
},
|
|
1389
|
+
retroplexp: {
|
|
1390
|
+
name: "RetroPlex (Pacific)",
|
|
1391
|
+
stationId: "65793",
|
|
1392
|
+
providers: {
|
|
1393
|
+
hulu: { channelSelector: "RetroPlex (West)", url: "https://www.hulu.com/live" },
|
|
1394
|
+
},
|
|
1395
|
+
},
|
|
1396
|
+
science: {
|
|
1397
|
+
name: "Science",
|
|
1398
|
+
stationId: "57390",
|
|
1399
|
+
providers: {
|
|
1400
|
+
cox: { channelSelector: "Science Channel", url: "https://watchtv.cox.com/listings" },
|
|
1401
|
+
directv: { channelSelector: "Science", url: "https://stream.directv.com" },
|
|
1402
|
+
site: { url: "https://watch.foodnetwork.com/channel/science" },
|
|
1403
|
+
spectrum: { channelSelector: "Science", url: "https://watch.spectrum.net/guide" },
|
|
1404
|
+
xfinity: { channelSelector: "Science Channel", url: "https://www.xfinity.com/stream/listings" },
|
|
1405
|
+
},
|
|
1406
|
+
},
|
|
1407
|
+
showtime: {
|
|
1408
|
+
name: "Showtime",
|
|
1409
|
+
stationId: "91620",
|
|
1410
|
+
providers: {
|
|
1411
|
+
cox: { channelSelector: "PSHOh", url: "https://watchtv.cox.com/listings" },
|
|
1412
|
+
paramountplus: { url: "https://www.paramountplus.com/live-tv/stream/showtime-east" },
|
|
1413
|
+
xfinity: { channelSelector: "PSHOh", url: "https://www.xfinity.com/stream/listings" },
|
|
1414
|
+
yttv: { channelSelector: "Showtime East", url: "https://tv.youtube.com/live" },
|
|
1415
|
+
},
|
|
1416
|
+
},
|
|
1417
|
+
showtimep: {
|
|
1418
|
+
name: "Showtime (Pacific)",
|
|
1419
|
+
stationId: "91621",
|
|
1420
|
+
providers: {
|
|
1421
|
+
paramountplus: { url: "https://www.paramountplus.com/live-tv/stream/showtime-west" },
|
|
1422
|
+
},
|
|
1423
|
+
},
|
|
1424
|
+
smithsonian: {
|
|
1425
|
+
name: "Smithsonian Channel",
|
|
1426
|
+
pacificStationId: "82695",
|
|
1427
|
+
stationId: "58532",
|
|
1428
|
+
providers: {
|
|
1429
|
+
cox: { channelSelector: "Smithsonian", url: "https://watchtv.cox.com/listings" },
|
|
1430
|
+
directv: { channelSelector: "Smithsonian Channel HD", url: "https://stream.directv.com" },
|
|
1431
|
+
hulu: { channelSelector: "Smithsonian Channel", url: "https://www.hulu.com/live" },
|
|
1432
|
+
spectrum: { channelSelector: "Smithsonian Channel", url: "https://watch.spectrum.net/guide" },
|
|
1433
|
+
xfinity: { channelSelector: "Smithsonian", url: "https://www.xfinity.com/stream/listings" },
|
|
1434
|
+
yttv: { channelSelector: "Smithsonian Channel", url: "https://tv.youtube.com/live" },
|
|
1435
|
+
},
|
|
1436
|
+
},
|
|
1437
|
+
sny: {
|
|
1438
|
+
name: "SportsNet New York",
|
|
1439
|
+
stationId: "50038",
|
|
1440
|
+
providers: {
|
|
1441
|
+
directv: { channelSelector: "SportsNet New York HD 639", url: "https://stream.directv.com" },
|
|
1442
|
+
},
|
|
1443
|
+
},
|
|
1444
|
+
starz: {
|
|
1445
|
+
name: "Starz",
|
|
1446
|
+
stationId: "34941",
|
|
1447
|
+
providers: {
|
|
1448
|
+
cox: { channelSelector: "STARZ", url: "https://watchtv.cox.com/listings" },
|
|
1449
|
+
hulu: { channelSelector: "STARZ (East)", url: "https://www.hulu.com/live" },
|
|
1450
|
+
site: { url: "https://www.starz.com/us/en/play/2" },
|
|
1451
|
+
sling: { channelSelector: "STARZ", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1452
|
+
xfinity: { channelSelector: "STARZ", url: "https://www.xfinity.com/stream/listings" },
|
|
1453
|
+
},
|
|
1454
|
+
},
|
|
1455
|
+
starzcinema: {
|
|
1456
|
+
name: "Starz Cinema",
|
|
1457
|
+
stationId: "67236",
|
|
1458
|
+
providers: {
|
|
1459
|
+
hulu: { channelSelector: "STARZ Cinema (East)", url: "https://www.hulu.com/live" },
|
|
1460
|
+
sling: { channelSelector: "Starz Cinema", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1461
|
+
},
|
|
1462
|
+
},
|
|
1463
|
+
starzcinemap: {
|
|
1464
|
+
name: "Starz Cinema (Pacific)",
|
|
1465
|
+
stationId: "67365",
|
|
1466
|
+
providers: {
|
|
1467
|
+
hulu: { channelSelector: "STARZ Cinema (West)", url: "https://www.hulu.com/live" },
|
|
1468
|
+
},
|
|
1469
|
+
},
|
|
1470
|
+
starzcomedy: {
|
|
1471
|
+
name: "Starz Comedy",
|
|
1472
|
+
stationId: "57569",
|
|
1473
|
+
providers: {
|
|
1474
|
+
hulu: { channelSelector: "STARZ Comedy (East)", url: "https://www.hulu.com/live" },
|
|
1475
|
+
sling: { channelSelector: "Starz Comedy", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1476
|
+
},
|
|
1477
|
+
},
|
|
1478
|
+
starzcomedyp: {
|
|
1479
|
+
name: "Starz Comedy (Pacific)",
|
|
1480
|
+
stationId: "57575",
|
|
1481
|
+
providers: {
|
|
1482
|
+
hulu: { channelSelector: "STARZ Comedy (West)", url: "https://www.hulu.com/live" },
|
|
1483
|
+
},
|
|
1484
|
+
},
|
|
1485
|
+
starzedge: {
|
|
1486
|
+
name: "Starz Edge",
|
|
1487
|
+
stationId: "57573",
|
|
1488
|
+
providers: {
|
|
1489
|
+
hulu: { channelSelector: "STARZ Edge (East)", url: "https://www.hulu.com/live" },
|
|
1490
|
+
sling: { channelSelector: "Starz Edge", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1491
|
+
},
|
|
1492
|
+
},
|
|
1493
|
+
starzedgep: {
|
|
1494
|
+
name: "Starz Edge (Pacific)",
|
|
1495
|
+
stationId: "57578",
|
|
1496
|
+
providers: {
|
|
1497
|
+
hulu: { channelSelector: "STARZ Edge (West)", url: "https://www.hulu.com/live" },
|
|
1498
|
+
},
|
|
1499
|
+
},
|
|
1500
|
+
starzencore: {
|
|
1501
|
+
name: "Starz Encore",
|
|
1502
|
+
stationId: "36225",
|
|
1503
|
+
providers: {
|
|
1504
|
+
cox: { channelSelector: "STZEH", url: "https://watchtv.cox.com/listings" },
|
|
1505
|
+
hulu: { channelSelector: "STARZ Encore (East)", url: "https://www.hulu.com/live" },
|
|
1506
|
+
sling: { channelSelector: "Starz Encore", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1507
|
+
xfinity: { channelSelector: "STZEH", url: "https://www.xfinity.com/stream/listings" },
|
|
1508
|
+
},
|
|
1509
|
+
},
|
|
1510
|
+
starzencoreaction: {
|
|
1511
|
+
name: "Starz Encore Action",
|
|
1512
|
+
stationId: "72015",
|
|
1513
|
+
providers: {
|
|
1514
|
+
cox: { channelSelector: "STZAH", url: "https://watchtv.cox.com/listings" },
|
|
1515
|
+
hulu: { channelSelector: "STARZ Encore Action (East)", url: "https://www.hulu.com/live" },
|
|
1516
|
+
sling: { channelSelector: "Starz Encore Action", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1517
|
+
xfinity: { channelSelector: "STZAH", url: "https://www.xfinity.com/stream/listings" },
|
|
1518
|
+
},
|
|
1519
|
+
},
|
|
1520
|
+
starzencoreactionp: {
|
|
1521
|
+
name: "Starz Encore Action (Pacific)",
|
|
1522
|
+
stationId: "103833",
|
|
1523
|
+
providers: {
|
|
1524
|
+
hulu: { channelSelector: "STARZ Encore Action (West)", url: "https://www.hulu.com/live" },
|
|
1525
|
+
},
|
|
1526
|
+
},
|
|
1527
|
+
starzencoreblack: {
|
|
1528
|
+
name: "Starz Encore Black",
|
|
1529
|
+
stationId: "72014",
|
|
1530
|
+
providers: {
|
|
1531
|
+
cox: { channelSelector: "STZBH", url: "https://watchtv.cox.com/listings" },
|
|
1532
|
+
hulu: { channelSelector: "STARZ Encore Black (East)", url: "https://www.hulu.com/live" },
|
|
1533
|
+
sling: { channelSelector: "Starz Encore Black", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1534
|
+
xfinity: { channelSelector: "STZBH", url: "https://www.xfinity.com/stream/listings" },
|
|
1535
|
+
},
|
|
1536
|
+
},
|
|
1537
|
+
starzencoreblackp: {
|
|
1538
|
+
name: "Starz Encore Black (Pacific)",
|
|
1539
|
+
stationId: "103834",
|
|
1540
|
+
providers: {
|
|
1541
|
+
hulu: { channelSelector: "STARZ Encore Black (West)", url: "https://www.hulu.com/live" },
|
|
1542
|
+
},
|
|
1543
|
+
},
|
|
1544
|
+
starzencoreclassic: {
|
|
1545
|
+
name: "Starz Encore Classic",
|
|
1546
|
+
stationId: "83404",
|
|
1547
|
+
providers: {
|
|
1548
|
+
hulu: { channelSelector: "STARZ Encore Classic (East)", url: "https://www.hulu.com/live" },
|
|
1549
|
+
sling: { channelSelector: "Starz Encore Classic", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1550
|
+
},
|
|
1551
|
+
},
|
|
1552
|
+
starzencoreclassicp: {
|
|
1553
|
+
name: "Starz Encore Classic (Pacific)",
|
|
1554
|
+
stationId: "97233",
|
|
1555
|
+
providers: {
|
|
1556
|
+
hulu: { channelSelector: "STARZ Encore Classic (West)", url: "https://www.hulu.com/live" },
|
|
1557
|
+
},
|
|
1558
|
+
},
|
|
1559
|
+
starzencoreespanol: {
|
|
1560
|
+
name: "Starz Encore Español",
|
|
1561
|
+
stationId: "72016",
|
|
1562
|
+
providers: {
|
|
1563
|
+
hulu: { channelSelector: "STARZ Encore Español (East)", url: "https://www.hulu.com/live" },
|
|
1564
|
+
sling: { channelSelector: "Starz Encore Español", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1565
|
+
},
|
|
1566
|
+
},
|
|
1567
|
+
starzencoreespanolp: {
|
|
1568
|
+
name: "Starz Encore Español (Pacific)",
|
|
1569
|
+
stationId: "104730",
|
|
1570
|
+
providers: {
|
|
1571
|
+
hulu: { channelSelector: "STARZ Encore Español (West)", url: "https://www.hulu.com/live" },
|
|
1572
|
+
},
|
|
1573
|
+
},
|
|
1574
|
+
starzencorefamily: {
|
|
1575
|
+
name: "Starz Encore Family",
|
|
1576
|
+
stationId: "14886",
|
|
1577
|
+
providers: {
|
|
1578
|
+
hulu: { channelSelector: "STARZ Encore Family (East)", url: "https://www.hulu.com/live" },
|
|
1579
|
+
sling: { channelSelector: "Starz Encore Family", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1580
|
+
},
|
|
1581
|
+
},
|
|
1582
|
+
starzencorefamilyp: {
|
|
1583
|
+
name: "Starz Encore Family (Pacific)",
|
|
1584
|
+
stationId: "103829",
|
|
1585
|
+
providers: {
|
|
1586
|
+
hulu: { channelSelector: "STARZ Encore Family (West)", url: "https://www.hulu.com/live" },
|
|
1587
|
+
},
|
|
1588
|
+
},
|
|
1589
|
+
starzencorep: {
|
|
1590
|
+
name: "Starz Encore (Pacific)",
|
|
1591
|
+
stationId: "67237",
|
|
1592
|
+
providers: {
|
|
1593
|
+
hulu: { channelSelector: "STARZ Encore (West)", url: "https://www.hulu.com/live" },
|
|
1594
|
+
sling: { channelSelector: "Starz Encore West", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1595
|
+
},
|
|
1596
|
+
},
|
|
1597
|
+
starzencoresuspense: {
|
|
1598
|
+
name: "Starz Encore Suspense",
|
|
1599
|
+
stationId: "83076",
|
|
1600
|
+
providers: {
|
|
1601
|
+
hulu: { channelSelector: "STARZ Encore Suspense (East)", url: "https://www.hulu.com/live" },
|
|
1602
|
+
sling: { channelSelector: "Starz Encore Suspense", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1603
|
+
},
|
|
1604
|
+
},
|
|
1605
|
+
starzencoresuspensep: {
|
|
1606
|
+
name: "Starz Encore Suspense (Pacific)",
|
|
1607
|
+
stationId: "103836",
|
|
1608
|
+
providers: {
|
|
1609
|
+
hulu: { channelSelector: "STARZ Encore Suspense (West)", url: "https://www.hulu.com/live" },
|
|
1610
|
+
},
|
|
1611
|
+
},
|
|
1612
|
+
starzencorewesterns: {
|
|
1613
|
+
name: "Starz Encore Westerns",
|
|
1614
|
+
stationId: "14765",
|
|
1615
|
+
providers: {
|
|
1616
|
+
hulu: { channelSelector: "STARZ Encore Westerns (East)", url: "https://www.hulu.com/live" },
|
|
1617
|
+
sling: { channelSelector: "Starz Encore Westerns", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1618
|
+
},
|
|
1619
|
+
},
|
|
1620
|
+
starzencorewesternsp: {
|
|
1621
|
+
name: "Starz Encore Westerns (Pacific)",
|
|
1622
|
+
stationId: "103856",
|
|
1623
|
+
providers: {
|
|
1624
|
+
hulu: { channelSelector: "STARZ Encore Westerns (West)", url: "https://www.hulu.com/live" },
|
|
1625
|
+
},
|
|
1626
|
+
},
|
|
1627
|
+
starzinblack: {
|
|
1628
|
+
name: "Starz in Black",
|
|
1629
|
+
stationId: "67235",
|
|
1630
|
+
providers: {
|
|
1631
|
+
hulu: { channelSelector: "STARZ in Black (East)", url: "https://www.hulu.com/live" },
|
|
1632
|
+
sling: { channelSelector: "Starz in Black", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1633
|
+
},
|
|
1634
|
+
},
|
|
1635
|
+
starzinblackp: {
|
|
1636
|
+
name: "Starz in Black (Pacific)",
|
|
1637
|
+
stationId: "67367",
|
|
1638
|
+
providers: {
|
|
1639
|
+
hulu: { channelSelector: "STARZ in Black (West)", url: "https://www.hulu.com/live" },
|
|
1640
|
+
},
|
|
1641
|
+
},
|
|
1642
|
+
starzkids: {
|
|
1643
|
+
name: "Starz Kids",
|
|
1644
|
+
stationId: "57581",
|
|
1645
|
+
providers: {
|
|
1646
|
+
hulu: { channelSelector: "STARZ Kids (East)", url: "https://www.hulu.com/live" },
|
|
1647
|
+
sling: { channelSelector: "Starz Kids", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1648
|
+
},
|
|
1649
|
+
},
|
|
1650
|
+
starzkidsp: {
|
|
1651
|
+
name: "Starz Kids (Pacific)",
|
|
1652
|
+
stationId: "57583",
|
|
1653
|
+
providers: {
|
|
1654
|
+
hulu: { channelSelector: "STARZ Kids (West)", url: "https://www.hulu.com/live" },
|
|
1655
|
+
},
|
|
1656
|
+
},
|
|
1657
|
+
starzp: {
|
|
1658
|
+
name: "Starz (Pacific)",
|
|
1659
|
+
stationId: "34949",
|
|
1660
|
+
providers: {
|
|
1661
|
+
hulu: { channelSelector: "STARZ (West)", url: "https://www.hulu.com/live" },
|
|
1662
|
+
sling: { channelSelector: "Starz West", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1663
|
+
},
|
|
1664
|
+
},
|
|
1665
|
+
sundancetv: {
|
|
1666
|
+
name: "SundanceTV",
|
|
1667
|
+
pacificStationId: "78806",
|
|
1668
|
+
stationId: "71280",
|
|
1669
|
+
providers: {
|
|
1670
|
+
cox: { channelSelector: "SundanceTV", url: "https://watchtv.cox.com/listings" },
|
|
1671
|
+
directv: { channelSelector: "Sundance TV", url: "https://stream.directv.com" },
|
|
1672
|
+
spectrum: { channelSelector: "SundanceTV", url: "https://watch.spectrum.net/guide" },
|
|
1673
|
+
xfinity: { channelSelector: "SundanceTV", url: "https://www.xfinity.com/stream/listings" },
|
|
1674
|
+
yttv: { channelSelector: "SundanceTV", url: "https://tv.youtube.com/live" },
|
|
1675
|
+
},
|
|
1676
|
+
},
|
|
1677
|
+
syfy: {
|
|
1678
|
+
name: "Syfy",
|
|
1679
|
+
stationId: "58623",
|
|
1680
|
+
providers: {
|
|
1681
|
+
cox: { channelSelector: "SYFY", url: "https://watchtv.cox.com/listings" },
|
|
1682
|
+
directv: { channelSelector: "Syfy", url: "https://stream.directv.com" },
|
|
1683
|
+
hulu: { channelSelector: "SYFY", url: "https://www.hulu.com/live" },
|
|
1684
|
+
site: { channelSelector: "Syfy_East", url: "https://www.usanetwork.com/live" },
|
|
1685
|
+
sling: { channelSelector: "SYFY", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1686
|
+
spectrum: { channelSelector: "Syfy", url: "https://watch.spectrum.net/guide" },
|
|
1687
|
+
xfinity: { channelSelector: "SYFY", url: "https://www.xfinity.com/stream/listings" },
|
|
1688
|
+
yttv: { channelSelector: "SYFY", url: "https://tv.youtube.com/live" },
|
|
1689
|
+
},
|
|
1690
|
+
},
|
|
1691
|
+
syfyp: {
|
|
1692
|
+
name: "Syfy (Pacific)",
|
|
1693
|
+
stationId: "65626",
|
|
1694
|
+
providers: {
|
|
1695
|
+
site: { channelSelector: "Syfy_West", url: "https://www.usanetwork.com/live" },
|
|
1696
|
+
},
|
|
1697
|
+
},
|
|
1698
|
+
tbs: {
|
|
1699
|
+
name: "TBS",
|
|
1700
|
+
stationId: "58515",
|
|
1701
|
+
providers: {
|
|
1702
|
+
cox: { channelSelector: "TBS", url: "https://watchtv.cox.com/listings" },
|
|
1703
|
+
directv: { channelSelector: "TBS", url: "https://stream.directv.com" },
|
|
1704
|
+
hulu: { channelSelector: "TBS (East)", url: "https://www.hulu.com/live" },
|
|
1705
|
+
site: { url: "https://www.tbs.com/watchtbs/east" },
|
|
1706
|
+
sling: { channelSelector: "TBS", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1707
|
+
spectrum: { channelSelector: "TBS", url: "https://watch.spectrum.net/guide" },
|
|
1708
|
+
xfinity: { channelSelector: "TBS", url: "https://www.xfinity.com/stream/listings" },
|
|
1709
|
+
yttv: { channelSelector: "TBS", url: "https://tv.youtube.com/live" },
|
|
1710
|
+
},
|
|
1711
|
+
},
|
|
1712
|
+
tbsp: {
|
|
1713
|
+
name: "TBS (Pacific)",
|
|
1714
|
+
stationId: "67890",
|
|
1715
|
+
providers: {
|
|
1716
|
+
hulu: { channelSelector: "TBS (West)", url: "https://www.hulu.com/live" },
|
|
1717
|
+
site: { url: "https://www.tbs.com/watchtbs/west" },
|
|
1718
|
+
},
|
|
1719
|
+
},
|
|
1720
|
+
tcm: {
|
|
1721
|
+
name: "TCM",
|
|
1722
|
+
stationId: "64312",
|
|
1723
|
+
providers: {
|
|
1724
|
+
cox: { channelSelector: "TCM", url: "https://watchtv.cox.com/listings" },
|
|
1725
|
+
directv: { channelSelector: "TCM", url: "https://stream.directv.com" },
|
|
1726
|
+
hulu: { channelSelector: "TCM (East)", url: "https://www.hulu.com/live" },
|
|
1727
|
+
spectrum: { channelSelector: "TCM", url: "https://watch.spectrum.net/guide" },
|
|
1728
|
+
xfinity: { channelSelector: "TCM", url: "https://www.xfinity.com/stream/listings" },
|
|
1729
|
+
yttv: { channelSelector: "Turner Classic Movies", url: "https://tv.youtube.com/live" },
|
|
1730
|
+
},
|
|
1731
|
+
},
|
|
1732
|
+
tcmp: {
|
|
1733
|
+
name: "TCM (Pacific)",
|
|
1734
|
+
stationId: "64312",
|
|
1735
|
+
tvgShift: 3,
|
|
1736
|
+
providers: {
|
|
1737
|
+
hulu: { channelSelector: "TCM (West)", url: "https://www.hulu.com/live" },
|
|
1738
|
+
},
|
|
1739
|
+
},
|
|
1740
|
+
tennis: {
|
|
1741
|
+
name: "Tennis Channel",
|
|
1742
|
+
stationId: "60316",
|
|
1743
|
+
providers: {
|
|
1744
|
+
cox: { channelSelector: "Tennis Channel", url: "https://watchtv.cox.com/listings" },
|
|
1745
|
+
directv: { channelSelector: "Tennis Channel HD", url: "https://stream.directv.com" },
|
|
1746
|
+
spectrum: { channelSelector: "Tennis Channel", url: "https://watch.spectrum.net/guide" },
|
|
1747
|
+
xfinity: { channelSelector: "Tennis Channel", url: "https://www.xfinity.com/stream/listings" },
|
|
1748
|
+
yttv: { channelSelector: "Tennis Channel", url: "https://tv.youtube.com/live" },
|
|
1749
|
+
},
|
|
1750
|
+
},
|
|
1751
|
+
tennis2: {
|
|
1752
|
+
name: "Tennis Channel 2",
|
|
1753
|
+
stationId: "137752",
|
|
1754
|
+
providers: {
|
|
1755
|
+
cox: { channelSelector: "T2", url: "https://watchtv.cox.com/listings" },
|
|
1756
|
+
hulu: { channelSelector: "Tennis Channel 2", url: "https://www.hulu.com/live" },
|
|
1757
|
+
sling: { channelSelector: "T2", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1758
|
+
xfinity: { channelSelector: "T2", url: "https://www.xfinity.com/stream/listings" },
|
|
1759
|
+
yttv: { channelSelector: "T2", url: "https://tv.youtube.com/live" },
|
|
1760
|
+
},
|
|
1761
|
+
},
|
|
1762
|
+
tlc: {
|
|
1763
|
+
name: "TLC",
|
|
1764
|
+
pacificStationId: "79911",
|
|
1765
|
+
stationId: "57391",
|
|
1766
|
+
providers: {
|
|
1767
|
+
cox: { channelSelector: "TLC", url: "https://watchtv.cox.com/listings" },
|
|
1768
|
+
directv: { channelSelector: "TLC", url: "https://stream.directv.com" },
|
|
1769
|
+
hulu: { channelSelector: "TLC", url: "https://www.hulu.com/live" },
|
|
1770
|
+
site: { url: "https://watch.foodnetwork.com/channel/tlc" },
|
|
1771
|
+
sling: { channelSelector: "TLC", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1772
|
+
spectrum: { channelSelector: "TLC", url: "https://watch.spectrum.net/guide" },
|
|
1773
|
+
xfinity: { channelSelector: "TLC", url: "https://www.xfinity.com/stream/listings" },
|
|
1774
|
+
yttv: { channelSelector: "TLC", url: "https://tv.youtube.com/live" },
|
|
1775
|
+
},
|
|
1776
|
+
},
|
|
1777
|
+
tnt: {
|
|
1778
|
+
name: "TNT",
|
|
1779
|
+
stationId: "42642",
|
|
1780
|
+
providers: {
|
|
1781
|
+
cox: { channelSelector: "TNT", url: "https://watchtv.cox.com/listings" },
|
|
1782
|
+
directv: { channelSelector: "TNT", url: "https://stream.directv.com" },
|
|
1783
|
+
hulu: { channelSelector: "TNT (East)", url: "https://www.hulu.com/live" },
|
|
1784
|
+
site: { url: "https://www.tntdrama.com/watchtnt/east" },
|
|
1785
|
+
sling: { channelSelector: "TNT", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1786
|
+
spectrum: { channelSelector: "TNT", url: "https://watch.spectrum.net/guide" },
|
|
1787
|
+
xfinity: { channelSelector: "TNT", url: "https://www.xfinity.com/stream/listings" },
|
|
1788
|
+
yttv: { channelSelector: "TNT", url: "https://tv.youtube.com/live" },
|
|
1789
|
+
},
|
|
1790
|
+
},
|
|
1791
|
+
tntp: {
|
|
1792
|
+
name: "TNT (Pacific)",
|
|
1793
|
+
stationId: "61340",
|
|
1794
|
+
providers: {
|
|
1795
|
+
hulu: { channelSelector: "TNT (West)", url: "https://www.hulu.com/live" },
|
|
1796
|
+
site: { url: "https://www.tntdrama.com/watchtnt/west" },
|
|
1797
|
+
},
|
|
1798
|
+
},
|
|
1799
|
+
travel: {
|
|
1800
|
+
name: "Travel",
|
|
1801
|
+
pacificStationId: "64525",
|
|
1802
|
+
stationId: "59303",
|
|
1803
|
+
providers: {
|
|
1804
|
+
cox: { channelSelector: "Travel Channel", url: "https://watchtv.cox.com/listings" },
|
|
1805
|
+
directv: { channelSelector: "Travel Channel", url: "https://stream.directv.com" },
|
|
1806
|
+
hulu: { channelSelector: "Travel Channel", url: "https://www.hulu.com/live" },
|
|
1807
|
+
site: { url: "https://watch.foodnetwork.com/channel/travel-channel" },
|
|
1808
|
+
sling: { channelSelector: "Travel Channel", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1809
|
+
spectrum: { channelSelector: "Travel Channel", url: "https://watch.spectrum.net/guide" },
|
|
1810
|
+
xfinity: { channelSelector: "Travel Channel", url: "https://www.xfinity.com/stream/listings" },
|
|
1811
|
+
yttv: { channelSelector: "Travel Channel", url: "https://tv.youtube.com/live" },
|
|
1812
|
+
},
|
|
1813
|
+
},
|
|
1814
|
+
trutv: {
|
|
1815
|
+
name: "truTV",
|
|
1816
|
+
pacificStationId: "65717",
|
|
1817
|
+
stationId: "64490",
|
|
1818
|
+
providers: {
|
|
1819
|
+
cox: { channelSelector: "truTV", url: "https://watchtv.cox.com/listings" },
|
|
1820
|
+
directv: { channelSelector: "truTV", url: "https://stream.directv.com" },
|
|
1821
|
+
hulu: { channelSelector: "truTV (East)", url: "https://www.hulu.com/live" },
|
|
1822
|
+
site: { url: "https://www.trutv.com/watchtrutv/east" },
|
|
1823
|
+
sling: { channelSelector: "truTV", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1824
|
+
spectrum: { channelSelector: "truTV", url: "https://watch.spectrum.net/guide" },
|
|
1825
|
+
xfinity: { channelSelector: "truTV", url: "https://www.xfinity.com/stream/listings" },
|
|
1826
|
+
yttv: { channelSelector: "truTV", url: "https://tv.youtube.com/live" },
|
|
1827
|
+
},
|
|
1828
|
+
},
|
|
1829
|
+
trutvp: {
|
|
1830
|
+
name: "truTV (Pacific)",
|
|
1831
|
+
stationId: "65717",
|
|
1832
|
+
providers: {
|
|
1833
|
+
hulu: { channelSelector: "truTV (West)", url: "https://www.hulu.com/live" },
|
|
1834
|
+
},
|
|
1835
|
+
},
|
|
1836
|
+
tvland: {
|
|
1837
|
+
name: "TV Land",
|
|
1838
|
+
pacificStationId: "74134",
|
|
1839
|
+
stationId: "73541",
|
|
1840
|
+
providers: {
|
|
1841
|
+
cox: { channelSelector: "TV Land", url: "https://watchtv.cox.com/listings" },
|
|
1842
|
+
directv: { channelSelector: "TV Land", url: "https://stream.directv.com" },
|
|
1843
|
+
hulu: { channelSelector: "TV Land", url: "https://www.hulu.com/live" },
|
|
1844
|
+
spectrum: { channelSelector: "TV Land", url: "https://watch.spectrum.net/guide" },
|
|
1845
|
+
xfinity: { channelSelector: "TV Land", url: "https://www.xfinity.com/stream/listings" },
|
|
1846
|
+
yttv: { channelSelector: "TV Land", url: "https://tv.youtube.com/live" },
|
|
1847
|
+
},
|
|
1848
|
+
},
|
|
1849
|
+
usa: {
|
|
1850
|
+
name: "USA Network",
|
|
1851
|
+
stationId: "58452",
|
|
1852
|
+
providers: {
|
|
1853
|
+
cox: { channelSelector: "USA", url: "https://watchtv.cox.com/listings" },
|
|
1854
|
+
directv: { channelSelector: "USA Network", url: "https://stream.directv.com" },
|
|
1855
|
+
hulu: { channelSelector: "USA", url: "https://www.hulu.com/live" },
|
|
1856
|
+
site: { channelSelector: "USA_East", url: "https://www.usanetwork.com/live" },
|
|
1857
|
+
sling: { channelSelector: "USA", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1858
|
+
spectrum: { channelSelector: "USA", url: "https://watch.spectrum.net/guide" },
|
|
1859
|
+
xfinity: { channelSelector: "USA", url: "https://www.xfinity.com/stream/listings" },
|
|
1860
|
+
yttv: { channelSelector: "USA", url: "https://tv.youtube.com/live" },
|
|
1861
|
+
},
|
|
1862
|
+
},
|
|
1863
|
+
usap: {
|
|
1864
|
+
name: "USA Network (Pacific)",
|
|
1865
|
+
stationId: "74030",
|
|
1866
|
+
providers: {
|
|
1867
|
+
site: { channelSelector: "USA_West", url: "https://www.usanetwork.com/live" },
|
|
1868
|
+
},
|
|
1869
|
+
},
|
|
1870
|
+
vh1: {
|
|
1871
|
+
name: "VH1",
|
|
1872
|
+
pacificStationId: "64634",
|
|
1873
|
+
stationId: "60046",
|
|
1874
|
+
providers: {
|
|
1875
|
+
cox: { channelSelector: "VH1", url: "https://watchtv.cox.com/listings" },
|
|
1876
|
+
directv: { channelSelector: "VH1", url: "https://stream.directv.com" },
|
|
1877
|
+
hulu: { channelSelector: "VH1", url: "https://www.hulu.com/live" },
|
|
1878
|
+
site: { url: "https://www.vh1.com/live-tv" },
|
|
1879
|
+
spectrum: { channelSelector: "VH1", url: "https://watch.spectrum.net/guide" },
|
|
1880
|
+
xfinity: { channelSelector: "VH1", url: "https://www.xfinity.com/stream/listings" },
|
|
1881
|
+
yttv: { channelSelector: "VH1", url: "https://tv.youtube.com/live" },
|
|
1882
|
+
},
|
|
1883
|
+
},
|
|
1884
|
+
vice: {
|
|
1885
|
+
name: "Vice",
|
|
1886
|
+
pacificStationId: "92375",
|
|
1887
|
+
stationId: "65732",
|
|
1888
|
+
providers: {
|
|
1889
|
+
cox: { channelSelector: "VICE", url: "https://watchtv.cox.com/listings" },
|
|
1890
|
+
directv: { channelSelector: "VICE", url: "https://stream.directv.com" },
|
|
1891
|
+
hulu: { channelSelector: "Vice", url: "https://www.hulu.com/live" },
|
|
1892
|
+
sling: { channelSelector: "VICE", url: "https://watch.sling.com/dashboard/grid_guide/grid_guide_a_z" },
|
|
1893
|
+
spectrum: { channelSelector: "Vice", url: "https://watch.spectrum.net/guide" },
|
|
1894
|
+
xfinity: { channelSelector: "VICE", url: "https://www.xfinity.com/stream/listings" },
|
|
1895
|
+
},
|
|
1896
|
+
},
|
|
1897
|
+
weather: {
|
|
1898
|
+
name: "The Weather Channel",
|
|
1899
|
+
stationId: "58812",
|
|
1900
|
+
providers: {
|
|
1901
|
+
cox: { channelSelector: "Weather Channel", url: "https://watchtv.cox.com/listings" },
|
|
1902
|
+
directv: { channelSelector: "The Weather Channel HD", url: "https://stream.directv.com" },
|
|
1903
|
+
hulu: { channelSelector: "The Weather Channel", url: "https://www.hulu.com/live" },
|
|
1904
|
+
spectrum: { channelSelector: "The Weather Channel", url: "https://watch.spectrum.net/guide" },
|
|
1905
|
+
xfinity: { channelSelector: "Weather Channel", url: "https://www.xfinity.com/stream/listings" },
|
|
1906
|
+
yttv: { channelSelector: "The Weather Channel", url: "https://tv.youtube.com/live" },
|
|
1907
|
+
},
|
|
1908
|
+
},
|
|
1909
|
+
wetv: {
|
|
1910
|
+
name: "WE tv",
|
|
1911
|
+
pacificStationId: "108192",
|
|
1912
|
+
stationId: "59296",
|
|
1913
|
+
providers: {
|
|
1914
|
+
cox: { channelSelector: "WE tv", url: "https://watchtv.cox.com/listings" },
|
|
1915
|
+
directv: { channelSelector: "WE TV", url: "https://stream.directv.com" },
|
|
1916
|
+
spectrum: { channelSelector: "WE tv", url: "https://watch.spectrum.net/guide" },
|
|
1917
|
+
xfinity: { channelSelector: "WE tv", url: "https://www.xfinity.com/stream/listings" },
|
|
1918
|
+
yttv: { channelSelector: "WE tv", url: "https://tv.youtube.com/live" },
|
|
1919
|
+
},
|
|
1920
|
+
},
|
|
1921
|
+
yes: {
|
|
1922
|
+
name: "YES Network",
|
|
1923
|
+
stationId: "63558",
|
|
1924
|
+
providers: {
|
|
1925
|
+
directv: { channelSelector: "Yes Network HD", url: "https://stream.directv.com" },
|
|
1926
|
+
spectrum: { channelSelector: "YES Network", url: "https://watch.spectrum.net/guide" },
|
|
1927
|
+
},
|
|
1928
|
+
},
|
|
623
1929
|
};
|
|
624
|
-
/* eslint-enable @stylistic/
|
|
1930
|
+
/* eslint-enable @hjdhjd/blank-line-after-open-brace, @stylistic/comma-dangle, sort-keys */
|
|
625
1931
|
// Pacific channel auto-generation.
|
|
626
|
-
/* PrismCast automatically generates Pacific timezone channel
|
|
627
|
-
* that are functionally identical to hand-written ones. Generated
|
|
628
|
-
* the manual definition takes precedence.
|
|
1932
|
+
/* PrismCast automatically generates Pacific timezone channel definitions to reduce manual maintenance. Generation runs at module load, producing definitions
|
|
1933
|
+
* that are functionally identical to hand-written ones. Generated definitions never override manually-defined ones — if a key already exists in
|
|
1934
|
+
* BASE_CHANNEL_DEFINITIONS, the manual definition takes precedence.
|
|
629
1935
|
*
|
|
630
|
-
*
|
|
1936
|
+
* Step 1 — Generate Pacific ChannelDefinitions from East entries with pacificStationId:
|
|
631
1937
|
*
|
|
632
|
-
* When an East
|
|
633
|
-
*
|
|
634
|
-
* Pacific URLs (e.g., bravo_west vs bravo_east) or different Pacific channelSelectors (e.g., E-_West vs E-_East) must define their Pacific canonical manually.
|
|
1938
|
+
* When an East definition has a pacificStationId field and no "{key}p" entry exists in BASE_CHANNEL_DEFINITIONS, a new Pacific ChannelDefinition is created
|
|
1939
|
+
* with the Pacific station ID, " (Pacific)" appended to the name, and an empty providers map (to be filled by Step 2).
|
|
635
1940
|
*
|
|
636
|
-
* Example — adding pacificStationId to the East
|
|
637
|
-
* animal: { name: "Animal Planet", pacificStationId: "68785", stationId: "57394",
|
|
1941
|
+
* Example — adding pacificStationId to the East definition:
|
|
1942
|
+
* animal: { name: "Animal Planet", pacificStationId: "68785", stationId: "57394", providers: { ... } }
|
|
638
1943
|
* Auto-generates:
|
|
639
|
-
* animalp: { name: "Animal Planet (Pacific)", stationId: "68785",
|
|
1944
|
+
* animalp: { name: "Animal Planet (Pacific)", stationId: "68785", providers: {} }
|
|
640
1945
|
*
|
|
641
|
-
*
|
|
1946
|
+
* Step 2 — Merge East providers into Pacific definitions:
|
|
642
1947
|
*
|
|
643
|
-
* For
|
|
644
|
-
*
|
|
645
|
-
*
|
|
646
|
-
* need manual Pacific definitions (e.g., Hulu's "TBS (East)" / "TBS (West)").
|
|
1948
|
+
* For every Pacific definition "{key}p" (manual or generated), if a corresponding East definition "{key}" exists, its providers are merged into the Pacific
|
|
1949
|
+
* definition. Providers are skipped if: (a) they already exist in the Pacific definition, or (b) their channelSelector contains "East" or "West" (these have
|
|
1950
|
+
* timezone-specific entries and need manual Pacific definitions with the correct West selector).
|
|
647
1951
|
*
|
|
648
|
-
* Example — East
|
|
649
|
-
*
|
|
650
|
-
*
|
|
651
|
-
*
|
|
1952
|
+
* Example — East providers merged into auto-generated Pacific:
|
|
1953
|
+
* animal's cox provider: { channelSelector: "Animal Planet", url: "https://watchtv.cox.com/listings" }
|
|
1954
|
+
* Merges into animalp as:
|
|
1955
|
+
* animalp's cox provider: { channelSelector: "Animal Planet", url: "https://watchtv.cox.com/listings" }
|
|
652
1956
|
*
|
|
653
1957
|
* Adding a new channel with Pacific support:
|
|
654
1958
|
*
|
|
655
1959
|
* 1. Look up both East and Pacific HD station IDs in Gracenote (http://localhost:8089/tms/stations/<search>).
|
|
656
|
-
* 2. Add the East
|
|
657
|
-
* 3.
|
|
658
|
-
* 4.
|
|
659
|
-
* 5. If the Pacific version needs a different URL or channelSelector, skip pacificStationId and define the Pacific canonical manually instead.
|
|
660
|
-
*
|
|
661
|
-
* Manual entries always take precedence — generated entries never overwrite existing keys in BASE_CHANNELS.
|
|
1960
|
+
* 2. Add the East definition with both IDs: mychannel: { name: "...", pacificStationId: "PACIFIC_ID", stationId: "EAST_ID", providers: { ... } }
|
|
1961
|
+
* 3. The system auto-generates mychannelp (Pacific definition) and merges all compatible providers.
|
|
1962
|
+
* 4. If the Pacific version needs a different URL or channelSelector for specific providers, define mychannelp manually with those overrides.
|
|
662
1963
|
*/
|
|
663
|
-
function
|
|
1964
|
+
function generatePacificDefinitions(definitions) {
|
|
664
1965
|
const eastWestPattern = /east|west/i;
|
|
665
1966
|
const generated = {};
|
|
666
|
-
//
|
|
667
|
-
for (const [key,
|
|
668
|
-
if (!
|
|
1967
|
+
// Step 1: Generate Pacific ChannelDefinitions from East entries with pacificStationId.
|
|
1968
|
+
for (const [key, def] of Object.entries(definitions)) {
|
|
1969
|
+
if (!def.pacificStationId) {
|
|
669
1970
|
continue;
|
|
670
1971
|
}
|
|
671
1972
|
const pacificKey = key + "p";
|
|
672
|
-
// Manual Pacific
|
|
673
|
-
if (pacificKey in
|
|
1973
|
+
// Manual Pacific definition takes precedence — don't generate.
|
|
1974
|
+
if (pacificKey in definitions) {
|
|
674
1975
|
continue;
|
|
675
1976
|
}
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
stationId:
|
|
680
|
-
url: channel.url
|
|
1977
|
+
generated[pacificKey] = {
|
|
1978
|
+
name: def.name + " (Pacific)",
|
|
1979
|
+
providers: {},
|
|
1980
|
+
stationId: def.pacificStationId
|
|
681
1981
|
};
|
|
682
|
-
generated[pacificKey] = entry;
|
|
683
1982
|
}
|
|
684
|
-
// Merge
|
|
685
|
-
const
|
|
686
|
-
//
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
1983
|
+
// Merge base and generated for Pacific lookup in Step 2.
|
|
1984
|
+
const allDefinitions = { ...definitions, ...generated };
|
|
1985
|
+
// Step 2: Merge East providers into Pacific definitions (both manual and generated). For manually-defined Pacific entries, we create a copy with a fresh
|
|
1986
|
+
// providers map to avoid mutating the input definitions.
|
|
1987
|
+
for (const [pacKey, originalPacDef] of Object.entries(allDefinitions)) {
|
|
1988
|
+
// Only process Pacific keys (ending in "p" with a corresponding East key).
|
|
1989
|
+
if (!pacKey.endsWith("p")) {
|
|
690
1990
|
continue;
|
|
691
1991
|
}
|
|
692
|
-
const
|
|
693
|
-
const
|
|
694
|
-
//
|
|
695
|
-
if (!
|
|
1992
|
+
const eastKey = pacKey.slice(0, -1);
|
|
1993
|
+
const eastDef = definitions[eastKey];
|
|
1994
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
1995
|
+
if (!eastDef) {
|
|
696
1996
|
continue;
|
|
697
1997
|
}
|
|
698
|
-
|
|
699
|
-
const
|
|
700
|
-
//
|
|
701
|
-
|
|
702
|
-
|
|
1998
|
+
// Create a copy with a fresh providers map so we never mutate the input definitions (which are the module-level BASE_CHANNEL_DEFINITIONS).
|
|
1999
|
+
const pacDef = { ...originalPacDef, providers: { ...originalPacDef.providers } };
|
|
2000
|
+
// Merge each East provider into the Pacific definition, skipping existing and East/West-specific selectors.
|
|
2001
|
+
for (const [slug, variant] of Object.entries(eastDef.providers)) {
|
|
2002
|
+
// Don't overwrite existing Pacific providers (manual overrides take precedence).
|
|
2003
|
+
if (slug in pacDef.providers) {
|
|
2004
|
+
continue;
|
|
2005
|
+
}
|
|
2006
|
+
// Skip providers with timezone-specific channelSelectors — these need manual Pacific entries.
|
|
2007
|
+
if (variant.channelSelector && eastWestPattern.test(variant.channelSelector)) {
|
|
2008
|
+
continue;
|
|
2009
|
+
}
|
|
2010
|
+
// Copy the provider variant. We spread to create a new object so the East and Pacific definitions don't share references.
|
|
2011
|
+
pacDef.providers[slug] = { ...variant };
|
|
703
2012
|
}
|
|
704
|
-
|
|
705
|
-
|
|
2013
|
+
generated[pacKey] = pacDef;
|
|
2014
|
+
}
|
|
2015
|
+
return generated;
|
|
2016
|
+
}
|
|
2017
|
+
// Channel definition flattener.
|
|
2018
|
+
/* The flattener compiles nested ChannelDefinition entries into the flat ChannelMap consumed by the rest of the codebase. For each definition, it produces a
|
|
2019
|
+
* canonical flat entry (keyed by the definition key) and variant flat entries (keyed as "{definitionKey}-{providerSlug}").
|
|
2020
|
+
*
|
|
2021
|
+
* Canonical resolution:
|
|
2022
|
+
* 1. If "site" exists in providers, the site provider populates the canonical entry. No "{key}-site" variant is emitted.
|
|
2023
|
+
* 2. Otherwise, providers are sorted alphabetically by key. The first provider populates the canonical entry. No variant key is emitted for it.
|
|
2024
|
+
* 3. All remaining providers produce variant entries keyed as "{key}-{slug}".
|
|
2025
|
+
*
|
|
2026
|
+
* Identity fields (name, stationId, channelNumber, tvgShift) are set on the canonical entry and inherited by all variants. Provider-specific fields
|
|
2027
|
+
* (channelSelector, url, profile, etc.) come from each ProviderVariant. ProviderVariant fields override ChannelDefinition fields when both are set.
|
|
2028
|
+
*/
|
|
2029
|
+
function flattenChannelDefinitions(definitions) {
|
|
2030
|
+
const channels = {};
|
|
2031
|
+
for (const [key, def] of Object.entries(definitions)) {
|
|
2032
|
+
const slugs = Object.keys(def.providers).sort();
|
|
2033
|
+
if (slugs.length === 0) {
|
|
706
2034
|
continue;
|
|
707
2035
|
}
|
|
708
|
-
//
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
2036
|
+
// Determine the canonical provider: "site" wins, otherwise first alphabetically.
|
|
2037
|
+
const canonicalSlug = slugs.includes(SITE_KEY) ? SITE_KEY : slugs[0];
|
|
2038
|
+
const canonicalVariant = def.providers[canonicalSlug];
|
|
2039
|
+
// Build the canonical flat entry with identity fields + canonical provider's fields. pacificStationId is set only on the canonical entry — it drives Pacific
|
|
2040
|
+
// auto-generation and is not meaningful on provider variants.
|
|
2041
|
+
const canonicalEntry = buildFlatEntry(def, canonicalVariant);
|
|
2042
|
+
if (def.pacificStationId) {
|
|
2043
|
+
canonicalEntry.pacificStationId = def.pacificStationId;
|
|
2044
|
+
}
|
|
2045
|
+
channels[key] = canonicalEntry;
|
|
2046
|
+
// Build variant entries for all non-canonical providers. Each variant gets canonicalKey set to the definition key so that buildProviderGroups can group
|
|
2047
|
+
// channels by a single mechanism — scanning canonicalKey — regardless of whether the channel is predefined or user-defined.
|
|
2048
|
+
for (const slug of slugs) {
|
|
2049
|
+
if (slug === canonicalSlug) {
|
|
2050
|
+
continue;
|
|
2051
|
+
}
|
|
2052
|
+
const variantKey = key + "-" + slug;
|
|
2053
|
+
const variant = def.providers[slug];
|
|
2054
|
+
const variantEntry = buildFlatEntry(def, variant);
|
|
2055
|
+
variantEntry.canonicalKey = key;
|
|
2056
|
+
channels[variantKey] = variantEntry;
|
|
712
2057
|
}
|
|
713
|
-
const entry = {
|
|
714
|
-
...(channel.channelSelector ? { channelSelector: channel.channelSelector } : {}),
|
|
715
|
-
url: channel.url
|
|
716
|
-
};
|
|
717
|
-
generated[pacificVariantKey] = entry;
|
|
718
2058
|
}
|
|
719
|
-
return
|
|
2059
|
+
return channels;
|
|
2060
|
+
}
|
|
2061
|
+
/**
|
|
2062
|
+
* Builds a flat Channel entry by merging a ChannelDefinition's identity fields with a ProviderVariant's provider-specific fields. ProviderVariant fields
|
|
2063
|
+
* override ChannelDefinition fields when both are set.
|
|
2064
|
+
* @param def - The parent ChannelDefinition with identity fields.
|
|
2065
|
+
* @param variant - The ProviderVariant with provider-specific fields.
|
|
2066
|
+
* @returns A flat Channel entry.
|
|
2067
|
+
*/
|
|
2068
|
+
function buildFlatEntry(def, variant) {
|
|
2069
|
+
const entry = {
|
|
2070
|
+
name: def.name,
|
|
2071
|
+
url: variant.url
|
|
2072
|
+
};
|
|
2073
|
+
// Identity fields from ChannelDefinition. pacificStationId is intentionally omitted here — it is set only on the canonical entry by the flattener.
|
|
2074
|
+
if (def.stationId) {
|
|
2075
|
+
entry.stationId = def.stationId;
|
|
2076
|
+
}
|
|
2077
|
+
// channelNumber: variant override wins, then definition default.
|
|
2078
|
+
const channelNumber = variant.channelNumber ?? def.channelNumber;
|
|
2079
|
+
if (channelNumber !== undefined) {
|
|
2080
|
+
entry.channelNumber = channelNumber;
|
|
2081
|
+
}
|
|
2082
|
+
// tvgShift from definition only (not overridable per-variant).
|
|
2083
|
+
if (def.tvgShift !== undefined) {
|
|
2084
|
+
entry.tvgShift = def.tvgShift;
|
|
2085
|
+
}
|
|
2086
|
+
// Provider-specific fields from ProviderVariant.
|
|
2087
|
+
if (variant.channelSelector) {
|
|
2088
|
+
entry.channelSelector = variant.channelSelector;
|
|
2089
|
+
}
|
|
2090
|
+
if (variant.dismissSelector) {
|
|
2091
|
+
entry.dismissSelector = variant.dismissSelector;
|
|
2092
|
+
}
|
|
2093
|
+
if (variant.profile) {
|
|
2094
|
+
entry.profile = variant.profile;
|
|
2095
|
+
}
|
|
2096
|
+
if (variant.provider) {
|
|
2097
|
+
entry.provider = variant.provider;
|
|
2098
|
+
}
|
|
2099
|
+
if (variant.scrollSelector) {
|
|
2100
|
+
entry.scrollSelector = variant.scrollSelector;
|
|
2101
|
+
}
|
|
2102
|
+
if (variant.scrollTarget) {
|
|
2103
|
+
entry.scrollTarget = variant.scrollTarget;
|
|
2104
|
+
}
|
|
2105
|
+
if (variant.scrollToBottom !== undefined) {
|
|
2106
|
+
entry.scrollToBottom = variant.scrollToBottom;
|
|
2107
|
+
}
|
|
2108
|
+
return entry;
|
|
720
2109
|
}
|
|
721
|
-
|
|
722
|
-
//
|
|
723
|
-
|
|
2110
|
+
// Compile the nested definitions into flat output.
|
|
2111
|
+
// Pacific-generated entries take precedence over base entries because Step 2 of Pacific generation produces enhanced copies of manual Pacific definitions
|
|
2112
|
+
// (e.g., cartoonp with merged East providers). Base entries for non-Pacific keys are unaffected since they don't appear in the generated map.
|
|
2113
|
+
const allDefinitions = { ...BASE_CHANNEL_DEFINITIONS, ...generatePacificDefinitions(BASE_CHANNEL_DEFINITIONS) };
|
|
2114
|
+
const CHANNELS = flattenChannelDefinitions(allDefinitions);
|
|
2115
|
+
export { CHANNELS, CHANNELS as PREDEFINED_CHANNELS };
|
|
724
2116
|
//# sourceMappingURL=index.js.map
|