When you paste logs here, put them between two lines of 3 backtick characters
```
Paste lines here
Paste lines here
```
so they're easier to read.
Paste lines here
Paste lines here
When you paste logs here, put them between two lines of 3 backtick characters
```
Paste lines here
Paste lines here
```
so they're easier to read.
Paste lines here
Paste lines here
So far, 50% of recordings are interrupted (7 out of 14)
Seeing more couldn't fetch playlist and couldn't get key errors.
That is helpful. That confirms what I saw when testing today -- the keys are not updating. I think that I can figure out a fix soon but wont have time to do it tonight.
I had to change the way it grabs the playlists compared to the other providers in EPlusTV because it was throwing DATERANGE errors for all playlists and the UHD video had no audio.
The logs seem like the docker is polling the m3u8?
It would be preferable to pass the playlist directly to Channels DVR which has better retry logic.
The EPlusTV docker proxies the m3u8 in order to request it with the proper headers and tokens.
It looks like Channels accepts custom headers piped after the stream URL -- would Channels pick these up from an HTTP redirect too?
So for example, EPlusTV gets a "virtual channel" request at http://localhost:8000/channels/12.m3u8, and then determines that it assigned Mexico vs Portugal from provider X on that virtual channel at this time. At that point, could EPlusTV just do a HTTP 302 temporary redirect to the provider X stream URL, with the piped user-agent and token headers after the URL?
I updated the code for FoxOne and tested. I recorded about 12 different shows and had no failures. The fix should work and I have issued a PR for it.
Thanks, merged into v4.14.2
Just loaded 4.14.2
Got this error???
2025-10-31 17:31:17.131 | Looking for FOX One events...
2025-10-31 17:32:13.501 | Error while loading FoxOne events: AxiosError: timeout of 60000ms exceeded
2025-10-31 17:32:13.501 | at RedirectableRequest.handleRequestTimeout (/app/node_modules/axios/lib/adapters/http.js:570:16)
2025-10-31 17:32:13.501 | at RedirectableRequest.emit (node:events:517:28)
2025-10-31 17:32:13.501 | at RedirectableRequest.emit (node:domain:489:12)
2025-10-31 17:32:13.501 | at Timeout.<anonymous> (/app/node_modules/follow-redirects/index.js:169:12)
2025-10-31 17:32:13.501 | at listOnTimeout (node:internal/timers:569:17)
2025-10-31 17:32:13.501 | at processTimers (node:internal/timers:512:7) {
2025-10-31 17:32:13.501 | code: 'ECONNABORTED',
2025-10-31 17:32:13.501 | config: {
2025-10-31 17:32:13.501 | transitional: {
2025-10-31 17:32:13.501 | silentJSONParsing: true,
2025-10-31 17:32:13.501 | forcedJSONParsing: true,
2025-10-31 17:32:13.501 | clarifyTimeoutError: false
2025-10-31 17:32:13.501 | },
2025-10-31 17:32:13.501 | adapter: [ 'xhr', 'http' ],
2025-10-31 17:32:13.501 | transformRequest: [ [Function: transformRequest] ],
2025-10-31 17:32:13.501 | transformResponse: [ [Function: transformResponse] ],
2025-10-31 17:32:13.501 | timeout: 60000,
2025-10-31 17:32:13.501 | xsrfCookieName: 'XSRF-TOKEN',
2025-10-31 17:32:13.501 | xsrfHeaderName: 'X-XSRF-TOKEN',
2025-10-31 17:32:13.501 | maxContentLength: -1,
2025-10-31 17:32:13.501 | maxBodyLength: -1,
2025-10-31 17:32:13.501 | env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-10-31 17:32:13.501 | validateStatus: [Function: validateStatus],
2025-10-31 17:32:13.501 | headers: AxiosHeaders {
2025-10-31 17:32:13.501 | Accept: 'application/json, text/plain, */*',
2025-10-31 17:32:13.501 | 'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)',
2025-10-31 17:32:13.501 | authorization: 'Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ',
2025-10-31 17:32:13.501 | 'x-fox-apikey': 'Y5st1HoLLOJFlHStA3alOLtGJPS7DUxn',
2025-10-31 17:32:13.501 | 'x-platform-location': 'eyJ2Zm94IjpmYWxzZSwib3ZlcnJpZGUiOmZhbHNlLCJsYXRpdHVkZSI6NDAuODUsImxvbmdpdHVkZSI6LTk2LjcyLCJjaXR5IjoiTGluY29sbiIsInJlZ2lvbiI6Ik5lYnJhc2thIiwiY291bnRyeSI6IlVTIiwiemlwX2NvZGUiOiI2ODUyMSIsInRpbWVfem9uZSI6Ii0wNTowMCIsIm1ldHJvX2NvZGUiOiI3MjIiLCJsb2NhbF9zdGF0aW9uX2NhbGxfc2lnbnMiOlsiS0ZYTCJdLCJuYXRpb25hbF9zdGF0aW9uc19jYWxsX3NpZ24iOlsiQlROIiwiQlROMkZUIiwiQlROM0ZUIiwiQlRONEZUIiwiQlROUDAwMSIsIkJUTlAwMDIiLCJCVE5QMDAzIiwiQlROUDAwNCIsIkJUTlAwMDUiLCJCVE5QMDA2IiwiQlROUDAwNyIsIkJUTlAwMDgiLCJCVE5QMDA5IiwiQlROUDAxMCIsIkJUTlAwMTEiLCJCVE5QMDEyIiwiQlROUDAxMyIsIkJUTlAwMTQiLCJCVE5QMDE1IiwiQlROUDAxNiIsIkJUTlAwMTciLCJCVE5QMDE4IiwiQlROUDAxOSIsIkJUTlAwMjAiLCJCVE5QMDIxIiwiQlROUDAyMiIsIkJUTlAwMjMiLCJCVE5QMDI0IiwiQlROUDAyNSIsIkJUTlAwMjYiLCJCVE5QMDI3IiwiQlROUDAyOCIsIkJUTlAwMjkiLCJCVE5QMDMwIiwiQlROUDAzMSIsIkJUTlAwMzIiLCJCVE5QMDMzIiwiQlROUDAzNCIsIkJUTlAwMzUiLCJCVE5QMDM2IiwiQlROUDAzNyIsIkJUTlAwMzgiLCJCVE5QMDM5IiwiQlROUDA0MCIsIkZBSVRIIiwiRkJOIiwiRkNPUyIsIkZNU0MiLCJGTVNDRk8iLCJGTkMiLCJGTlQiLCJGT1hEIiwiRlMxIiwiRlMyIiwiRlM0SzEiLCJGUzRLMiIsIkZTNEszIiwiRlM0SzUiLCJGU0QiLCJGU0QwMDIiLCJGU0QwMDMiLCJGU0QwMTQiLCJGU0QwMTUiLCJGU0QwMTYiLCJGU0QwMTciLCJGU0QwMTgiLCJGU0QwMTkiLCJGU0QwMjAiLCJGU0ZDIiwiRldYIiwiRlhOMSIsIkZYTjIiLCJGWE4zIiwiRlhONCIsIkZYTjUiLCJGWE42IiwiRlhOQSIsIkZYTkIiLCJHUkRSQU0iLCJLQ1BRRlNUIiwiS0RGV0ZTVCIsIktNU1BGU1QiLCJLUklWRlNUIiwiS1NBWkZTVCIsIktUQkNGU1QiLCJLVFRWRlNUIiwiS1RWVUZTVCIsIkxJVkVOT1ciLCJNVjAwMSIsIk1WMDAyIiwiTVYwMDMiLCJNVjAwNCIsIlNPVUwiLCJUTVoiLCJUTVpGTyIsIldBR0FGU1QiLCJXRkxERlNUIiwiV0lUSUZTVCIsIldKQktGU1QiLCJXTllXRlNUIiwiV09GTEZTVCIsIldUVEdGU1QiLCJXVFZURlNUIiwiV1RYRkZTVCJdLCJwdWJsaWNfaXAiOiIxNjcuMjQ4LjUyLjEwNCIsImNvbm5fc3BlZWQiOiJicm9hZGJhbmQiLCJjb25uX3R5cGUiOiJ3aWZpIn0=',
2025-10-31 17:32:13.501 | 'x-fox-zipcode': '68521',
2025-10-31 17:32:13.501 | 'x-home-zipcode': '68521',
2025-10-31 17:32:13.501 | 'x-fox-home-dma': '722',
2025-10-31 17:32:13.501 | 'x-fox-dma': '722',
2025-10-31 17:32:13.501 | 'x-fox-content-entitlement': 'H4sIAAAAAAAA/1TOwQoCMQwE0B9yBffo0YNH/8F202VhNwlNWvv5goIZb/NmSkmz813GrdnGZHY9ui6nb/egVzg5T8l5XgWrXy4pT0UGGDbOkfGNjIX0j9uKJHbkLvm5YyFMSFOpHheXSjDbBfIMWePLg71/8A4AAP///Dq0cBQBAAA=',
2025-10-31 17:32:13.501 | 'x-fox-userauth': 'Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ',
2025-10-31 17:32:13.501 | 'Accept-Encoding': 'gzip, compress, deflate, br'
2025-10-31 17:32:13.501 | },
2025-10-31 17:32:13.501 | method: 'get',
2025-10-31 17:32:13.501 | url: 'https://api.fox.com/dtc/product/config/v1/init',
2025-10-31 17:32:13.501 | data: undefined
2025-10-31 17:32:13.501 | },
2025-10-31 17:32:13.501 | request: <ref *1> Writable {
2025-10-31 17:32:13.501 | _writableState: WritableState {
2025-10-31 17:32:13.501 | objectMode: false,
2025-10-31 17:32:13.501 | highWaterMark: 16384,
2025-10-31 17:32:13.501 | finalCalled: false,
2025-10-31 17:32:13.501 | needDrain: false,
2025-10-31 17:32:13.501 | ending: false,
2025-10-31 17:32:13.501 | ended: false,
2025-10-31 17:32:13.501 | finished: false,
2025-10-31 17:32:13.501 | destroyed: false,
2025-10-31 17:32:13.501 | decodeStrings: true,
2025-10-31 17:32:13.501 | defaultEncoding: 'utf8',
2025-10-31 17:32:13.501 | length: 0,
2025-10-31 17:32:13.501 | writing: false,
2025-10-31 17:32:13.501 | corked: 0,
2025-10-31 17:32:13.501 | sync: true,
2025-10-31 17:32:13.501 | bufferProcessing: false,
2025-10-31 17:32:13.501 | onwrite: [Function: bound onwrite],
2025-10-31 17:32:13.501 | writecb: null,
2025-10-31 17:32:13.501 | writelen: 0,
2025-10-31 17:32:13.501 | afterWriteTickInfo: null,
2025-10-31 17:32:13.501 | buffered: [],
2025-10-31 17:32:13.501 | bufferedIndex: 0,
2025-10-31 17:32:13.501 | allBuffers: true,
2025-10-31 17:32:13.501 | allNoop: true,
2025-10-31 17:32:13.501 | pendingcb: 0,
2025-10-31 17:32:13.501 | constructed: true,
2025-10-31 17:32:13.501 | prefinished: false,
2025-10-31 17:32:13.501 | errorEmitted: false,
2025-10-31 17:32:13.501 | emitClose: true,
2025-10-31 17:32:13.501 | autoDestroy: true,
2025-10-31 17:32:13.501 | errored: null,
2025-10-31 17:32:13.501 | closed: false,
2025-10-31 17:32:13.501 | closeEmitted: false,
2025-10-31 17:32:13.501 | [Symbol(kOnFinished)]: []
2025-10-31 17:32:13.501 | },
2025-10-31 17:32:13.501 | _events: [Object: null prototype] {
2025-10-31 17:32:13.501 | response: [Function: handleResponse],
2025-10-31 17:32:13.501 | error: [Function: handleRequestError],
2025-10-31 17:32:13.501 | socket: [Array]
2025-10-31 17:32:13.501 | },
2025-10-31 17:32:13.501 | _eventsCount: 3,
2025-10-31 17:32:13.501 | _maxListeners: undefined,
2025-10-31 17:32:13.501 | _options: {
2025-10-31 17:32:13.501 | maxRedirects: 21,
2025-10-31 17:32:13.501 | maxBodyLength: Infinity,
2025-10-31 17:32:13.501 | protocol: 'https:',
2025-10-31 17:32:13.501 | path: '/dtc/product/config/v1/init',
2025-10-31 17:32:13.501 | method: 'GET',
2025-10-31 17:32:13.501 | headers: [Object: null prototype],
2025-10-31 17:32:13.501 | agents: [Object],
2025-10-31 17:32:13.501 | auth: undefined,
2025-10-31 17:32:13.501 | beforeRedirect: [Function: dispatchBeforeRedirect],
2025-10-31 17:32:13.501 | beforeRedirects: [Object],
2025-10-31 17:32:13.501 | hostname: 'api.fox.com',
2025-10-31 17:32:13.501 | port: '',
2025-10-31 17:32:13.501 | agent: undefined,
2025-10-31 17:32:13.501 | nativeProtocols: [Object],
2025-10-31 17:32:13.501 | pathname: '/dtc/product/config/v1/init'
2025-10-31 17:32:13.501 | },
2025-10-31 17:32:13.501 | _ended: true,
2025-10-31 17:32:13.501 | _ending: true,
2025-10-31 17:32:13.501 | _redirectCount: 0,
2025-10-31 17:32:13.501 | _redirects: [],
2025-10-31 17:32:13.501 | _requestBodyLength: 0,
2025-10-31 17:32:13.501 | _requestBodyBuffers: [],
2025-10-31 17:32:13.501 | _onNativeResponse: [Function (anonymous)],
2025-10-31 17:32:13.501 | _currentRequest: ClientRequest {
2025-10-31 17:32:13.501 | _events: [Object: null prototype],
2025-10-31 17:32:13.501 | _eventsCount: 7,
2025-10-31 17:32:13.501 | _maxListeners: undefined,
2025-10-31 17:32:13.501 | outputData: [],
2025-10-31 17:32:13.501 | outputSize: 0,
2025-10-31 17:32:13.501 | writable: true,
2025-10-31 17:32:13.501 | destroyed: false,
2025-10-31 17:32:13.501 | _last: true,
2025-10-31 17:32:13.501 | chunkedEncoding: false,
2025-10-31 17:32:13.502 | shouldKeepAlive: false,
2025-10-31 17:32:13.502 | maxRequestsOnConnectionReached: false,
2025-10-31 17:32:13.502 | _defaultKeepAlive: true,
2025-10-31 17:32:13.502 | useChunkedEncodingByDefault: false,
2025-10-31 17:32:13.502 | sendDate: false,
2025-10-31 17:32:13.502 | _removedConnection: false,
2025-10-31 17:32:13.502 | _removedContLen: false,
2025-10-31 17:32:13.502 | _removedTE: false,
2025-10-31 17:32:13.502 | strictContentLength: false,
2025-10-31 17:32:13.502 | _contentLength: 0,
2025-10-31 17:32:13.502 | _hasBody: true,
2025-10-31 17:32:13.502 | _trailer: '',
2025-10-31 17:32:13.502 | finished: true,
2025-10-31 17:32:13.502 | _headerSent: true,
2025-10-31 17:32:13.502 | _closed: false,
2025-10-31 17:32:13.502 | socket: [TLSSocket],
2025-10-31 17:32:13.502 | _header: 'GET /dtc/product/config/v1/init HTTP/1.1\r\n' +
2025-10-31 17:32:13.502 | 'Accept: application/json, text/plain, */*\r\n' +
2025-10-31 17:32:13.502 | 'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-10-31 17:32:13.502 | 'authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ\r\n' +
2025-10-31 17:32:13.502 | 'x-fox-apikey: Y5st1HoLLOJFlHStA3alOLtGJPS7DUxn\r\n' +
2025-10-31 17:32:13.502 | 'x-platform-location: eyJ2Zm94IjpmYWxzZSwib3ZlcnJpZGUiOmZhbHNlLCJsYXRpdHVkZSI6NDAuODUsImxvbmdpdHVkZSI6LTk2LjcyLCJjaXR5IjoiTGluY29sbiIsInJlZ2lvbiI6Ik5lYnJhc2thIiwiY291bnRyeSI6IlVTIiwiemlwX2NvZGUiOiI2ODUyMSIsInRpbWVfem9uZSI6Ii0wNTowMCIsIm1ldHJvX2NvZGUiOiI3MjIiLCJsb2NhbF9zdGF0aW9uX2NhbGxfc2lnbnMiOlsiS0ZYTCJdLCJuYXRpb25hbF9zdGF0aW9uc19jYWxsX3NpZ24iOlsiQlROIiwiQlROMkZUIiwiQlROM0ZUIiwiQlRONEZUIiwiQlROUDAwMSIsIkJUTlAwMDIiLCJCVE5QMDAzIiwiQlROUDAwNCIsIkJUTlAwMDUiLCJCVE5QMDA2IiwiQlROUDAwNyIsIkJUTlAwMDgiLCJCVE5QMDA5IiwiQlROUDAxMCIsIkJUTlAwMTEiLCJCVE5QMDEyIiwiQlROUDAxMyIsIkJUTlAwMTQiLCJCVE5QMDE1IiwiQlROUDAxNiIsIkJUTlAwMTciLCJCVE5QMDE4IiwiQlROUDAxOSIsIkJUTlAwMjAiLCJCVE5QMDIxIiwiQlROUDAyMiIsIkJUTlAwMjMiLCJCVE5QMDI0IiwiQlROUDAyNSIsIkJUTlAwMjYiLCJCVE5QMDI3IiwiQlROUDAyOCIsIkJUTlAwMjkiLCJCVE5QMDMwIiwiQlROUDAzMSIsIkJUTlAwMzIiLCJCVE5QMDMzIiwiQlROUDAzNCIsIkJUTlAwMzUiLCJCVE5QMDM2IiwiQlROUDAzNyIsIkJUTlAwMzgiLCJCVE5QMDM5IiwiQlROUDA0MCIsIkZBSVRIIiwiRkJOIiwiRkNPUyIsIkZNU0MiLCJGTVNDRk8iLCJGTkMiLCJGTlQiLCJGT1hEIiwiRlMxIiwiRlMyIiwiRlM0SzEiLCJGUzRLMiIsIkZTNEszIiwiRlM0SzUiLCJGU0QiLCJGU0QwMDIiLCJGU0QwMDMiLCJGU0QwMTQiLCJGU0QwMTUiLCJGU0QwMTYiLCJGU0QwMTciLCJGU0QwMTgiLCJGU0QwMTkiLCJGU0QwMjAiLCJGU0ZDIiwiRldYIiwiRlhOMSIsIkZYTjIiLCJGWE4zIiwiRlhONCIsIkZYTjUiLCJGWE42IiwiRlhOQSIsIkZYTkIiLCJHUkRSQU0iLCJLQ1BRRlNUIiwiS0RGV0ZTVCIsIktNU1BGU1QiLCJLUklWRlNUIiwiS1NBWkZTVCIsIktUQkNGU1QiLCJLVFRWRlNUIiwiS1RWVUZTVCIsIkxJVkVOT1ciLCJNVjAwMSIsIk1WMDAyIiwiTVYwMDMiLCJNVjAwNCIsIlNPVUwiLCJUTVoiLCJUTVpGTyIsIldBR0FGU1QiLCJXRkxERlNUIiwiV0lUSUZTVCIsIldKQktGU1QiLCJXTllXRlNUIiwiV09GTEZTVCIsIldUVEdGU1QiLCJXVFZURlNUIiwiV1RYRkZTVCJdLCJwdWJsaWNfaXAiOiIxNjcuMjQ4LjUyLjEwNCIsImNvbm5fc3BlZWQiOiJicm9hZGJhbmQiLCJjb25uX3R5cGUiOiJ3aWZpIn0=\r\n' +
2025-10-31 17:32:13.502 | 'x-fox-zipcode: 68521\r\n' +
2025-10-31 17:32:13.502 | 'x-home-zipcode: 68521\r\n' +
2025-10-31 17:32:13.502 | 'x-fox-home-dma: 722\r\n' +
2025-10-31 17:32:13.502 | 'x-fox-dma: 722\r\n' +
2025-10-31 17:32:13.502 | 'x-fox-content-entitlement: H4sIAAAAAAAA/1TOwQoCMQwE0B9yBffo0YNH/8F202VhNwlNWvv5goIZb/NmSkmz813GrdnGZHY9ui6nb/egVzg5T8l5XgWrXy4pT0UGGDbOkfGNjIX0j9uKJHbkLvm5YyFMSFOpHheXSjDbBfIMWePLg71/8A4AAP///Dq0cBQBAAA=\r\n' +
2025-10-31 17:32:13.502 | 'x-fox-userauth: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ\r\n' +
2025-10-31 17:32:13.502 | 'Accept-Encoding: gzip, compress, deflate, br\r\n' +
2025-10-31 17:32:13.502 | 'Host: api.fox.com\r\n' +
2025-10-31 17:32:13.502 | 'Connection: close\r\n' +
2025-10-31 17:32:13.502 | '\r\n',
2025-10-31 17:32:13.502 | _keepAliveTimeout: 0,
2025-10-31 17:32:13.502 | _onPendingData: [Function: nop],
2025-10-31 17:32:13.502 | agent: [Agent],
2025-10-31 17:32:13.502 | socketPath: undefined,
2025-10-31 17:32:13.502 | method: 'GET',
2025-10-31 17:32:13.502 | maxHeaderSize: undefined,
2025-10-31 17:32:13.502 | insecureHTTPParser: undefined,
2025-10-31 17:32:13.502 | joinDuplicateHeaders: undefined,
2025-10-31 17:32:13.502 | path: '/dtc/product/config/v1/init',
2025-10-31 17:32:13.502 | _ended: false,
2025-10-31 17:32:13.502 | res: null,
2025-10-31 17:32:13.502 | aborted: false,
2025-10-31 17:32:13.502 | timeoutCb: null,
2025-10-31 17:32:13.502 | upgradeOrConnect: false,
2025-10-31 17:32:13.502 | parser: [HTTPParser],
2025-10-31 17:32:13.502 | maxHeadersCount: null,
2025-10-31 17:32:13.502 | reusedSocket: false,
2025-10-31 17:32:13.502 | host: 'api.fox.com',
2025-10-31 17:32:13.502 | protocol: 'https:',
2025-10-31 17:32:13.502 | _redirectable: [Circular *1],
2025-10-31 17:32:13.502 | [Symbol(kCapture)]: false,
2025-10-31 17:32:13.502 | [Symbol(kBytesWritten)]: 0,
2025-10-31 17:32:13.502 | [Symbol(kNeedDrain)]: false,
2025-10-31 17:32:13.502 | [Symbol(corked)]: 0,
2025-10-31 17:32:13.502 | [Symbol(kOutHeaders)]: [Object: null prototype],
2025-10-31 17:32:13.502 | [Symbol(errored)]: null,
2025-10-31 17:32:13.502 | [Symbol(kHighWaterMark)]: 16384,
2025-10-31 17:32:13.502 | [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-10-31 17:32:13.502 | [Symbol(kUniqueHeaders)]: null
2025-10-31 17:32:13.502 | },
2025-10-31 17:32:13.502 | _currentUrl: 'https://api.fox.com/dtc/product/config/v1/init',
2025-10-31 17:32:13.502 | _timeout: null,
2025-10-31 17:32:13.502 | [Symbol(kCapture)]: false
2025-10-31 17:32:13.502 | }
2025-10-31 17:32:13.502 | }
2025-10-31 17:32:18.168 | Error while loading FoxOne events: AxiosError: timeout of 60000ms exceeded
2025-10-31 17:32:18.168 | at RedirectableRequest.handleRequestTimeout (/app/node_modules/axios/lib/adapters/http.js:570:16)
2025-10-31 17:32:18.168 | at RedirectableRequest.emit (node:events:517:28)
2025-10-31 17:32:18.168 | at RedirectableRequest.emit (node:domain:489:12)
2025-10-31 17:32:18.168 | at Timeout.<anonymous> (/app/node_modules/follow-redirects/index.js:169:12)
2025-10-31 17:32:18.168 | at listOnTimeout (node:internal/timers:569:17)
2025-10-31 17:32:18.168 | at processTimers (node:internal/timers:512:7) {
2025-10-31 17:32:18.168 | code: 'ECONNABORTED',
2025-10-31 17:32:18.168 | config: {
2025-10-31 17:32:18.168 | transitional: {
2025-10-31 17:32:18.168 | silentJSONParsing: true,
2025-10-31 17:32:18.168 | forcedJSONParsing: true,
2025-10-31 17:32:18.168 | clarifyTimeoutError: false
2025-10-31 17:32:18.168 | },
2025-10-31 17:32:18.168 | adapter: [ 'xhr', 'http' ],
2025-10-31 17:32:18.168 | transformRequest: [ [Function: transformRequest] ],
2025-10-31 17:32:18.168 | transformResponse: [ [Function: transformResponse] ],
2025-10-31 17:32:18.168 | timeout: 60000,
2025-10-31 17:32:18.168 | xsrfCookieName: 'XSRF-TOKEN',
2025-10-31 17:32:18.168 | xsrfHeaderName: 'X-XSRF-TOKEN',
2025-10-31 17:32:18.168 | maxContentLength: -1,
2025-10-31 17:32:18.168 | maxBodyLength: -1,
2025-10-31 17:32:18.168 | env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-10-31 17:32:18.168 | validateStatus: [Function: validateStatus],
2025-10-31 17:32:18.168 | headers: AxiosHeaders {
2025-10-31 17:32:18.168 | Accept: 'application/json, text/plain, */*',
2025-10-31 17:32:18.168 | 'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)',
2025-10-31 17:32:18.168 | authorization: 'Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ',
2025-10-31 17:32:18.168 | 'x-fox-apikey': 'Y5st1HoLLOJFlHStA3alOLtGJPS7DUxn',
2025-10-31 17:32:18.168 | 'x-platform-location': 'eyJ2Zm94IjpmYWxzZSwib3ZlcnJpZGUiOmZhbHNlLCJsYXRpdHVkZSI6NDAuODUsImxvbmdpdHVkZSI6LTk2LjcyLCJjaXR5IjoiTGluY29sbiIsInJlZ2lvbiI6Ik5lYnJhc2thIiwiY291bnRyeSI6IlVTIiwiemlwX2NvZGUiOiI2ODUyMSIsInRpbWVfem9uZSI6Ii0wNTowMCIsIm1ldHJvX2NvZGUiOiI3MjIiLCJsb2NhbF9zdGF0aW9uX2NhbGxfc2lnbnMiOlsiS0ZYTCJdLCJuYXRpb25hbF9zdGF0aW9uc19jYWxsX3NpZ24iOlsiQlROIiwiQlROMkZUIiwiQlROM0ZUIiwiQlRONEZUIiwiQlROUDAwMSIsIkJUTlAwMDIiLCJCVE5QMDAzIiwiQlROUDAwNCIsIkJUTlAwMDUiLCJCVE5QMDA2IiwiQlROUDAwNyIsIkJUTlAwMDgiLCJCVE5QMDA5IiwiQlROUDAxMCIsIkJUTlAwMTEiLCJCVE5QMDEyIiwiQlROUDAxMyIsIkJUTlAwMTQiLCJCVE5QMDE1IiwiQlROUDAxNiIsIkJUTlAwMTciLCJCVE5QMDE4IiwiQlROUDAxOSIsIkJUTlAwMjAiLCJCVE5QMDIxIiwiQlROUDAyMiIsIkJUTlAwMjMiLCJCVE5QMDI0IiwiQlROUDAyNSIsIkJUTlAwMjYiLCJCVE5QMDI3IiwiQlROUDAyOCIsIkJUTlAwMjkiLCJCVE5QMDMwIiwiQlROUDAzMSIsIkJUTlAwMzIiLCJCVE5QMDMzIiwiQlROUDAzNCIsIkJUTlAwMzUiLCJCVE5QMDM2IiwiQlROUDAzNyIsIkJUTlAwMzgiLCJCVE5QMDM5IiwiQlROUDA0MCIsIkZBSVRIIiwiRkJOIiwiRkNPUyIsIkZNU0MiLCJGTVNDRk8iLCJGTkMiLCJGTlQiLCJGT1hEIiwiRlMxIiwiRlMyIiwiRlM0SzEiLCJGUzRLMiIsIkZTNEszIiwiRlM0SzUiLCJGU0QiLCJGU0QwMDIiLCJGU0QwMDMiLCJGU0QwMTQiLCJGU0QwMTUiLCJGU0QwMTYiLCJGU0QwMTciLCJGU0QwMTgiLCJGU0QwMTkiLCJGU0QwMjAiLCJGU0ZDIiwiRldYIiwiRlhOMSIsIkZYTjIiLCJGWE4zIiwiRlhONCIsIkZYTjUiLCJGWE42IiwiRlhOQSIsIkZYTkIiLCJHUkRSQU0iLCJLQ1BRRlNUIiwiS0RGV0ZTVCIsIktNU1BGU1QiLCJLUklWRlNUIiwiS1NBWkZTVCIsIktUQkNGU1QiLCJLVFRWRlNUIiwiS1RWVUZTVCIsIkxJVkVOT1ciLCJNVjAwMSIsIk1WMDAyIiwiTVYwMDMiLCJNVjAwNCIsIlNPVUwiLCJUTVoiLCJUTVpGTyIsIldBR0FGU1QiLCJXRkxERlNUIiwiV0lUSUZTVCIsIldKQktGU1QiLCJXTllXRlNUIiwiV09GTEZTVCIsIldUVEdGU1QiLCJXVFZURlNUIiwiV1RYRkZTVCJdLCJwdWJsaWNfaXAiOiIxNjcuMjQ4LjUyLjEwNCIsImNvbm5fc3BlZWQiOiJicm9hZGJhbmQiLCJjb25uX3R5cGUiOiJ3aWZpIn0=',
2025-10-31 17:32:18.168 | 'x-fox-zipcode': '68521',
2025-10-31 17:32:18.168 | 'x-home-zipcode': '68521',
2025-10-31 17:32:18.168 | 'x-fox-home-dma': '722',
2025-10-31 17:32:18.168 | 'x-fox-dma': '722',
2025-10-31 17:32:18.168 | 'x-fox-content-entitlement': 'H4sIAAAAAAAA/1TOwQoCMQwE0B9yBffo0YNH/8F202VhNwlNWvv5goIZb/NmSkmz813GrdnGZHY9ui6nb/egVzg5T8l5XgWrXy4pT0UGGDbOkfGNjIX0j9uKJHbkLvm5YyFMSFOpHheXSjDbBfIMWePLg71/8A4AAP///Dq0cBQBAAA=',
2025-10-31 17:32:18.168 | 'x-fox-userauth': 'Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ',
2025-10-31 17:32:18.168 | 'Accept-Encoding': 'gzip, compress, deflate, br'
2025-10-31 17:32:18.168 | },
2025-10-31 17:32:18.168 | method: 'get',
2025-10-31 17:32:18.168 | url: 'https://api.fox.com/dtc/product/page/v1/landing/653897111489?page=1&size=60',
2025-10-31 17:32:18.168 | data: undefined
2025-10-31 17:32:18.168 | },
2025-10-31 17:32:18.168 | request: <ref *1> Writable {
2025-10-31 17:32:18.168 | _writableState: WritableState {
2025-10-31 17:32:18.168 | objectMode: false,
2025-10-31 17:32:18.168 | highWaterMark: 16384,
2025-10-31 17:32:18.168 | finalCalled: false,
2025-10-31 17:32:18.168 | needDrain: false,
2025-10-31 17:32:18.168 | ending: false,
2025-10-31 17:32:18.168 | ended: false,
2025-10-31 17:32:18.168 | finished: false,
2025-10-31 17:32:18.168 | destroyed: false,
2025-10-31 17:32:18.168 | decodeStrings: true,
2025-10-31 17:32:18.168 | defaultEncoding: 'utf8',
2025-10-31 17:32:18.168 | length: 0,
2025-10-31 17:32:18.168 | writing: false,
2025-10-31 17:32:18.168 | corked: 0,
2025-10-31 17:32:18.168 | sync: true,
2025-10-31 17:32:18.168 | bufferProcessing: false,
2025-10-31 17:32:18.168 | onwrite: [Function: bound onwrite],
2025-10-31 17:32:18.168 | writecb: null,
2025-10-31 17:32:18.168 | writelen: 0,
2025-10-31 17:32:18.168 | afterWriteTickInfo: null,
2025-10-31 17:32:18.168 | buffered: [],
2025-10-31 17:32:18.168 | bufferedIndex: 0,
2025-10-31 17:32:18.168 | allBuffers: true,
2025-10-31 17:32:18.168 | allNoop: true,
2025-10-31 17:32:18.168 | pendingcb: 0,
2025-10-31 17:32:18.168 | constructed: true,
2025-10-31 17:32:18.168 | prefinished: false,
2025-10-31 17:32:18.168 | errorEmitted: false,
2025-10-31 17:32:18.168 | emitClose: true,
2025-10-31 17:32:18.168 | autoDestroy: true,
2025-10-31 17:32:18.168 | errored: null,
2025-10-31 17:32:18.168 | closed: false,
2025-10-31 17:32:18.168 | closeEmitted: false,
2025-10-31 17:32:18.168 | [Symbol(kOnFinished)]: []
2025-10-31 17:32:18.168 | },
2025-10-31 17:32:18.168 | _events: [Object: null prototype] {
2025-10-31 17:32:18.168 | response: [Function: handleResponse],
2025-10-31 17:32:18.168 | error: [Function: handleRequestError],
2025-10-31 17:32:18.168 | socket: [Array]
2025-10-31 17:32:18.168 | },
2025-10-31 17:32:18.168 | _eventsCount: 3,
2025-10-31 17:32:18.168 | _maxListeners: undefined,
2025-10-31 17:32:18.168 | _options: {
2025-10-31 17:32:18.168 | maxRedirects: 21,
2025-10-31 17:32:18.168 | maxBodyLength: Infinity,
2025-10-31 17:32:18.168 | protocol: 'https:',
2025-10-31 17:32:18.168 | path: '/dtc/product/page/v1/landing/653897111489?page=1&size=60',
2025-10-31 17:32:18.168 | method: 'GET',
2025-10-31 17:32:18.168 | headers: [Object: null prototype],
2025-10-31 17:32:18.168 | agents: [Object],
2025-10-31 17:32:18.168 | auth: undefined,
2025-10-31 17:32:18.168 | beforeRedirect: [Function: dispatchBeforeRedirect],
2025-10-31 17:32:18.168 | beforeRedirects: [Object],
2025-10-31 17:32:18.168 | hostname: 'api.fox.com',
2025-10-31 17:32:18.168 | port: '',
2025-10-31 17:32:18.168 | agent: undefined,
2025-10-31 17:32:18.168 | nativeProtocols: [Object],
2025-10-31 17:32:18.168 | pathname: '/dtc/product/page/v1/landing/653897111489',
2025-10-31 17:32:18.168 | search: '?page=1&size=60'
2025-10-31 17:32:18.168 | },
2025-10-31 17:32:18.168 | _ended: true,
2025-10-31 17:32:18.168 | _ending: true,
2025-10-31 17:32:18.168 | _redirectCount: 0,
2025-10-31 17:32:18.168 | _redirects: [],
2025-10-31 17:32:18.168 | _requestBodyLength: 0,
2025-10-31 17:32:18.168 | _requestBodyBuffers: [],
2025-10-31 17:32:18.168 | _onNativeResponse: [Function (anonymous)],
2025-10-31 17:32:18.168 | _currentRequest: ClientRequest {
2025-10-31 17:32:18.168 | _events: [Object: null prototype],
2025-10-31 17:32:18.168 | _eventsCount: 7,
2025-10-31 17:32:18.168 | _maxListeners: undefined,
2025-10-31 17:32:18.168 | outputData: [],
2025-10-31 17:32:18.168 | outputSize: 0,
2025-10-31 17:32:18.168 | writable: true,
2025-10-31 17:32:18.168 | destroyed: false,
2025-10-31 17:32:18.168 | _last: true,
2025-10-31 17:32:18.168 | chunkedEncoding: false,
2025-10-31 17:32:18.168 | shouldKeepAlive: false,
2025-10-31 17:32:18.168 | maxRequestsOnConnectionReached: false,
2025-10-31 17:32:18.168 | _defaultKeepAlive: true,
2025-10-31 17:32:18.168 | useChunkedEncodingByDefault: false,
2025-10-31 17:32:18.168 | sendDate: false,
2025-10-31 17:32:18.168 | _removedConnection: false,
2025-10-31 17:32:18.168 | _removedContLen: false,
2025-10-31 17:32:18.168 | _removedTE: false,
2025-10-31 17:32:18.168 | strictContentLength: false,
2025-10-31 17:32:18.168 | _contentLength: 0,
2025-10-31 17:32:18.168 | _hasBody: true,
2025-10-31 17:32:18.168 | _trailer: '',
2025-10-31 17:32:18.168 | finished: true,
2025-10-31 17:32:18.168 | _headerSent: true,
2025-10-31 17:32:18.168 | _closed: false,
2025-10-31 17:32:18.168 | socket: [TLSSocket],
2025-10-31 17:32:18.168 | _header: 'GET /dtc/product/page/v1/landing/653897111489?page=1&size=60 HTTP/1.1\r\n' +
2025-10-31 17:32:18.168 | 'Accept: application/json, text/plain, */*\r\n' +
2025-10-31 17:32:18.168 | 'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-10-31 17:32:18.168 | 'authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ\r\n' +
2025-10-31 17:32:18.168 | 'x-fox-apikey: Y5st1HoLLOJFlHStA3alOLtGJPS7DUxn\r\n' +
2025-10-31 17:32:18.168 | 'x-platform-location: eyJ2Zm94IjpmYWxzZSwib3ZlcnJpZGUiOmZhbHNlLCJsYXRpdHVkZSI6NDAuODUsImxvbmdpdHVkZSI6LTk2LjcyLCJjaXR5IjoiTGluY29sbiIsInJlZ2lvbiI6Ik5lYnJhc2thIiwiY291bnRyeSI6IlVTIiwiemlwX2NvZGUiOiI2ODUyMSIsInRpbWVfem9uZSI6Ii0wNTowMCIsIm1ldHJvX2NvZGUiOiI3MjIiLCJsb2NhbF9zdGF0aW9uX2NhbGxfc2lnbnMiOlsiS0ZYTCJdLCJuYXRpb25hbF9zdGF0aW9uc19jYWxsX3NpZ24iOlsiQlROIiwiQlROMkZUIiwiQlROM0ZUIiwiQlRONEZUIiwiQlROUDAwMSIsIkJUTlAwMDIiLCJCVE5QMDAzIiwiQlROUDAwNCIsIkJUTlAwMDUiLCJCVE5QMDA2IiwiQlROUDAwNyIsIkJUTlAwMDgiLCJCVE5QMDA5IiwiQlROUDAxMCIsIkJUTlAwMTEiLCJCVE5QMDEyIiwiQlROUDAxMyIsIkJUTlAwMTQiLCJCVE5QMDE1IiwiQlROUDAxNiIsIkJUTlAwMTciLCJCVE5QMDE4IiwiQlROUDAxOSIsIkJUTlAwMjAiLCJCVE5QMDIxIiwiQlROUDAyMiIsIkJUTlAwMjMiLCJCVE5QMDI0IiwiQlROUDAyNSIsIkJUTlAwMjYiLCJCVE5QMDI3IiwiQlROUDAyOCIsIkJUTlAwMjkiLCJCVE5QMDMwIiwiQlROUDAzMSIsIkJUTlAwMzIiLCJCVE5QMDMzIiwiQlROUDAzNCIsIkJUTlAwMzUiLCJCVE5QMDM2IiwiQlROUDAzNyIsIkJUTlAwMzgiLCJCVE5QMDM5IiwiQlROUDA0MCIsIkZBSVRIIiwiRkJOIiwiRkNPUyIsIkZNU0MiLCJGTVNDRk8iLCJGTkMiLCJGTlQiLCJGT1hEIiwiRlMxIiwiRlMyIiwiRlM0SzEiLCJGUzRLMiIsIkZTNEszIiwiRlM0SzUiLCJGU0QiLCJGU0QwMDIiLCJGU0QwMDMiLCJGU0QwMTQiLCJGU0QwMTUiLCJGU0QwMTYiLCJGU0QwMTciLCJGU0QwMTgiLCJGU0QwMTkiLCJGU0QwMjAiLCJGU0ZDIiwiRldYIiwiRlhOMSIsIkZYTjIiLCJGWE4zIiwiRlhONCIsIkZYTjUiLCJGWE42IiwiRlhOQSIsIkZYTkIiLCJHUkRSQU0iLCJLQ1BRRlNUIiwiS0RGV0ZTVCIsIktNU1BGU1QiLCJLUklWRlNUIiwiS1NBWkZTVCIsIktUQkNGU1QiLCJLVFRWRlNUIiwiS1RWVUZTVCIsIkxJVkVOT1ciLCJNVjAwMSIsIk1WMDAyIiwiTVYwMDMiLCJNVjAwNCIsIlNPVUwiLCJUTVoiLCJUTVpGTyIsIldBR0FGU1QiLCJXRkxERlNUIiwiV0lUSUZTVCIsIldKQktGU1QiLCJXTllXRlNUIiwiV09GTEZTVCIsIldUVEdGU1QiLCJXVFZURlNUIiwiV1RYRkZTVCJdLCJwdWJsaWNfaXAiOiIxNjcuMjQ4LjUyLjEwNCIsImNvbm5fc3BlZWQiOiJicm9hZGJhbmQiLCJjb25uX3R5cGUiOiJ3aWZpIn0=\r\n' +
2025-10-31 17:32:18.168 | 'x-fox-zipcode: 68521\r\n' +
2025-10-31 17:32:18.168 | 'x-home-zipcode: 68521\r\n' +
2025-10-31 17:32:18.168 | 'x-fox-home-dma: 722\r\n' +
2025-10-31 17:32:18.168 | 'x-fox-dma: 722\r\n' +
2025-10-31 17:32:18.168 | 'x-fox-content-entitlement: H4sIAAAAAAAA/1TOwQoCMQwE0B9yBffo0YNH/8F202VhNwlNWvv5goIZb/NmSkmz813GrdnGZHY9ui6nb/egVzg5T8l5XgWrXy4pT0UGGDbOkfGNjIX0j9uKJHbkLvm5YyFMSFOpHheXSjDbBfIMWePLg71/8A4AAP///Dq0cBQBAAA=\r\n' +
2025-10-31 17:32:18.168 | 'x-fox-userauth: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImI4ZWI5ODY1LTdjM2YtNDcxNS05OGVlLTdiYTk1M2MyZDVjNCIsInR5cCI6IkpXVCJ9.eyJhdHlwZSI6ImFub255bW91cyIsImF1ZCI6W10sImNsaWVudF9pZCI6ImVmMDhkYWUyLTYyYWUtNDY3My1iOWVmLTRiNTZmYTJkODFjNCIsImRpZCI6ImU1NzAxMTNlZjEwMjRmMzQiLCJkdHlwZSI6ImFuZHJvaWR0diIsImV4cCI6MTc2MjAzNjIxOCwiaWF0IjoxNzYxOTQ5ODE4LCJpc3MiOiJodHRwczovL2lkLmZveC5jb20iLCJqdGkiOiIwYmM2MDI4MS00MmQ2LTQ1ZGMtODk4Yi1mNWQ0YzE5NDQ3OWUiLCJuYmYiOjE3NjE5NDk4MTgsInBpZCI6ImFuZHJvaWR0dmU1NzAxMTNlZjEwMjRmMzQiLCJzY3AiOlsib3BlbmlkIiwib2ZmbGluZSJdLCJzZGMiOiJ1cy1lYXN0LTEiLCJzaWQiOiI0ODk1ZmY5YS0wZjdhLTQ2YWYtOWRjZS1mNTM0YmM5ZWM4ZjkiLCJzdWIiOiJhbmRyb2lkdHZlNTcwMTEzZWYxMDI0ZjM0IiwidWlkIjoiWVc1a2NtOXBaSFIyWlRVM01ERXhNMlZtTVRBeU5HWXpOQT09IiwidXR5cGUiOiJkZXZpY2VJZCIsInZlciI6Mn0.pnj_9Es3gifSNAYDdzm9OOtyTamzBTVD5HBS45BaAbdDVIHcouJk_g___gTLcHjcr-cgx-Tpb_Tqsb2T7PuJ5pgfQUhY_q42J6Kf0A7aLhekf8vEt2ounUDYD8cY5BCk89KByFDSWWiLhZ4JzJZ3InnM9dm5NZQlUPJIN825G4RxWXwuWx2X2zLgl19l2FdN9S7n-_TQRJfqO3Dk5bYnIrdEckYPrPOTZKkbpmExbR3F2o5F6KjUKFkFnM16oUwuC0EYGIsKHbpiwxeq2BMpSDGGXApAARUC3v2P3_tqkv7SyIZkhkMbioT7Y2dpmid6tjPuP-qsTpqM6_po08tQtQ\r\n' +
2025-10-31 17:32:18.168 | 'Accept-Encoding: gzip, compress, deflate, br\r\n' +
2025-10-31 17:32:18.168 | 'Host: api.fox.com\r\n' +
2025-10-31 17:32:18.168 | 'Connection: close\r\n' +
2025-10-31 17:32:18.168 | '\r\n',
2025-10-31 17:32:18.168 | _keepAliveTimeout: 0,
2025-10-31 17:32:18.168 | _onPendingData: [Function: nop],
2025-10-31 17:32:18.168 | agent: [Agent],
2025-10-31 17:32:18.168 | socketPath: undefined,
2025-10-31 17:32:18.168 | method: 'GET',
2025-10-31 17:32:18.169 | maxHeaderSize: undefined,
2025-10-31 17:32:18.169 | insecureHTTPParser: undefined,
2025-10-31 17:32:18.169 | joinDuplicateHeaders: undefined,
2025-10-31 17:32:18.169 | path: '/dtc/product/page/v1/landing/653897111489?page=1&size=60',
2025-10-31 17:32:18.169 | _ended: false,
2025-10-31 17:32:18.169 | res: null,
2025-10-31 17:32:18.169 | aborted: false,
2025-10-31 17:32:18.169 | timeoutCb: null,
2025-10-31 17:32:18.169 | upgradeOrConnect: false,
2025-10-31 17:32:18.169 | parser: [HTTPParser],
2025-10-31 17:32:18.169 | maxHeadersCount: null,
2025-10-31 17:32:18.169 | reusedSocket: false,
2025-10-31 17:32:18.169 | host: 'api.fox.com',
2025-10-31 17:32:18.169 | protocol: 'https:',
2025-10-31 17:32:18.169 | _redirectable: [Circular *1],
2025-10-31 17:32:18.169 | [Symbol(kCapture)]: false,
2025-10-31 17:32:18.169 | [Symbol(kBytesWritten)]: 0,
2025-10-31 17:32:18.169 | [Symbol(kNeedDrain)]: false,
2025-10-31 17:32:18.169 | [Symbol(corked)]: 0,
2025-10-31 17:32:18.169 | [Symbol(kOutHeaders)]: [Object: null prototype],
2025-10-31 17:32:18.169 | [Symbol(errored)]: null,
2025-10-31 17:32:18.169 | [Symbol(kHighWaterMark)]: 16384,
2025-10-31 17:32:18.169 | [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-10-31 17:32:18.169 | [Symbol(kUniqueHeaders)]: null
2025-10-31 17:32:18.169 | },
2025-10-31 17:32:18.169 | _currentUrl: 'https://api.fox.com/dtc/product/page/v1/landing/653897111489?page=1&size=60',
2025-10-31 17:32:18.169 | _timeout: null,
2025-10-31 17:32:18.169 | [Symbol(kCapture)]: false
2025-10-31 17:32:18.169 | }
2025-10-31 17:32:18.169 | }
Working here, but I did the EPlusTV Rebuild EPG after updating to 4.14.2 before using it.
Also have some recordings setup to test it.
It is getting connection timeouts for basic api calls. Try toggling foxone off and on and log back in. That might help. I just checked after updating and it is working fine for me here.
The change that was just implemented has nothing to do with those errors. if you put https://api.fox.com/dtc/product/config/v1/init does it come back at all?
Since you are not logged in via browser the expected response from that should be:
{"status":false,"error":{"err_code":"ERR_PKG_001","err_str":"empty api key header","err_msg":"Unauthorised"}}
So far the first recording was interrupted.
Channels DVR log
2025/10/31 16:53:28.715016 [DVR] Error running job 1761951570-123 The Masked Singer: Could not fetch playlist from 192.168.1.4:8185: GET: http://192.168.1.4:8185/chunklist/219/S7CFVFkY.m3u8: 404 Not Found
2025-10-31T22:59:30.014983598Z Channel #219 has an active event (Masks at Dawn -- Round 1). Going to start the stream.
2025-10-31T23:00:00.008771059Z Channel #210 has an active event (2025 World Series Pregame). Going to start the stream.
2025-10-31T23:11:56.326409922Z Updating FOX One prelim token
2025-10-31T23:11:56.720324648Z Refreshing TV Provider token (FOX One)
2025-10-31T23:41:56.331931264Z Updating FOX One prelim token
2025-10-31T23:41:56.718557719Z Refreshing TV Provider token (FOX One)
2025-10-31T23:53:23.706344471Z AxiosError: getaddrinfo ENOTFOUND fa.edge.foxdtc.digitalvideoplatform.com
2025-10-31T23:53:23.726067580Z at Function.AxiosError.from (/app/node_modules/axios/lib/core/AxiosError.js:89:14)
2025-10-31T23:53:23.706440382Z Could not parse chunklist properly!
2025-10-31T23:53:23.726445185Z Could not get chunklist for channel #219.
2025-10-31T23:53:23.726340040Z at RedirectableRequest.handleRequestError (/app/node_modules/axios/lib/adapters/http.js:533:25)
2025-10-31T23:53:23.726658846Z at RedirectableRequest.emit (node:events:529:35)
2025-10-31T23:53:23.726710839Z at RedirectableRequest.emit (node:domain:489:12)
2025-10-31T23:53:23.726756118Z at ClientRequest.eventHandlers.<computed> (/app/node_modules/follow-redirects/index.js:14:24)
2025-10-31T23:53:23.726812160Z at ClientRequest.emit (node:events:517:28)
2025-10-31T23:53:23.726863567Z at ClientRequest.emit (node:domain:489:12)
2025-10-31T23:53:23.726905327Z at TLSSocket.socketErrorListener (node:_http_client:501:9)
2025-10-31T23:53:23.726951535Z at TLSSocket.emit (node:events:517:28)
2025-10-31T23:53:23.726993560Z at TLSSocket.emit (node:domain:489:12) {
2025-10-31T23:53:23.727042543Z hostname: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-10-31T23:53:23.727087033Z syscall: 'getaddrinfo',
2025-10-31T23:53:23.727127648Z code: 'ENOTFOUND',
2025-10-31T23:53:23.727168727Z errno: -3007,
2025-10-31T23:53:23.727208761Z config: {
2025-10-31T23:53:23.727247279Z transitional: {
2025-10-31T23:53:23.727286777Z silentJSONParsing: true,
2025-10-31T23:53:23.727338932Z forcedJSONParsing: true,
2025-10-31T23:53:23.727379892Z clarifyTimeoutError: false
2025-10-31T23:53:23.727422832Z },
2025-10-31T23:53:23.727459166Z adapter: [ 'xhr', 'http' ],
2025-10-31T23:53:23.727499670Z transformRequest: [ [Function: transformRequest] ],
2025-10-31T23:53:23.727542808Z transformResponse: [ [Function: transformResponse] ],
2025-10-31T23:53:23.727589905Z timeout: 60000,
2025-10-31T23:53:23.727647493Z xsrfCookieName: 'XSRF-TOKEN',
2025-10-31T23:53:23.727691286Z xsrfHeaderName: 'X-XSRF-TOKEN',
2025-10-31T23:53:23.727733971Z maxContentLength: -1,
2025-10-31T23:53:23.727774620Z maxBodyLength: -1,
2025-10-31T23:53:23.727821872Z env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-10-31T23:53:23.727869657Z validateStatus: [Function: validateStatus],
2025-10-31T23:53:23.727912868Z headers: AxiosHeaders {
2025-10-31T23:53:23.727957163Z Accept: 'application/json, text/plain, */*',
2025-10-31T23:53:23.728002572Z 'Accept-Encoding': 'identity',
2025-10-31T23:53:23.728045584Z 'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)'
2025-10-31T23:53:23.728196358Z },
2025-10-31T23:53:23.728243680Z method: 'get',
2025-10-31T23:53:23.728284371Z url: 'https://fa.edge.foxdtc.digitalvideoplatform.com/1762037970_e72a11bf5d5691fb234c5ccc3810244162899dd9/*~/live-dr/fmsc-ue2/index_7.m3u8',
2025-10-31T23:53:23.728343039Z data: undefined
2025-10-31T23:53:23.728384441Z },
2025-10-31T23:53:23.728420963Z request: <ref *1> Writable {
2025-10-31T23:53:23.728483212Z _writableState: WritableState {
2025-10-31T23:53:23.728531645Z objectMode: false,
2025-10-31T23:53:23.728575203Z highWaterMark: 16384,
2025-10-31T23:53:23.728615977Z finalCalled: false,
2025-10-31T23:53:23.728674363Z needDrain: false,
2025-10-31T23:53:23.728714245Z ending: false,
2025-10-31T23:53:23.728756131Z ended: false,
2025-10-31T23:53:23.728795388Z finished: false,
2025-10-31T23:53:23.728841589Z destroyed: false,
2025-10-31T23:53:23.728882118Z decodeStrings: true,
2025-10-31T23:53:23.728923259Z defaultEncoding: 'utf8',
2025-10-31T23:53:23.728963277Z length: 0,
2025-10-31T23:53:23.729004706Z writing: false,
2025-10-31T23:53:23.729049032Z corked: 0,
2025-10-31T23:53:23.729089370Z sync: true,
2025-10-31T23:53:23.729132229Z bufferProcessing: false,
2025-10-31T23:53:23.729172688Z onwrite: [Function: bound onwrite],
2025-10-31T23:53:23.729217659Z writecb: null,
2025-10-31T23:53:23.729258444Z writelen: 0,
2025-10-31T23:53:23.729297138Z afterWriteTickInfo: null,
2025-10-31T23:53:23.729336446Z buffered: [],
2025-10-31T23:53:23.729375035Z bufferedIndex: 0,
2025-10-31T23:53:23.729415162Z allBuffers: true,
2025-10-31T23:53:23.729454832Z allNoop: true,
2025-10-31T23:53:23.729494583Z pendingcb: 0,
2025-10-31T23:53:23.729533256Z constructed: true,
2025-10-31T23:53:23.729573124Z prefinished: false,
2025-10-31T23:53:23.729614254Z errorEmitted: false,
2025-10-31T23:53:23.729669633Z emitClose: true,
2025-10-31T23:53:23.729709347Z autoDestroy: true,
2025-10-31T23:53:23.729753865Z errored: null,
2025-10-31T23:53:23.729793641Z closed: false,
2025-10-31T23:53:23.729834398Z closeEmitted: false,
2025-10-31T23:53:23.729874652Z [Symbol(kOnFinished)]: []
2025-10-31T23:53:23.729914919Z },
2025-10-31T23:53:23.729951329Z _events: [Object: null prototype] {
2025-10-31T23:53:23.729994471Z response: [Function: handleResponse],
2025-10-31T23:53:23.730036769Z error: [Function: handleRequestError],
2025-10-31T23:53:23.730077474Z socket: [Array]
2025-10-31T23:53:23.730117848Z },
2025-10-31T23:53:23.730158183Z _eventsCount: 3,
2025-10-31T23:53:23.730197665Z _maxListeners: undefined,
2025-10-31T23:53:23.730242685Z _options: {
2025-10-31T23:53:23.730281155Z maxRedirects: 21,
2025-10-31T23:53:23.730320395Z maxBodyLength: Infinity,
2025-10-31T23:53:23.730361774Z protocol: 'https:',
2025-10-31T23:53:23.730406886Z path: '/1762037970_e72a11bf5d5691fb234c5ccc3810244162899dd9/*~/live-dr/fmsc-ue2/index_7.m3u8',
2025-10-31T23:53:23.730463165Z method: 'GET',
2025-10-31T23:53:23.730502450Z headers: [Object: null prototype],
2025-10-31T23:53:23.730544861Z agents: [Object],
2025-10-31T23:53:23.730584508Z auth: undefined,
2025-10-31T23:53:23.730642827Z beforeRedirect: [Function: dispatchBeforeRedirect],
2025-10-31T23:53:23.730686832Z beforeRedirects: [Object],
2025-10-31T23:53:23.730725723Z hostname: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-10-31T23:53:23.730769858Z port: '',
2025-10-31T23:53:23.730810713Z agent: undefined,
2025-10-31T23:53:23.730850050Z nativeProtocols: [Object],
2025-10-31T23:53:23.730890973Z pathname: '/1762037970_e72a11bf5d5691fb234c5ccc3810244162899dd9/*~/live-dr/fmsc-ue2/index_7.m3u8'
2025-10-31T23:53:23.730944693Z },
2025-10-31T23:53:23.730982456Z _ended: true,
2025-10-31T23:53:23.731022995Z _ending: true,
2025-10-31T23:53:23.731063034Z _redirectCount: 0,
2025-10-31T23:53:23.731103336Z _redirects: [],
2025-10-31T23:53:23.731165231Z _requestBodyLength: 0,
2025-10-31T23:53:23.731205658Z _requestBodyBuffers: [],
2025-10-31T23:53:23.731250616Z _onNativeResponse: [Function (anonymous)],
2025-10-31T23:53:23.731299649Z _currentRequest: ClientRequest {
2025-10-31T23:53:23.731345970Z _events: [Object: null prototype],
2025-10-31T23:53:23.731392917Z _eventsCount: 7,
2025-10-31T23:53:23.731437397Z _maxListeners: undefined,
2025-10-31T23:53:23.731477565Z outputData: [],
2025-10-31T23:53:23.731521377Z outputSize: 0,
2025-10-31T23:53:23.731561246Z writable: true,
2025-10-31T23:53:23.731610793Z destroyed: false,
2025-10-31T23:53:23.731671873Z _last: true,
2025-10-31T23:53:23.731721903Z chunkedEncoding: false,
2025-10-31T23:53:23.731762437Z shouldKeepAlive: false,
2025-10-31T23:53:23.731807256Z maxRequestsOnConnectionReached: false,
2025-10-31T23:53:23.731847386Z _defaultKeepAlive: true,
2025-10-31T23:53:23.731899529Z useChunkedEncodingByDefault: false,
2025-10-31T23:53:23.732229496Z sendDate: false,
2025-10-31T23:53:23.732302994Z _removedConnection: false,
2025-10-31T23:53:23.732353589Z _removedContLen: false,
2025-10-31T23:53:23.732393438Z _removedTE: false,
2025-10-31T23:53:23.732433064Z strictContentLength: false,
2025-10-31T23:53:23.732476208Z _contentLength: 0,
2025-10-31T23:53:23.732514912Z _hasBody: true,
2025-10-31T23:53:23.732555210Z _trailer: '',
2025-10-31T23:53:23.732593053Z finished: true,
2025-10-31T23:53:23.732662702Z _headerSent: true,
2025-10-31T23:53:23.732704487Z _closed: false,
2025-10-31T23:53:23.732743852Z socket: [TLSSocket],
2025-10-31T23:53:23.732783299Z _header: 'GET /1762037970_e72a11bf5d5691fb234c5ccc3810244162899dd9/*~/live-dr/fmsc-ue2/index_7.m3u8 HTTP/1.1\r\n' +
2025-10-31T23:53:23.732838888Z 'Accept: application/json, text/plain, */*\r\n' +
2025-10-31T23:53:23.732893391Z 'Accept-Encoding: identity\r\n' +
2025-10-31T23:53:23.732936817Z 'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-10-31T23:53:23.733002076Z 'Host: fa.edge.foxdtc.digitalvideoplatform.com\r\n' +
2025-10-31T23:53:23.733049750Z 'Connection: close\r\n' +
2025-10-31T23:53:23.733090440Z '\r\n',
2025-10-31T23:53:23.733128281Z _keepAliveTimeout: 0,
2025-10-31T23:53:23.733166590Z _onPendingData: [Function: nop],
2025-10-31T23:53:23.733207258Z agent: [Agent],
2025-10-31T23:53:23.733247891Z socketPath: undefined,
2025-10-31T23:53:23.733288231Z method: 'GET',
2025-10-31T23:53:23.733326565Z maxHeaderSize: undefined,
2025-10-31T23:53:23.733369159Z insecureHTTPParser: undefined,
2025-10-31T23:53:23.733409663Z joinDuplicateHeaders: undefined,
2025-10-31T23:53:23.733453168Z path: '/1762037970_e72a11bf5d5691fb234c5ccc3810244162899dd9/*~/live-dr/fmsc-ue2/index_7.m3u8',
2025-10-31T23:53:23.733496437Z _ended: false,
2025-10-31T23:53:23.733535324Z res: null,
2025-10-31T23:53:23.733574775Z aborted: false,
2025-10-31T23:53:23.733614192Z timeoutCb: null,
2025-10-31T23:53:23.733673272Z upgradeOrConnect: false,
2025-10-31T23:53:23.733713013Z parser: null,
2025-10-31T23:53:23.733751869Z maxHeadersCount: null,
2025-10-31T23:53:23.733791476Z reusedSocket: false,
2025-10-31T23:53:23.733832403Z host: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-10-31T23:53:23.733873098Z protocol: 'https:',
2025-10-31T23:53:23.733911344Z _redirectable: [Circular *1],
2025-10-31T23:53:23.733951673Z [Symbol(kCapture)]: false,
2025-10-31T23:53:23.733992157Z [Symbol(kBytesWritten)]: 0,
2025-10-31T23:53:23.734033923Z [Symbol(kNeedDrain)]: false,
2025-10-31T23:53:23.734074701Z [Symbol(corked)]: 0,
2025-10-31T23:53:23.734113699Z [Symbol(kOutHeaders)]: [Object: null prototype],
2025-10-31T23:53:23.734155143Z [Symbol(errored)]: null,
2025-10-31T23:53:23.734194758Z [Symbol(kHighWaterMark)]: 16384,
2025-10-31T23:53:23.734234287Z [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-10-31T23:53:23.734275369Z [Symbol(kUniqueHeaders)]: null
2025-10-31T23:53:23.734315215Z },
2025-10-31T23:53:23.734351041Z _currentUrl: 'https://fa.edge.foxdtc.digitalvideoplatform.com/1762037970_e72a11bf5d5691fb234c5ccc3810244162899dd9/*~/live-dr/fmsc-ue2/index_7.m3u8',
2025-10-31T23:53:23.734399128Z _timeout: null,
2025-10-31T23:53:23.734440233Z [Symbol(kCapture)]: false
2025-10-31T23:53:23.734479244Z },
2025-10-31T23:53:23.734520831Z cause: Error: getaddrinfo ENOTFOUND fa.edge.foxdtc.digitalvideoplatform.com
2025-10-31T23:53:23.734566088Z at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) {
2025-10-31T23:53:23.734626376Z errno: -3007,
2025-10-31T23:53:23.734666050Z code: 'ENOTFOUND',
2025-10-31T23:53:23.734705276Z syscall: 'getaddrinfo',
2025-10-31T23:53:23.734743711Z hostname: 'fa.edge.foxdtc.digitalvideoplatform.com'
2025-10-31T23:53:23.734784439Z }
2025-10-31T23:53:23.734819950Z }
2025-10-31T23:53:29.824322569Z Channel #219 has an active event (The Double Unmasking -- Round 1 Finals). Going to start the stream.
World Series recording was just interrupted now too.
2025/10/31 17:53:45.680458 [DVR] Error running job 1761955200-ch43 2025 World Series: Could not fetch playlist from 192.168.1.4:8185: GET: http://192.168.1.4:8185/chunklist/210/8nK4XubR.m3u8: 404 Not Found
2025-11-01T00:53:40.417924217Z AxiosError: getaddrinfo ENOTFOUND fa.edge.foxdtc.digitalvideoplatform.com
2025-11-01T00:53:40.418434509Z at Function.AxiosError.from (/app/node_modules/axios/lib/core/AxiosError.js:89:14)
2025-11-01T00:53:40.418540775Z at RedirectableRequest.handleRequestError (/app/node_modules/axios/lib/adapters/http.js:533:25)
2025-11-01T00:53:40.418593066Z at RedirectableRequest.emit (node:events:529:35)
2025-11-01T00:53:40.418679163Z at RedirectableRequest.emit (node:domain:489:12)
2025-11-01T00:53:40.418799569Z at ClientRequest.eventHandlers.<computed> (/app/node_modules/follow-redirects/index.js:14:24)
2025-11-01T00:53:40.417957699Z Could not parse chunklist properly!
2025-11-01T00:53:40.418980509Z Could not get chunklist for channel #210.
2025-11-01T00:53:40.418865760Z at ClientRequest.emit (node:events:517:28)
2025-11-01T00:53:40.419076731Z at ClientRequest.emit (node:domain:489:12)
2025-11-01T00:53:40.419118610Z at TLSSocket.socketErrorListener (node:_http_client:501:9)
2025-11-01T00:53:40.419164266Z at TLSSocket.emit (node:events:517:28)
2025-11-01T00:53:40.419205748Z at TLSSocket.emit (node:domain:489:12) {
2025-11-01T00:53:40.419246502Z hostname: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-11-01T00:53:40.419295630Z syscall: 'getaddrinfo',
2025-11-01T00:53:40.419336892Z code: 'ENOTFOUND',
2025-11-01T00:53:40.419380375Z errno: -3007,
2025-11-01T00:53:40.419420293Z config: {
2025-11-01T00:53:40.419465913Z transitional: {
2025-11-01T00:53:40.419507727Z silentJSONParsing: true,
2025-11-01T00:53:40.419559524Z forcedJSONParsing: true,
2025-11-01T00:53:40.419600983Z clarifyTimeoutError: false
2025-11-01T00:53:40.419654722Z },
2025-11-01T00:53:40.419691576Z adapter: [ 'xhr', 'http' ],
2025-11-01T00:53:40.419731379Z transformRequest: [ [Function: transformRequest] ],
2025-11-01T00:53:40.419773202Z transformResponse: [ [Function: transformResponse] ],
2025-11-01T00:53:40.419814970Z timeout: 60000,
2025-11-01T00:53:40.419854721Z xsrfCookieName: 'XSRF-TOKEN',
2025-11-01T00:53:40.419895858Z xsrfHeaderName: 'X-XSRF-TOKEN',
2025-11-01T00:53:40.419936647Z maxContentLength: -1,
2025-11-01T00:53:40.419976219Z maxBodyLength: -1,
2025-11-01T00:53:40.420016197Z env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-11-01T00:53:40.420061603Z validateStatus: [Function: validateStatus],
2025-11-01T00:53:40.420102619Z headers: AxiosHeaders {
2025-11-01T00:53:40.420142816Z Accept: 'application/json, text/plain, */*',
2025-11-01T00:53:40.420186218Z 'Accept-Encoding': 'identity',
2025-11-01T00:53:40.420231076Z 'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)'
2025-11-01T00:53:40.420294139Z },
2025-11-01T00:53:40.420332295Z method: 'get',
2025-11-01T00:53:40.420372632Z url: 'https://fa.edge.foxdtc.digitalvideoplatform.com/1762038000_abc9eb99858f0365397eb06e135212dc4d549007/*~/live-dr/ktxl-ue2/index_2.m3u8?zipcode=95630',
2025-11-01T00:53:40.420429166Z data: undefined
2025-11-01T00:53:40.420535657Z },
2025-11-01T00:53:40.420576941Z request: <ref *1> Writable {
2025-11-01T00:53:40.420664791Z _writableState: WritableState {
2025-11-01T00:53:40.420711476Z objectMode: false,
2025-11-01T00:53:40.420751978Z highWaterMark: 16384,
2025-11-01T00:53:40.420791598Z finalCalled: false,
2025-11-01T00:53:40.420832388Z needDrain: false,
2025-11-01T00:53:40.420880000Z ending: false,
2025-11-01T00:53:40.420920798Z ended: false,
2025-11-01T00:53:40.420973564Z finished: false,
2025-11-01T00:53:40.421015609Z destroyed: false,
2025-11-01T00:53:40.421056883Z decodeStrings: true,
2025-11-01T00:53:40.421098582Z defaultEncoding: 'utf8',
2025-11-01T00:53:40.421139280Z length: 0,
2025-11-01T00:53:40.421178908Z writing: false,
2025-11-01T00:53:40.421218989Z corked: 0,
2025-11-01T00:53:40.421261161Z sync: true,
2025-11-01T00:53:40.421300640Z bufferProcessing: false,
2025-11-01T00:53:40.421340789Z onwrite: [Function: bound onwrite],
2025-11-01T00:53:40.421382644Z writecb: null,
2025-11-01T00:53:40.421421405Z writelen: 0,
2025-11-01T00:53:40.421462533Z afterWriteTickInfo: null,
2025-11-01T00:53:40.421502119Z buffered: [],
2025-11-01T00:53:40.421541129Z bufferedIndex: 0,
2025-11-01T00:53:40.421585297Z allBuffers: true,
2025-11-01T00:53:40.421656065Z allNoop: true,
2025-11-01T00:53:40.421698401Z pendingcb: 0,
2025-11-01T00:53:40.421739609Z constructed: true,
2025-11-01T00:53:40.421779002Z prefinished: false,
2025-11-01T00:53:40.421817928Z errorEmitted: false,
2025-11-01T00:53:40.421860129Z emitClose: true,
2025-11-01T00:53:40.421899098Z autoDestroy: true,
2025-11-01T00:53:40.421937884Z errored: null,
2025-11-01T00:53:40.421976636Z closed: false,
2025-11-01T00:53:40.422015639Z closeEmitted: false,
2025-11-01T00:53:40.422054537Z [Symbol(kOnFinished)]: []
2025-11-01T00:53:40.422095476Z },
2025-11-01T00:53:40.422131401Z _events: [Object: null prototype] {
2025-11-01T00:53:40.422174417Z response: [Function: handleResponse],
2025-11-01T00:53:40.422215276Z error: [Function: handleRequestError],
2025-11-01T00:53:40.422257909Z socket: [Array]
2025-11-01T00:53:40.422303674Z },
2025-11-01T00:53:40.422339540Z _eventsCount: 3,
2025-11-01T00:53:40.422378816Z _maxListeners: undefined,
2025-11-01T00:53:40.422418559Z _options: {
2025-11-01T00:53:40.422455981Z maxRedirects: 21,
2025-11-01T00:53:40.422495350Z maxBodyLength: Infinity,
2025-11-01T00:53:40.422535278Z protocol: 'https:',
2025-11-01T00:53:40.422575116Z path: '/1762038000_abc9eb99858f0365397eb06e135212dc4d549007/*~/live-dr/ktxl-ue2/index_2.m3u8?zipcode=95630',
2025-11-01T00:53:40.422633505Z method: 'GET',
2025-11-01T00:53:40.422673164Z headers: [Object: null prototype],
2025-11-01T00:53:40.422712924Z agents: [Object],
2025-11-01T00:53:40.422751242Z auth: undefined,
2025-11-01T00:53:40.422791946Z beforeRedirect: [Function: dispatchBeforeRedirect],
2025-11-01T00:53:40.422833842Z beforeRedirects: [Object],
2025-11-01T00:53:40.422879647Z hostname: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-11-01T00:53:40.422923495Z port: '',
2025-11-01T00:53:40.422962480Z agent: undefined,
2025-11-01T00:53:40.423000905Z nativeProtocols: [Object],
2025-11-01T00:53:40.423040995Z pathname: '/1762038000_abc9eb99858f0365397eb06e135212dc4d549007/*~/live-dr/ktxl-ue2/index_2.m3u8',
2025-11-01T00:53:40.423085539Z search: '?zipcode=95630'
2025-11-01T00:53:40.423125266Z },
2025-11-01T00:53:40.423160782Z _ended: true,
2025-11-01T00:53:40.423199518Z _ending: true,
2025-11-01T00:53:40.423238736Z _redirectCount: 0,
2025-11-01T00:53:40.423277135Z _redirects: [],
2025-11-01T00:53:40.423314613Z _requestBodyLength: 0,
2025-11-01T00:53:40.423354332Z _requestBodyBuffers: [],
2025-11-01T00:53:40.423393671Z _onNativeResponse: [Function (anonymous)],
2025-11-01T00:53:40.423437928Z _currentRequest: ClientRequest {
2025-11-01T00:53:40.423478594Z _events: [Object: null prototype],
2025-11-01T00:53:40.423519779Z _eventsCount: 7,
2025-11-01T00:53:40.423559159Z _maxListeners: undefined,
2025-11-01T00:53:40.423602483Z outputData: [],
2025-11-01T00:53:40.423648492Z outputSize: 0,
2025-11-01T00:53:40.423687370Z writable: true,
2025-11-01T00:53:40.423726151Z destroyed: false,
2025-11-01T00:53:40.423764938Z _last: true,
2025-11-01T00:53:40.423805141Z chunkedEncoding: false,
2025-11-01T00:53:40.423845111Z shouldKeepAlive: false,
2025-11-01T00:53:40.423886815Z maxRequestsOnConnectionReached: false,
2025-11-01T00:53:40.423926983Z _defaultKeepAlive: true,
2025-11-01T00:53:40.423966030Z useChunkedEncodingByDefault: false,
2025-11-01T00:53:40.424005602Z sendDate: false,
2025-11-01T00:53:40.424047092Z _removedConnection: false,
2025-11-01T00:53:40.424086541Z _removedContLen: false,
2025-11-01T00:53:40.424128238Z _removedTE: false,
2025-11-01T00:53:40.424167090Z strictContentLength: false,
2025-11-01T00:53:40.424206960Z _contentLength: 0,
2025-11-01T00:53:40.424247341Z _hasBody: true,
2025-11-01T00:53:40.424286779Z _trailer: '',
2025-11-01T00:53:40.424324855Z finished: true,
2025-11-01T00:53:40.424362694Z _headerSent: true,
2025-11-01T00:53:40.424401407Z _closed: false,
2025-11-01T00:53:40.424440494Z socket: [TLSSocket],
2025-11-01T00:53:40.424478644Z _header: 'GET /1762038000_abc9eb99858f0365397eb06e135212dc4d549007/*~/live-dr/ktxl-ue2/index_2.m3u8?zipcode=95630 HTTP/1.1\r\n' +
2025-11-01T00:53:40.424528544Z 'Accept: application/json, text/plain, */*\r\n' +
2025-11-01T00:53:40.424570875Z 'Accept-Encoding: identity\r\n' +
2025-11-01T00:53:40.424611737Z 'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-11-01T00:53:40.424674886Z 'Host: fa.edge.foxdtc.digitalvideoplatform.com\r\n' +
2025-11-01T00:53:40.424718897Z 'Connection: close\r\n' +
2025-11-01T00:53:40.424759792Z '\r\n',
2025-11-01T00:53:40.424796912Z _keepAliveTimeout: 0,
2025-11-01T00:53:40.424835062Z _onPendingData: [Function: nop],
2025-11-01T00:53:40.424879312Z agent: [Agent],
2025-11-01T00:53:40.424924482Z socketPath: undefined,
2025-11-01T00:53:40.424964912Z method: 'GET',
2025-11-01T00:53:40.425003999Z maxHeaderSize: undefined,
2025-11-01T00:53:40.425044182Z insecureHTTPParser: undefined,
2025-11-01T00:53:40.425084061Z joinDuplicateHeaders: undefined,
2025-11-01T00:53:40.425126435Z path: '/1762038000_abc9eb99858f0365397eb06e135212dc4d549007/*~/live-dr/ktxl-ue2/index_2.m3u8?zipcode=95630',
2025-11-01T00:53:40.425171452Z _ended: false,
2025-11-01T00:53:40.425211275Z res: null,
2025-11-01T00:53:40.425250426Z aborted: false,
2025-11-01T00:53:40.425289441Z timeoutCb: null,
2025-11-01T00:53:40.425328066Z upgradeOrConnect: false,
2025-11-01T00:53:40.425369935Z parser: null,
2025-11-01T00:53:40.425408314Z maxHeadersCount: null,
2025-11-01T00:53:40.425446996Z reusedSocket: false,
2025-11-01T00:53:40.425485942Z host: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-11-01T00:53:40.425526704Z protocol: 'https:',
2025-11-01T00:53:40.425564523Z _redirectable: [Circular *1],
2025-11-01T00:53:40.425603940Z [Symbol(kCapture)]: false,
2025-11-01T00:53:40.425655428Z [Symbol(kBytesWritten)]: 0,
2025-11-01T00:53:40.425694988Z [Symbol(kNeedDrain)]: false,
2025-11-01T00:53:40.425738418Z [Symbol(corked)]: 0,
2025-11-01T00:53:40.425777672Z [Symbol(kOutHeaders)]: [Object: null prototype],
2025-11-01T00:53:40.425821329Z [Symbol(errored)]: null,
2025-11-01T00:53:40.425860320Z [Symbol(kHighWaterMark)]: 16384,
2025-11-01T00:53:40.425900731Z [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-11-01T00:53:40.425941831Z [Symbol(kUniqueHeaders)]: null
2025-11-01T00:53:40.425983531Z },
2025-11-01T00:53:40.426022448Z _currentUrl: 'https://fa.edge.foxdtc.digitalvideoplatform.com/1762038000_abc9eb99858f0365397eb06e135212dc4d549007/*~/live-dr/ktxl-ue2/index_2.m3u8?zipcode=95630',
2025-11-01T00:53:40.426072264Z _timeout: null,
2025-11-01T00:53:40.426111418Z [Symbol(kCapture)]: false
2025-11-01T00:53:40.426150247Z },
2025-11-01T00:53:40.426186121Z cause: Error: getaddrinfo ENOTFOUND fa.edge.foxdtc.digitalvideoplatform.com
2025-11-01T00:53:40.426235526Z at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) {
2025-11-01T00:53:40.426309828Z errno: -3007,
2025-11-01T00:53:40.426353051Z code: 'ENOTFOUND',
2025-11-01T00:53:40.426393758Z syscall: 'getaddrinfo',
2025-11-01T00:53:40.426432760Z hostname: 'fa.edge.foxdtc.digitalvideoplatform.com'
2025-11-01T00:53:40.426473397Z }
2025-11-01T00:53:40.426509341Z }
2025-11-01T00:53:46.762744081Z Channel #210 has an active event (2025 World Series: Game 6 - Dodgers at Blue Jays). Going to start the stream.
Taking a break now so I can actually watch some things.
That’s odd. When you get a chance later can you look through the container logs for the related errors and post here?
That was it for today (2 of 6 interrupted).
I'm thinking my pinchflat container (which has been crashing a lot) running on the same device may be a resource hog, so just stopped it for now.
Will see how recordings go tomorrow with that container stopped 
Yeah...pinchflat uses wayy too much resources to my taste so thats why I use ytdl-sub instead. You may need to set a memory limit for pinchflat
Sorry got busy with Halloween activities.
Did all you suggested.
I did get get this as you predicted: {"status":false,"error":{"err_code":"ERR_PKG_001","err_str":"empty api key header","err_msg":"Unauthorised"}}
Been testing some Fox News Channel today and it seems to be dying out again like yesterday...
2025-11-01 13:02:26.768 | === Done building the schedule ===
2025-11-01 13:03:01.534 | Channel #1 has an active event (LiveNOW from FOX). Going to start the stream.
2025-11-01 13:03:10.205 | Channel #2 has an active event (College Football - West Virginia at Houston). Going to start the stream.
2025-11-01 13:03:15.274 | Channel #3 has an active event (College Football - Penn State at Ohio State). Going to start the stream.
2025-11-01 13:03:16.119 | Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01 13:03:20.450 | Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01 13:03:21.718 | Channel #4 has an active event (Horse Racing - America's Day At the Races). Going to start the stream.
2025-11-01 13:03:22.433 | Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01 13:03:25.325 | Channel #5 has an active event (Fox News Live). Going to start the stream.
2025-11-01 13:07:45.617 | AxiosError: timeout of 60000ms exceeded
2025-11-01 13:07:45.620 | at RedirectableRequest.handleRequestTimeout (/app/node_modules/axios/lib/adapters/http.js:570:16)
2025-11-01 13:07:45.620 | at RedirectableRequest.emit (node:events:517:28)
2025-11-01 13:07:45.620 | at RedirectableRequest.emit (node:domain:489:12)
2025-11-01 13:07:45.620 | at Timeout.<anonymous> (/app/node_modules/follow-redirects/index.js:169:12)
2025-11-01 13:07:45.620 | at listOnTimeout (node:internal/timers:569:17)
2025-11-01 13:07:45.620 | at processTimers (node:internal/timers:512:7) {
2025-11-01 13:07:45.620 | code: 'ECONNABORTED',
2025-11-01 13:07:45.620 | config: {
2025-11-01 13:07:45.620 | transitional: {
2025-11-01 13:07:45.620 | silentJSONParsing: true,
2025-11-01 13:07:45.620 | forcedJSONParsing: true,
2025-11-01 13:07:45.620 | clarifyTimeoutError: false
2025-11-01 13:07:45.620 | },
2025-11-01 13:07:45.620 | adapter: [ 'xhr', 'http' ],
2025-11-01 13:07:45.620 | transformRequest: [ [Function: transformRequest] ],
2025-11-01 13:07:45.620 | transformResponse: [ [Function: transformResponse] ],
2025-11-01 13:07:45.620 | timeout: 60000,
2025-11-01 13:07:45.620 | xsrfCookieName: 'XSRF-TOKEN',
2025-11-01 13:07:45.620 | xsrfHeaderName: 'X-XSRF-TOKEN',
2025-11-01 13:07:45.620 | maxContentLength: -1,
2025-11-01 13:07:45.620 | maxBodyLength: -1,
2025-11-01 13:07:45.620 | env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-11-01 13:07:45.620 | validateStatus: [Function: validateStatus],
2025-11-01 13:07:45.620 | headers: AxiosHeaders {
2025-11-01 13:07:45.620 | Accept: 'application/json, text/plain, */*',
2025-11-01 13:07:45.620 | 'Accept-Encoding': 'identity',
2025-11-01 13:07:45.620 | 'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)'
2025-11-01 13:07:45.620 | },
2025-11-01 13:07:45.620 | method: 'get',
2025-11-01 13:07:45.620 | url: 'https://fa.edge.foxdtc.digitalvideoplatform.com/1762106604_ac9c687cbde21ac21e43be8a369300bec483be5d/*~/live-dr/fnc-ue2/index_7.m3u8',
2025-11-01 13:07:45.620 | data: undefined
2025-11-01 13:07:45.620 | },
2025-11-01 13:07:45.620 | request: <ref *1> Writable {
2025-11-01 13:07:45.620 | _writableState: WritableState {
2025-11-01 13:07:45.620 | objectMode: false,
2025-11-01 13:07:45.620 | highWaterMark: 16384,
2025-11-01 13:07:45.620 | finalCalled: false,
2025-11-01 13:07:45.620 | needDrain: false,
2025-11-01 13:07:45.620 | ending: false,
2025-11-01 13:07:45.620 | ended: false,
2025-11-01 13:07:45.620 | finished: false,
2025-11-01 13:07:45.620 | destroyed: false,
2025-11-01 13:07:45.620 | decodeStrings: true,
2025-11-01 13:07:45.620 | defaultEncoding: 'utf8',
2025-11-01 13:07:45.620 | length: 0,
2025-11-01 13:07:45.620 | writing: false,
2025-11-01 13:07:45.620 | corked: 0,
2025-11-01 13:07:45.620 | sync: true,
2025-11-01 13:07:45.620 | bufferProcessing: false,
2025-11-01 13:07:45.620 | onwrite: [Function: bound onwrite],
2025-11-01 13:07:45.620 | writecb: null,
2025-11-01 13:07:45.620 | writelen: 0,
2025-11-01 13:07:45.620 | afterWriteTickInfo: null,
2025-11-01 13:07:45.620 | buffered: [],
2025-11-01 13:07:45.620 | bufferedIndex: 0,
2025-11-01 13:07:45.620 | allBuffers: true,
2025-11-01 13:07:45.620 | allNoop: true,
2025-11-01 13:07:45.620 | pendingcb: 0,
2025-11-01 13:07:45.620 | constructed: true,
2025-11-01 13:07:45.620 | prefinished: false,
2025-11-01 13:07:45.620 | errorEmitted: false,
2025-11-01 13:07:45.620 | emitClose: true,
2025-11-01 13:07:45.620 | autoDestroy: true,
2025-11-01 13:07:45.620 | errored: null,
2025-11-01 13:07:45.620 | closed: false,
2025-11-01 13:07:45.620 | closeEmitted: false,
2025-11-01 13:07:45.620 | [Symbol(kOnFinished)]: []
2025-11-01 13:07:45.620 | },
2025-11-01 13:07:45.620 | _events: [Object: null prototype] {
2025-11-01 13:07:45.620 | response: [Function: handleResponse],
2025-11-01 13:07:45.620 | error: [Function: handleRequestError],
2025-11-01 13:07:45.620 | socket: [Array]
2025-11-01 13:07:45.620 | },
2025-11-01 13:07:45.620 | _eventsCount: 3,
2025-11-01 13:07:45.620 | _maxListeners: undefined,
2025-11-01 13:07:45.620 | _options: {
2025-11-01 13:07:45.620 | maxRedirects: 21,
2025-11-01 13:07:45.620 | maxBodyLength: Infinity,
2025-11-01 13:07:45.620 | protocol: 'https:',
2025-11-01 13:07:45.620 | path: '/1762106604_ac9c687cbde21ac21e43be8a369300bec483be5d/*~/live-dr/fnc-ue2/index_7.m3u8',
2025-11-01 13:07:45.620 | method: 'GET',
2025-11-01 13:07:45.620 | headers: [Object: null prototype],
2025-11-01 13:07:45.620 | agents: [Object],
2025-11-01 13:07:45.620 | auth: undefined,
2025-11-01 13:07:45.620 | beforeRedirect: [Function: dispatchBeforeRedirect],
2025-11-01 13:07:45.620 | beforeRedirects: [Object],
2025-11-01 13:07:45.620 | hostname: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-11-01 13:07:45.620 | port: '',
2025-11-01 13:07:45.620 | agent: undefined,
2025-11-01 13:07:45.620 | nativeProtocols: [Object],
2025-11-01 13:07:45.620 | pathname: '/1762106604_ac9c687cbde21ac21e43be8a369300bec483be5d/*~/live-dr/fnc-ue2/index_7.m3u8'
2025-11-01 13:07:45.620 | },
2025-11-01 13:07:45.620 | _ended: true,
2025-11-01 13:07:45.620 | _ending: true,
2025-11-01 13:07:45.620 | _redirectCount: 0,
2025-11-01 13:07:45.620 | _redirects: [],
2025-11-01 13:07:45.620 | _requestBodyLength: 0,
2025-11-01 13:07:45.620 | _requestBodyBuffers: [],
2025-11-01 13:07:45.620 | _onNativeResponse: [Function (anonymous)],
2025-11-01 13:07:45.620 | _currentRequest: ClientRequest {
2025-11-01 13:07:45.620 | _events: [Object: null prototype],
2025-11-01 13:07:45.620 | _eventsCount: 7,
2025-11-01 13:07:45.620 | _maxListeners: undefined,
2025-11-01 13:07:45.620 | outputData: [],
2025-11-01 13:07:45.620 | outputSize: 0,
2025-11-01 13:07:45.620 | writable: true,
2025-11-01 13:07:45.620 | destroyed: false,
2025-11-01 13:07:45.620 | _last: true,
2025-11-01 13:07:45.620 | chunkedEncoding: false,
2025-11-01 13:07:45.620 | shouldKeepAlive: false,
2025-11-01 13:07:45.620 | maxRequestsOnConnectionReached: false,
2025-11-01 13:07:45.620 | _defaultKeepAlive: true,
2025-11-01 13:07:45.620 | useChunkedEncodingByDefault: false,
2025-11-01 13:07:45.621 | sendDate: false,
2025-11-01 13:07:45.621 | _removedConnection: false,
2025-11-01 13:07:45.621 | _removedContLen: false,
2025-11-01 13:07:45.621 | _removedTE: false,
2025-11-01 13:07:45.621 | strictContentLength: false,
2025-11-01 13:07:45.621 | _contentLength: 0,
2025-11-01 13:07:45.621 | _hasBody: true,
2025-11-01 13:07:45.621 | _trailer: '',
2025-11-01 13:07:45.621 | finished: true,
2025-11-01 13:07:45.621 | _headerSent: true,
2025-11-01 13:07:45.621 | _closed: false,
2025-11-01 13:07:45.621 | socket: [TLSSocket],
2025-11-01 13:07:45.621 | _header: 'GET /1762106604_ac9c687cbde21ac21e43be8a369300bec483be5d/*~/live-dr/fnc-ue2/index_7.m3u8 HTTP/1.1\r\n' +
2025-11-01 13:07:45.621 | 'Accept: application/json, text/plain, */*\r\n' +
2025-11-01 13:07:45.621 | 'Accept-Encoding: identity\r\n' +
2025-11-01 13:07:45.621 | 'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-11-01 13:07:45.621 | 'Host: fa.edge.foxdtc.digitalvideoplatform.com\r\n' +
2025-11-01 13:07:45.621 | 'Connection: close\r\n' +
2025-11-01 13:07:45.621 | '\r\n',
2025-11-01 13:07:45.621 | _keepAliveTimeout: 0,
2025-11-01 13:07:45.621 | _onPendingData: [Function: nop],
2025-11-01 13:07:45.621 | agent: [Agent],
2025-11-01 13:07:45.621 | socketPath: undefined,
2025-11-01 13:07:45.621 | method: 'GET',
2025-11-01 13:07:45.621 | maxHeaderSize: undefined,
2025-11-01 13:07:45.621 | insecureHTTPParser: undefined,
2025-11-01 13:07:45.621 | joinDuplicateHeaders: undefined,
2025-11-01 13:07:45.621 | path: '/1762106604_ac9c687cbde21ac21e43be8a369300bec483be5d/*~/live-dr/fnc-ue2/index_7.m3u8',
2025-11-01 13:07:45.621 | _ended: false,
2025-11-01 13:07:45.621 | res: null,
2025-11-01 13:07:45.621 | aborted: false,
2025-11-01 13:07:45.621 | timeoutCb: null,
2025-11-01 13:07:45.621 | upgradeOrConnect: false,
2025-11-01 13:07:45.621 | parser: [HTTPParser],
2025-11-01 13:07:45.621 | maxHeadersCount: null,
2025-11-01 13:07:45.621 | reusedSocket: false,
2025-11-01 13:07:45.621 | host: 'fa.edge.foxdtc.digitalvideoplatform.com',
2025-11-01 13:07:45.621 | protocol: 'https:',
2025-11-01 13:07:45.621 | _redirectable: [Circular *1],
2025-11-01 13:07:45.621 | [Symbol(kCapture)]: false,
2025-11-01 13:07:45.621 | [Symbol(kBytesWritten)]: 0,
2025-11-01 13:07:45.621 | [Symbol(kNeedDrain)]: false,
2025-11-01 13:07:45.621 | [Symbol(corked)]: 0,
2025-11-01 13:07:45.621 | [Symbol(kOutHeaders)]: [Object: null prototype],
2025-11-01 13:07:45.621 | [Symbol(errored)]: null,
2025-11-01 13:07:45.621 | [Symbol(kHighWaterMark)]: 16384,
2025-11-01 13:07:45.621 | [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-11-01 13:07:45.621 | [Symbol(kUniqueHeaders)]: null
2025-11-01 13:07:45.621 | },
2025-11-01 13:07:45.621 | _currentUrl: 'https://fa.edge.foxdtc.digitalvideoplatform.com/1762106604_ac9c687cbde21ac21e43be8a369300bec483be5d/*~/live-dr/fnc-ue2/index_7.m3u8',
2025-11-01 13:07:45.621 | _timeout: null,
2025-11-01 13:07:45.621 | [Symbol(kCapture)]: false
2025-11-01 13:07:45.621 | }
2025-11-01 13:07:45.621 | }
2025-11-01 13:07:45.617 | Could not parse chunklist properly!
2025-11-01 13:07:45.620 | Could not get chunklist for channel #5.
2025-11-01 13:08:36.424 | Channel #5 has an active event (Fox News Live). Going to start the stream.
2025-11-01 13:09:14.731 | Channel #1 has been idle for more than 5 minutes. Removing playlist info.
2025-11-01 13:10:14.728 | Channel #2 has been idle for more than 5 minutes. Removing playlist info.
2025-11-01 13:10:14.728 | Channel #3 has been idle for more than 5 minutes. Removing playlist info.
2025-11-01 13:10:14.728 | Channel #4 has been idle for more than 5 minutes. Removing playlist info.
2025-11-01 13:10:15.209 | AxiosError: timeout of 60000ms exceeded
2025-11-01 13:10:15.209 | at RedirectableRequest.handleRequestTimeout (/app/node_modules/axios/lib/adapters/http.js:570:16)
2025-11-01 13:10:15.209 | at RedirectableRequest.emit (node:events:517:28)
2025-11-01 13:10:15.209 | at RedirectableRequest.emit (node:domain:489:12)
2025-11-01 13:10:15.209 | at Timeout.<anonymous> (/app/node_modules/follow-redirects/index.js:169:12)
2025-11-01 13:10:15.209 | at listOnTimeout (node:internal/timers:569:17)
2025-11-01 13:10:15.209 | at processTimers (node:internal/timers:512:7) {
2025-11-01 13:10:15.209 | code: 'ECONNABORTED',
2025-11-01 13:10:15.209 | config: {
2025-11-01 13:10:15.209 | transitional: {
2025-11-01 13:10:15.209 | silentJSONParsing: true,
2025-11-01 13:10:15.209 | forcedJSONParsing: true,
2025-11-01 13:10:15.209 | clarifyTimeoutError: false
2025-11-01 13:10:15.209 | },
2025-11-01 13:10:15.209 | adapter: [ 'xhr', 'http' ],
2025-11-01 13:10:15.209 | transformRequest: [ [Function: transformRequest] ],
2025-11-01 13:10:15.209 | transformResponse: [ [Function: transformResponse] ],
2025-11-01 13:10:15.209 | timeout: 60000,
2025-11-01 13:10:15.209 | xsrfCookieName: 'XSRF-TOKEN',
2025-11-01 13:10:15.209 | xsrfHeaderName: 'X-XSRF-TOKEN',
2025-11-01 13:10:15.209 | maxContentLength: -1,
2025-11-01 13:10:15.209 | maxBodyLength: -1,
2025-11-01 13:10:15.209 | env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-11-01 13:10:15.209 | validateStatus: [Function: validateStatus],
2025-11-01 13:10:15.209 | headers: AxiosHeaders {
2025-11-01 13:10:15.209 | Accept: 'application/json, text/plain, */*',
2025-11-01 13:10:15.209 | 'Accept-Encoding': 'identity',
2025-11-01 13:10:15.209 | 'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)'
2025-11-01 13:10:15.209 | },
2025-11-01 13:10:15.209 | method: 'get',
2025-11-01 13:10:15.209 | url: 'https://foxdtc-video.akamaized.net/live-dr/fnc-ue2/hdntl=exp=1762106915~acl=%2f*~data=hdntl~hmac=5ed4aec1f72470df16e685f64fd8292efa95e6b6e9a93397383267b2a9da2562/index_7.m3u8',
2025-11-01 13:10:15.209 | data: undefined
2025-11-01 13:10:15.209 | },
2025-11-01 13:10:15.209 | request: <ref *1> Writable {
2025-11-01 13:10:15.209 | _writableState: WritableState {
2025-11-01 13:10:15.209 | objectMode: false,
2025-11-01 13:10:15.209 | highWaterMark: 16384,
2025-11-01 13:10:15.209 | finalCalled: false,
2025-11-01 13:10:15.209 | needDrain: false,
2025-11-01 13:10:15.209 | ending: false,
2025-11-01 13:10:15.209 | ended: false,
2025-11-01 13:10:15.209 | finished: false,
2025-11-01 13:10:15.209 | destroyed: false,
2025-11-01 13:10:15.209 | decodeStrings: true,
2025-11-01 13:10:15.209 | Could not parse chunklist properly!
2025-11-01 13:10:15.209 | Could not get chunklist for channel #5.
2025-11-01 13:10:15.209 | defaultEncoding: 'utf8',
2025-11-01 13:10:15.209 | length: 0,
2025-11-01 13:10:15.209 | writing: false,
2025-11-01 13:10:15.209 | corked: 0,
2025-11-01 13:10:15.209 | sync: true,
2025-11-01 13:10:15.209 | bufferProcessing: false,
2025-11-01 13:10:15.209 | onwrite: [Function: bound onwrite],
2025-11-01 13:10:15.209 | writecb: null,
2025-11-01 13:10:15.209 | writelen: 0,
2025-11-01 13:10:15.209 | afterWriteTickInfo: null,
2025-11-01 13:10:15.209 | buffered: [],
2025-11-01 13:10:15.209 | bufferedIndex: 0,
2025-11-01 13:10:15.209 | allBuffers: true,
2025-11-01 13:10:15.209 | allNoop: true,
2025-11-01 13:10:15.209 | pendingcb: 0,
2025-11-01 13:10:15.209 | constructed: true,
2025-11-01 13:10:15.209 | prefinished: false,
2025-11-01 13:10:15.209 | errorEmitted: false,
2025-11-01 13:10:15.209 | emitClose: true,
2025-11-01 13:10:15.209 | autoDestroy: true,
2025-11-01 13:10:15.209 | errored: null,
2025-11-01 13:10:15.209 | closed: false,
2025-11-01 13:10:15.209 | closeEmitted: false,
2025-11-01 13:10:15.209 | [Symbol(kOnFinished)]: []
2025-11-01 13:10:15.209 | },
2025-11-01 13:10:15.209 | _events: [Object: null prototype] {
2025-11-01 13:10:15.209 | response: [Function: handleResponse],
2025-11-01 13:10:15.209 | error: [Function: handleRequestError],
2025-11-01 13:10:15.209 | socket: [Array]
2025-11-01 13:10:15.209 | },
2025-11-01 13:10:15.209 | _eventsCount: 3,
2025-11-01 13:10:15.209 | _maxListeners: undefined,
2025-11-01 13:10:15.209 | _options: {
2025-11-01 13:10:15.209 | maxRedirects: 21,
2025-11-01 13:10:15.209 | maxBodyLength: Infinity,
2025-11-01 13:10:15.209 | protocol: 'https:',
2025-11-01 13:10:15.209 | path: '/live-dr/fnc-ue2/hdntl=exp=1762106915~acl=%2f*~data=hdntl~hmac=5ed4aec1f72470df16e685f64fd8292efa95e6b6e9a93397383267b2a9da2562/index_7.m3u8',
2025-11-01 13:10:15.209 | method: 'GET',
2025-11-01 13:10:15.209 | headers: [Object: null prototype],
2025-11-01 13:10:15.209 | agents: [Object],
2025-11-01 13:10:15.209 | auth: undefined,
2025-11-01 13:10:15.209 | beforeRedirect: [Function: dispatchBeforeRedirect],
2025-11-01 13:10:15.209 | beforeRedirects: [Object],
2025-11-01 13:10:15.209 | hostname: 'foxdtc-video.akamaized.net',
2025-11-01 13:10:15.209 | port: '',
2025-11-01 13:10:15.209 | agent: undefined,
2025-11-01 13:10:15.209 | nativeProtocols: [Object],
2025-11-01 13:10:15.209 | pathname: '/live-dr/fnc-ue2/hdntl=exp=1762106915~acl=%2f*~data=hdntl~hmac=5ed4aec1f72470df16e685f64fd8292efa95e6b6e9a93397383267b2a9da2562/index_7.m3u8'
2025-11-01 13:10:15.209 | },
2025-11-01 13:10:15.209 | _ended: true,
2025-11-01 13:10:15.209 | _ending: true,
2025-11-01 13:10:15.209 | _redirectCount: 0,
2025-11-01 13:10:15.209 | _redirects: [],
2025-11-01 13:10:15.209 | _requestBodyLength: 0,
2025-11-01 13:10:15.209 | _requestBodyBuffers: [],
2025-11-01 13:10:15.209 | _onNativeResponse: [Function (anonymous)],
2025-11-01 13:10:15.209 | _currentRequest: ClientRequest {
2025-11-01 13:10:15.209 | _events: [Object: null prototype],
2025-11-01 13:10:15.209 | _eventsCount: 7,
2025-11-01 13:10:15.209 | _maxListeners: undefined,
2025-11-01 13:10:15.209 | outputData: [],
2025-11-01 13:10:15.209 | outputSize: 0,
2025-11-01 13:10:15.209 | writable: true,
2025-11-01 13:10:15.209 | destroyed: false,
2025-11-01 13:10:15.209 | _last: true,
2025-11-01 13:10:15.209 | chunkedEncoding: false,
2025-11-01 13:10:15.209 | shouldKeepAlive: false,
2025-11-01 13:10:15.209 | maxRequestsOnConnectionReached: false,
2025-11-01 13:10:15.209 | _defaultKeepAlive: true,
2025-11-01 13:10:15.209 | useChunkedEncodingByDefault: false,
2025-11-01 13:10:15.209 | sendDate: false,
2025-11-01 13:10:15.209 | _removedConnection: false,
2025-11-01 13:10:15.209 | _removedContLen: false,
2025-11-01 13:10:15.209 | _removedTE: false,
2025-11-01 13:10:15.209 | strictContentLength: false,
2025-11-01 13:10:15.209 | _contentLength: 0,
2025-11-01 13:10:15.209 | _hasBody: true,
2025-11-01 13:10:15.209 | _trailer: '',
2025-11-01 13:10:15.209 | finished: true,
2025-11-01 13:10:15.209 | _headerSent: true,
2025-11-01 13:10:15.209 | _closed: false,
2025-11-01 13:10:15.209 | socket: [TLSSocket],
2025-11-01 13:10:15.209 | _header: 'GET /live-dr/fnc-ue2/hdntl=exp=1762106915~acl=%2f*~data=hdntl~hmac=5ed4aec1f72470df16e685f64fd8292efa95e6b6e9a93397383267b2a9da2562/index_7.m3u8 HTTP/1.1\r\n' +
2025-11-01 13:10:15.209 | 'Accept: application/json, text/plain, */*\r\n' +
2025-11-01 13:10:15.209 | 'Accept-Encoding: identity\r\n' +
2025-11-01 13:10:15.209 | 'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-11-01 13:10:15.209 | 'Host: foxdtc-video.akamaized.net\r\n' +
2025-11-01 13:10:15.209 | 'Connection: close\r\n' +
2025-11-01 13:10:15.209 | '\r\n',
2025-11-01 13:10:15.209 | _keepAliveTimeout: 0,
2025-11-01 13:10:15.209 | _onPendingData: [Function: nop],
2025-11-01 13:10:15.209 | agent: [Agent],
2025-11-01 13:10:15.209 | socketPath: undefined,
2025-11-01 13:10:15.209 | method: 'GET',
2025-11-01 13:10:15.210 | maxHeaderSize: undefined,
2025-11-01 13:10:15.210 | insecureHTTPParser: undefined,
2025-11-01 13:10:15.210 | joinDuplicateHeaders: undefined,
2025-11-01 13:10:15.210 | path: '/live-dr/fnc-ue2/hdntl=exp=1762106915~acl=%2f*~data=hdntl~hmac=5ed4aec1f72470df16e685f64fd8292efa95e6b6e9a93397383267b2a9da2562/index_7.m3u8',
2025-11-01 13:10:15.210 | _ended: false,
2025-11-01 13:10:15.210 | res: null,
2025-11-01 13:10:15.210 | aborted: false,
2025-11-01 13:10:15.210 | timeoutCb: null,
2025-11-01 13:10:15.210 | upgradeOrConnect: false,
2025-11-01 13:10:15.210 | parser: [HTTPParser],
2025-11-01 13:10:15.210 | maxHeadersCount: null,
2025-11-01 13:10:15.210 | reusedSocket: false,
2025-11-01 13:10:15.210 | host: 'foxdtc-video.akamaized.net',
2025-11-01 13:10:15.210 | protocol: 'https:',
2025-11-01 13:10:15.210 | _redirectable: [Circular *1],
2025-11-01 13:10:15.210 | [Symbol(kCapture)]: false,
2025-11-01 13:10:15.210 | [Symbol(kBytesWritten)]: 0,
2025-11-01 13:10:15.210 | [Symbol(kNeedDrain)]: false,
2025-11-01 13:10:15.210 | [Symbol(corked)]: 0,
2025-11-01 13:10:15.210 | [Symbol(kOutHeaders)]: [Object: null prototype],
2025-11-01 13:10:15.210 | [Symbol(errored)]: null,
2025-11-01 13:10:15.210 | [Symbol(kHighWaterMark)]: 16384,
2025-11-01 13:10:15.210 | [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-11-01 13:10:15.210 | [Symbol(kUniqueHeaders)]: null
2025-11-01 13:10:15.210 | },
2025-11-01 13:10:15.210 | _currentUrl: 'https://foxdtc-video.akamaized.net/live-dr/fnc-ue2/hdntl=exp=1762106915~acl=%2f*~data=hdntl~hmac=5ed4aec1f72470df16e685f64fd8292efa95e6b6e9a93397383267b2a9da2562/index_7.m3u8',
2025-11-01 13:10:15.210 | _timeout: null,
2025-11-01 13:10:15.210 | [Symbol(kCapture)]: false
2025-11-01 13:10:15.210 | }
2025-11-01 13:10:15.210 | }
2025-11-01 13:12:36.673 | Channel #5 has an active event (Fox News Live). Going to start the stream.
2025-11-01 13:15:27.013 | AxiosError: timeout of 60000ms exceeded
2025-11-01 13:15:27.013 | at RedirectableRequest.handleRequestTimeout (/app/node_modules/axios/lib/adapters/http.js:570:16)
2025-11-01 13:15:27.013 | at RedirectableRequest.emit (node:events:517:28)
2025-11-01 13:15:27.013 | at RedirectableRequest.emit (node:domain:489:12)
2025-11-01 13:15:27.013 | at Timeout.<anonymous> (/app/node_modules/follow-redirects/index.js:169:12)
2025-11-01 13:15:27.013 | at listOnTimeout (node:internal/timers:569:17)
2025-11-01 13:15:27.013 | at processTimers (node:internal/timers:512:7) {
2025-11-01 13:15:27.013 | code: 'ECONNABORTED',
2025-11-01 13:15:27.013 | config: {
2025-11-01 13:15:27.013 | transitional: {
2025-11-01 13:15:27.013 | silentJSONParsing: true,
2025-11-01 13:15:27.013 | forcedJSONParsing: true,
2025-11-01 13:15:27.013 | clarifyTimeoutError: false
2025-11-01 13:15:27.013 | },
2025-11-01 13:15:27.013 | adapter: [ 'xhr', 'http' ],
2025-11-01 13:15:27.013 | transformRequest: [ [Function: transformRequest] ],
2025-11-01 13:15:27.013 | transformResponse: [ [Function: transformResponse] ],
2025-11-01 13:15:27.013 | timeout: 60000,
2025-11-01 13:15:27.013 | xsrfCookieName: 'XSRF-TOKEN',
2025-11-01 13:15:27.013 | xsrfHeaderName: 'X-XSRF-TOKEN',
2025-11-01 13:15:27.013 | maxContentLength: -1,
2025-11-01 13:15:27.013 | maxBodyLength: -1,
2025-11-01 13:15:27.013 | env: { FormData: [Function [FormData]], Blob: [class Blob] },
2025-11-01 13:15:27.013 | validateStatus: [Function: validateStatus],
2025-11-01 13:15:27.013 | headers: AxiosHeaders {
2025-11-01 13:15:27.013 | Accept: 'application/json, text/plain, */*',
2025-11-01 13:15:27.013 | 'Accept-Encoding': 'identity',
2025-11-01 13:15:27.013 | 'User-Agent': 'foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)'
2025-11-01 13:15:27.013 | },
2025-11-01 13:15:27.013 | method: 'get',
2025-11-01 13:15:27.013 | url: 'https://foxdtc-video.akamaized.net/live-dr/fnc-ue2/hdntl=exp=1762107156~acl=%2f*~data=hdntl~hmac=61a7af9d176b233b3cbd3834359e5233f3dee95fea88912943e593d392419217/index_7.m3u8',
2025-11-01 13:15:27.013 | data: undefined
2025-11-01 13:15:27.013 | },
2025-11-01 13:15:27.013 | request: <ref *1> Writable {
2025-11-01 13:15:27.013 | _writableState: WritableState {
2025-11-01 13:15:27.013 | objectMode: false,
2025-11-01 13:15:27.013 | highWaterMark: 16384,
2025-11-01 13:15:27.013 | finalCalled: false,
2025-11-01 13:15:27.013 | needDrain: false,
2025-11-01 13:15:27.013 | ending: false,
2025-11-01 13:15:27.013 | ended: false,
2025-11-01 13:15:27.013 | finished: false,
2025-11-01 13:15:27.013 | destroyed: false,
2025-11-01 13:15:27.013 | decodeStrings: true,
2025-11-01 13:15:27.013 | defaultEncoding: 'utf8',
2025-11-01 13:15:27.013 | length: 0,
2025-11-01 13:15:27.013 | writing: false,
2025-11-01 13:15:27.013 | corked: 0,
2025-11-01 13:15:27.013 | sync: true,
2025-11-01 13:15:27.013 | bufferProcessing: false,
2025-11-01 13:15:27.013 | onwrite: [Function: bound onwrite],
2025-11-01 13:15:27.013 | writecb: null,
2025-11-01 13:15:27.013 | writelen: 0,
2025-11-01 13:15:27.013 | afterWriteTickInfo: null,
2025-11-01 13:15:27.013 | buffered: [],
2025-11-01 13:15:27.013 | bufferedIndex: 0,
2025-11-01 13:15:27.013 | allBuffers: true,
2025-11-01 13:15:27.013 | allNoop: true,
2025-11-01 13:15:27.013 | pendingcb: 0,
2025-11-01 13:15:27.013 | constructed: true,
2025-11-01 13:15:27.014 | prefinished: false,
2025-11-01 13:15:27.014 | errorEmitted: false,
2025-11-01 13:15:27.014 | emitClose: true,
2025-11-01 13:15:27.014 | autoDestroy: true,
2025-11-01 13:15:27.014 | errored: null,
2025-11-01 13:15:27.014 | closed: false,
2025-11-01 13:15:27.014 | closeEmitted: false,
2025-11-01 13:15:27.014 | [Symbol(kOnFinished)]: []
2025-11-01 13:15:27.014 | },
2025-11-01 13:15:27.014 | _events: [Object: null prototype] {
2025-11-01 13:15:27.014 | response: [Function: handleResponse],
2025-11-01 13:15:27.014 | error: [Function: handleRequestError],
2025-11-01 13:15:27.014 | socket: [Array]
2025-11-01 13:15:27.014 | },
2025-11-01 13:15:27.014 | _eventsCount: 3,
2025-11-01 13:15:27.014 | _maxListeners: undefined,
2025-11-01 13:15:27.014 | _options: {
2025-11-01 13:15:27.014 | maxRedirects: 21,
2025-11-01 13:15:27.014 | maxBodyLength: Infinity,
2025-11-01 13:15:27.014 | protocol: 'https:',
2025-11-01 13:15:27.014 | path: '/live-dr/fnc-ue2/hdntl=exp=1762107156~acl=%2f*~data=hdntl~hmac=61a7af9d176b233b3cbd3834359e5233f3dee95fea88912943e593d392419217/index_7.m3u8',
2025-11-01 13:15:27.014 | method: 'GET',
2025-11-01 13:15:27.014 | headers: [Object: null prototype],
2025-11-01 13:15:27.014 | agents: [Object],
2025-11-01 13:15:27.014 | auth: undefined,
2025-11-01 13:15:27.014 | beforeRedirect: [Function: dispatchBeforeRedirect],
2025-11-01 13:15:27.014 | beforeRedirects: [Object],
2025-11-01 13:15:27.014 | hostname: 'foxdtc-video.akamaized.net',
2025-11-01 13:15:27.014 | port: '',
2025-11-01 13:15:27.014 | agent: undefined,
2025-11-01 13:15:27.014 | nativeProtocols: [Object],
2025-11-01 13:15:27.014 | pathname: '/live-dr/fnc-ue2/hdntl=exp=1762107156~acl=%2f*~data=hdntl~hmac=61a7af9d176b233b3cbd3834359e5233f3dee95fea88912943e593d392419217/index_7.m3u8'
2025-11-01 13:15:27.014 | },
2025-11-01 13:15:27.014 | _ended: true,
2025-11-01 13:15:27.014 | _ending: true,
2025-11-01 13:15:27.014 | _redirectCount: 0,
2025-11-01 13:15:27.014 | _redirects: [],
2025-11-01 13:15:27.014 | _requestBodyLength: 0,
2025-11-01 13:15:27.014 | _requestBodyBuffers: [],
2025-11-01 13:15:27.014 | _onNativeResponse: [Function (anonymous)],
2025-11-01 13:15:27.014 | _currentRequest: ClientRequest {
2025-11-01 13:15:27.014 | _events: [Object: null prototype],
2025-11-01 13:15:27.014 | _eventsCount: 7,
2025-11-01 13:15:27.014 | _maxListeners: undefined,
2025-11-01 13:15:27.014 | outputData: [],
2025-11-01 13:15:27.014 | outputSize: 0,
2025-11-01 13:15:27.014 | writable: true,
2025-11-01 13:15:27.014 | destroyed: false,
2025-11-01 13:15:27.014 | _last: true,
2025-11-01 13:15:27.014 | chunkedEncoding: false,
2025-11-01 13:15:27.014 | shouldKeepAlive: false,
2025-11-01 13:15:27.014 | maxRequestsOnConnectionReached: false,
2025-11-01 13:15:27.014 | _defaultKeepAlive: true,
2025-11-01 13:15:27.014 | useChunkedEncodingByDefault: false,
2025-11-01 13:15:27.014 | sendDate: false,
2025-11-01 13:15:27.014 | _removedConnection: false,
2025-11-01 13:15:27.014 | _removedContLen: false,
2025-11-01 13:15:27.014 | _removedTE: false,
2025-11-01 13:15:27.014 | strictContentLength: false,
2025-11-01 13:15:27.014 | _contentLength: 0,
2025-11-01 13:15:27.014 | _hasBody: true,
2025-11-01 13:15:27.014 | _trailer: '',
2025-11-01 13:15:27.014 | finished: true,
2025-11-01 13:15:27.014 | _headerSent: true,
2025-11-01 13:15:27.014 | _closed: false,
2025-11-01 13:15:27.014 | socket: [TLSSocket],
2025-11-01 13:15:27.014 | _header: 'GET /live-dr/fnc-ue2/hdntl=exp=1762107156~acl=%2f*~data=hdntl~hmac=61a7af9d176b233b3cbd3834359e5233f3dee95fea88912943e593d392419217/index_7.m3u8 HTTP/1.1\r\n' +
2025-11-01 13:15:27.014 | 'Accept: application/json, text/plain, */*\r\n' +
2025-11-01 13:15:27.014 | 'Accept-Encoding: identity\r\n' +
2025-11-01 13:15:27.014 | 'User-Agent: foxone-androidtv/1.3.0 (Linux; Android 12; en-us; onn. 4K Streaming Box Build/SGZ1.221127.063.A1.9885170)\r\n' +
2025-11-01 13:15:27.014 | 'Host: foxdtc-video.akamaized.net\r\n' +
2025-11-01 13:15:27.014 | 'Connection: close\r\n' +
2025-11-01 13:15:27.014 | '\r\n',
2025-11-01 13:15:27.014 | _keepAliveTimeout: 0,
2025-11-01 13:15:27.014 | _onPendingData: [Function: nop],
2025-11-01 13:15:27.014 | agent: [Agent],
2025-11-01 13:15:27.014 | socketPath: undefined,
2025-11-01 13:15:27.014 | method: 'GET',
2025-11-01 13:15:27.014 | maxHeaderSize: undefined,
2025-11-01 13:15:27.014 | insecureHTTPParser: undefined,
2025-11-01 13:15:27.014 | joinDuplicateHeaders: undefined,
2025-11-01 13:15:27.014 | path: '/live-dr/fnc-ue2/hdntl=exp=1762107156~acl=%2f*~data=hdntl~hmac=61a7af9d176b233b3cbd3834359e5233f3dee95fea88912943e593d392419217/index_7.m3u8',
2025-11-01 13:15:27.014 | _ended: false,
2025-11-01 13:15:27.014 | res: null,
2025-11-01 13:15:27.014 | aborted: false,
2025-11-01 13:15:27.014 | timeoutCb: null,
2025-11-01 13:15:27.014 | upgradeOrConnect: false,
2025-11-01 13:15:27.014 | parser: [HTTPParser],
2025-11-01 13:15:27.014 | maxHeadersCount: null,
2025-11-01 13:15:27.014 | reusedSocket: false,
2025-11-01 13:15:27.014 | host: 'foxdtc-video.akamaized.net',
2025-11-01 13:15:27.014 | protocol: 'https:',
2025-11-01 13:15:27.014 | _redirectable: [Circular *1],
2025-11-01 13:15:27.014 | [Symbol(kCapture)]: false,
2025-11-01 13:15:27.014 | [Symbol(kBytesWritten)]: 0,
2025-11-01 13:15:27.014 | [Symbol(kNeedDrain)]: false,
2025-11-01 13:15:27.014 | [Symbol(corked)]: 0,
2025-11-01 13:15:27.014 | [Symbol(kOutHeaders)]: [Object: null prototype],
2025-11-01 13:15:27.014 | [Symbol(errored)]: null,
2025-11-01 13:15:27.014 | [Symbol(kHighWaterMark)]: 16384,
2025-11-01 13:15:27.014 | [Symbol(kRejectNonStandardBodyWrites)]: false,
2025-11-01 13:15:27.014 | [Symbol(kUniqueHeaders)]: null
2025-11-01 13:15:27.014 | },
2025-11-01 13:15:27.014 | _currentUrl: 'https://foxdtc-video.akamaized.net/live-dr/fnc-ue2/hdntl=exp=1762107156~acl=%2f*~data=hdntl~hmac=61a7af9d176b233b3cbd3834359e5233f3dee95fea88912943e593d392419217/index_7.m3u8',
2025-11-01 13:15:27.014 | _timeout: null,
2025-11-01 13:15:27.014 | [Symbol(kCapture)]: false
2025-11-01 13:15:27.014 | }
2025-11-01 13:15:27.013 | Could not parse chunklist properly!
2025-11-01 13:15:27.013 | Could not get chunklist for channel #5.
2025-11-01 13:15:27.014 | }
2025-11-01 13:16:14.528 | Updating FOX One prelim token
2025-11-01 13:16:14.762 | Refreshing TV Provider token (FOX One)
I like this, let's try to get something like this working.
The pattern of adding |Header=value does not currently work for redirects. I suspect it may be tricky if there are restrictions in our http parser.
But an easier alternative may be extra headers, i.e. X-Location-Header: value that are read off the redirect response.
So far, so good. On the fifth recording now.
4 back-back The Masked Singer recordings from 03:00-07:00 not interrupted, but Invalid playlist errors in container log
2025-11-01T09:59:30.089972292Z Channel #219 has an active event (Masks Back -- The Good, The Bad & The Cuddly -- Round 1). Going to start the stream.
2025-11-01T10:00:29.743655276Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:32.216160129Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:34.639997506Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:37.222020371Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:39.703170693Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:42.211049823Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:44.726301990Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:47.311400244Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:49.638414709Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:51.387445484Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:53.935164099Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:56.389907473Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:00:58.894118958Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:01.395609947Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:03.917099728Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:06.385422365Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:08.928488024Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:11.423424168Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:13.808859020Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:15.555458221Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:18.064128186Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:20.603135955Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:23.090210076Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:25.558518632Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:27.975251920Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:30.610972196Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:33.077906905Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:35.600575427Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:38.077161721Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:40.482136255Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:43.074315949Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:45.567116950Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:48.104786274Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:50.612347526Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:53.070032142Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:55.481459505Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:01:57.983048240Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:00.583105062Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:03.109738046Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:05.581701182Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:08.112198139Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:10.497506103Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:13.079959857Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:15.621262307Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:18.119294882Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:20.569005474Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:23.104874833Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:25.498003553Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:28.002858187Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:30.607343654Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:33.085428119Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:35.617431145Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:38.001121943Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:39.745898871Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:42.288528174Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:44.758864624Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:47.281497991Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:49.662873762Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:51.458236911Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:53.946962982Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:56.416685057Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:02:58.926518379Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:01.332968320Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:03.974983243Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:06.418575699Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:08.976493454Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:11.410314384Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:13.845218425Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:15.632143534Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:18.103296896Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:20.621450060Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:23.008538980Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:25.593605563Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:28.071142048Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:30.636090002Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:33.114880461Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:35.595980884Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:38.129151072Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:40.517210935Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:43.101215873Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:45.600673583Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:48.142126826Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:50.602077237Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:53.098776225Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:55.612259992Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:03:58.155878773Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:00.591409016Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:03.149267091Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:05.601995557Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:08.144110440Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:10.520122834Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:13.107044283Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:15.587881000Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:18.101889842Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:20.797728011Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:23.153526420Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:25.536185057Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:28.090966417Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:30.651766847Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:33.121377008Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:35.613539034Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:38.026337505Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:39.761056910Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:42.306645915Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:44.778602034Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:47.315551464Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:49.691915460Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:52.303405444Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:54.779883570Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:57.288458271Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:04:59.824995550Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:02.280124840Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:04.791177814Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:07.189901854Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:09.792803909Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:12.332821130Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:14.792542156Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:17.283666128Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:19.791023755Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:22.209565883Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:24.826862268Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:27.294906029Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:29.802997267Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:32.335644843Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:34.819825661Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:37.209302372Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:39.833554773Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:42.289406634Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:44.822883861Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:47.328923798Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:49.704698011Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:52.208541740Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:54.836136041Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:57.313597112Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:05:59.822073421Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:02.342192454Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:04.711828495Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:07.217956378Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:09.839867469Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:12.341356473Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:14.844689791Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:17.304093419Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:19.794573928Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:22.214987776Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:24.821441871Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:27.331971276Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:29.865311372Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:32.371086589Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:34.803925633Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:37.212364184Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:39.839016220Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:42.336460453Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:44.800850294Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:47.314420062Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:49.805849791Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:52.237344909Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:54.806581380Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:57.308700791Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:06:59.827918574Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:02.319820204Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:04.810326379Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:07.217292632Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:09.848310090Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:12.302464889Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:14.829229994Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:17.365859786Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:19.727606934Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:22.310218494Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:24.822651516Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:27.354147737Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:29.821888011Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:32.373602826Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:34.813331011Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:37.262313529Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:39.847746124Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:42.319352281Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:44.817913244Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:47.366676640Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:49.833181064Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:52.263439111Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:54.821006193Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:57.368327068Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:07:59.831757084Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:02.359465719Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:04.742547723Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:07.333094489Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:09.834552837Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:12.361676820Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:14.821143056Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:17.381969037Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:19.741848913Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:22.329891249Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:24.878404659Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:27.344792720Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:29.867891172Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:32.262574838Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:34.043875876Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:36.544203837Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:38.991769316Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:41.507857928Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:44.007671235Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:46.498809110Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:49.004204831Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:51.530213791Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:54.009481512Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:56.540193737Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:08:58.941760614Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:01.422831868Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:04.040001213Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:06.506298254Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:09.062051494Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:11.537754418Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:13.931804524Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:16.513034846Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:19.071872433Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:21.547138747Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:24.047739653Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:26.512991981Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:29.012374464Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:31.523884227Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:34.016720675Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:36.555116793Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:39.013087114Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:41.516391856Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:44.011065282Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:46.511785761Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:49.029009924Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:51.524799621Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:54.099164766Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:56.568313534Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:09:59.021210165Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:01.436963078Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:04.052337854Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:06.554857132Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:09.035290285Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:11.536350916Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:13.944151696Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:16.537171192Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:19.040045628Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:21.557910242Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:24.034725252Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:26.567474562Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:28.954169133Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:31.542023566Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:34.060416882Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:36.546115760Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:39.064696300Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:41.450184060Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:44.038830684Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:46.456785747Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:49.054671149Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:51.566725273Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:54.060670137Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:56.627239679Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:10:58.963849220Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:01.536374944Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:04.052907329Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:06.560298087Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:09.074482754Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:11.466386694Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:13.964177409Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:16.542502458Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:19.087641242Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:21.558989826Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:24.104928137Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:26.457995849Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:28.256278478Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:30.756012638Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:33.244116742Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:35.715234564Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:38.207897088Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:39.876871820Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:42.385831683Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:44.919071039Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:47.372361814Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:49.890552278Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:52.425293172Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:54.877683864Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:57.426370934Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:11:59.926587646Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:02.313054621Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:04.096762203Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:06.552445888Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:09.114514134Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:11.477823408Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:13.973196889Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:16.566096449Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:19.043648592Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:21.560232604Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:24.047397094Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:26.481250141Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:28.227176612Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:30.768178865Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:33.261431856Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:35.771744416Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:38.144108081Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:40.737698057Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:43.266222315Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:45.769739604Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:48.274942554Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:50.778393449Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:53.248217812Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:55.742844759Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:12:58.247332053Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:00.739536932Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:03.241733693Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:05.824259092Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:08.151529305Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:09.943853826Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:12.411321980Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:14.941741638Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:17.332879375Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:19.908342027Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:22.408935011Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:24.944728060Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:27.418380371Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:29.920098689Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:32.408016180Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:34.075756289Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:36.621215900Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:39.119720623Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:41.586261671Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:44.081207783Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:46.584379645Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:49.125956311Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:51.587001311Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:54.113156111Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:56.508528952Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:13:58.281675239Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:00.758566707Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:03.271088385Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:05.758787297Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:08.257267137Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:10.676656861Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:13.280988809Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:15.758137117Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:18.291068209Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:20.783457807Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:23.250220033Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:25.668129366Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:28.260384720Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:30.779219930Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:33.284219301Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:35.793320030Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:38.169740758Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:40.677598181Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:43.295565930Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:45.764973646Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:48.258548540Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:50.768171140Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:53.182508173Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:55.680765508Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:14:58.261782535Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:00.809474634Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:03.301763610Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:05.789012807Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:08.265463414Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:10.766792192Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:13.271276075Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:15.801543651Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:18.262713126Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:20.809786753Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:23.266746436Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
2025-11-01T10:15:25.683238475Z Invalid Playlist : EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration
Looks like this was simpler. I added basic support in the next build.
I noticed that the channel moves around in the Guide. FNC starts out on Eplus5 then after 1/2 hour moves to Eplus12 then moves to Eplus8???
Also, the guide on my Clients do not match the guide on the server. I tried to refresh the source on the client, clear cache, force close and reopen and it doesn't update.
Sounds like you don’t have the “Dedicated Linear Channels” option enabled in EPlusTV. So events are getting assigned to random virtual channels rather than their dedicated linear channel.