mlbserver 2026.4.16 → 2026.4.23
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/index.js +10 -1
- package/package.json +1 -1
- package/session.js +1 -1
package/index.js
CHANGED
|
@@ -540,6 +540,10 @@ function getMasterPlaylist(streamURL, req, res, options = {}) {
|
|
|
540
540
|
}
|
|
541
541
|
|
|
542
542
|
let resolution = options.resolution || VALID_RESOLUTIONS[0]
|
|
543
|
+
// assume 1080p60 resolution is best, to enable fallback to 720p60 when necessary
|
|
544
|
+
if ( resolution == VALID_RESOLUTIONS[1] ) {
|
|
545
|
+
resolution = 'best'
|
|
546
|
+
}
|
|
543
547
|
let audio_track = options.audio_track || VALID_AUDIO_TRACKS[0]
|
|
544
548
|
// if specific audio track is requested, check if master playlist contains it
|
|
545
549
|
if ( (audio_track != VALID_AUDIO_TRACKS[0]) && (audio_track != VALID_AUDIO_TRACKS[6]) ) {
|
|
@@ -2531,7 +2535,10 @@ app.get('/', async function(req, res) {
|
|
|
2531
2535
|
}
|
|
2532
2536
|
|
|
2533
2537
|
if ( mediaType == VALID_MEDIA_TYPES[0] ) {
|
|
2534
|
-
body += '<p><span class="tooltip">Video<span class="tooltiptext">For video streams only: you can manually specifiy a video track (resolution) to use. Adaptive will let your client choose. 1080p60 or 720p60
|
|
2538
|
+
body += '<p><span class="tooltip">Video<span class="tooltiptext">For video streams only: you can manually specifiy a video track (resolution) to use. Adaptive will let your client choose. Best will select either 1080p60 (MLB) or 720p60 (MiLB). 504p is default for multiview (see below).<br/><br/>None will allow to remove the video tracks, if you just want to listen to the audio while using the "start at inning" or "skip breaks" options enabled.</span></span>: '
|
|
2539
|
+
body += '<button '
|
|
2540
|
+
if ( resolution == 'best' ) body += 'class="default" '
|
|
2541
|
+
body += 'onclick="resolution=\'best\';reload()">best</button> '
|
|
2535
2542
|
for (var i = 0; i < VALID_RESOLUTIONS.length; i++) {
|
|
2536
2543
|
body += '<button '
|
|
2537
2544
|
if ( resolution == VALID_RESOLUTIONS[i] ) body += 'class="default" '
|
|
@@ -2742,6 +2749,8 @@ app.get('/', async function(req, res) {
|
|
|
2742
2749
|
}
|
|
2743
2750
|
|
|
2744
2751
|
body += '<p><span class="tooltip">Comskip link examples<span class="tooltiptext">You can generate a <a href="https://github.com/erikkaashoek/Comskip">Comskip</a>-style file to automatically skip sections (breaks, idle time, or non-action pitches) of games you record using DVR software when watched in compatible players. For example, if you record a game from your local OTA channel using Tvheadend, you can then fetch one of these Comskip files, put it in the same directory with the same name as your recorded video file, and Kodi will automatically skip those sections while you watch the video.<br><br>Specifying the team and broadcast_start_timestamp in the URL is required! For the timestamp, use the time your DVR software began the recording. This should be your local time in YYYY-MM-DDTHH:MM:SS format.<br><br>Specifying a skip_adjust value in the URL is recommended, to adjust for broadcast delays. This will vary across different channels and different video sources.<br><br>For the txt file format, specifying the video frame rate (fps) in the URL is also required. This will commonly be either 30, 59.94, or 60, depending on your video source.<br><br>Optionally, setting pad to "on" will generate random extra skips at the end, to help avoid timeline spoilers.</span></span>: <a href="' + http_root + '/comskip.edl?team=CHC&date=2025-10-01&pad=on&skip=pitches&skip_adjust=11&broadcast_start_timestamp=2025-10-01T14:00:00' + content_protect_a + '">comskip.edl</a> or <a href="' + http_root + '/comskip.txt?team=CHC&date=2025-10-01&pad=on&skip=pitches&skip_adjust=11&broadcast_start_timestamp=2025-10-01T14:00:00&fps=59.94' + content_protect_a + '">comskip.txt</a></p>' + "\n"
|
|
2752
|
+
|
|
2753
|
+
body += '<p><span class="tooltip">MPEG-TS examples<span class="tooltiptext">Experimental feature: a MPEGTS output format where you can adjust the audio sync with a URL parameter. Useful if the radio track is a consistent number of seconds ahead or behind the video track. Use positive sync values if radio is early, or negative values if radio is late.</span></span>: <a href="' + http_root + '/stream.ts?team=' + example_team + content_protect_a + '">Stream</a> or <a href="' + http_root + '/stream.ts?team=' + example_team + '&audio_track=radio&sync=2.3' + content_protect_a + '">Stream w/ radio sync</a></p>' + "\n"
|
|
2745
2754
|
|
|
2746
2755
|
body += '</p></td></tr></table><br/>' + "\n"
|
|
2747
2756
|
|
package/package.json
CHANGED
package/session.js
CHANGED
|
@@ -3556,7 +3556,7 @@ class sessionClass {
|
|
|
3556
3556
|
|
|
3557
3557
|
let currentDate = new Date()
|
|
3558
3558
|
if ( !this.cache || !this.cache.bigInningScheduleCacheExpiry || (currentDate > new Date(this.cache.bigInningScheduleCacheExpiry)) ) {
|
|
3559
|
-
|
|
3559
|
+
this.cache.bigInningSchedule = {}
|
|
3560
3560
|
let reqObj = {
|
|
3561
3561
|
url: 'https://watch.product.api.espn.com/api/product/v3/watchespn/web/catalog/ae4eb028-0af3-42e7-8965-9304c5817969?lang=en&features=continueWatching%2Csfb-all%2Cpbov7%2Chigh-volume-row%2Csc4u%2Cguide-menu-header%2Ccutl%2Cheader-quickserve%2Cautoplay%2Cwatch-web-redesign%2CimageRatio58x13%2CpromoTiles%2CopenAuthz%2Cvideo-header%2Cexplore-row%2Cbutton-service%2Cinline-header%2Cflagship&deviceBrand=web&streamMenu=true&headerBgImageWidth=1280&countryCode=US&entitlements=no&tz=UTC-0400&userab=espn_watch_for_you_web-392*watch-fy-a-1642',
|
|
3562
3562
|
headers: {
|