m0ngr31 / EPlusTV

Virtual linear channels for ESPN, ESPN+, Gotham Sports, NFL+, B1G+, NESN, Mountain West, FloSports, Paramount+, CBS Sports, MLB.tv, and FOX Sports
MIT License
150 stars 24 forks source link

Error getting content for some streams (Redzone, Big Ten, Fox Soccer Plus, sometimes others) #132

Closed zacs closed 1 week ago

zacs commented 1 week ago

When opening the channels on the Channels app I get Streaming to the tuner failed. Press play to try again. M3U: EPlusTV: Error getting content.

Many stations (ESPN ones) work fine, the FS1/FS2 feeds sporadically get this error, and Redzone, Big Ten Networ, and FOx Soccer Plus always get this error. I'm using TV Provider and that provider is Sling.

I see some errors in the logs but they don't totally seem related. Is there debugging I can turn on to get more helpful errors?

I suspect this isn't terribly helpful, but here's a tail of my current logs:

Channel #404 has an active event (Boston College vs. #14 SMU). Going to start the stream.
Could not get stream data. Event might be upcoming, ended, or in blackout...
Failed to parse the stream
Could not get a playlist for channel #404. Please make sure there is an event scheduled and you have access to it.
Channel #404 has an active event (Boston College vs. #14 SMU). Going to start the stream.
could not get mediatoken
AxiosError: getaddrinfo EAI_AGAIN api.auth.adobe.com
    at Function.AxiosError.from (/app/node_modules/axios/lib/core/AxiosError.js:89:14)
    at RedirectableRequest.handleRequestError (/app/node_modules/axios/lib/adapters/http.js:533:25)
    at RedirectableRequest.emit (node:events:517:28)
    at RedirectableRequest.emit (node:domain:489:12)
    at ClientRequest.eventHandlers.<computed> (/app/node_modules/follow-redirects/index.js:14:24)
    at ClientRequest.emit (node:events:517:28)
    at ClientRequest.emit (node:domain:489:12)
    at TLSSocket.socketErrorListener (node:_http_client:501:9)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket.emit (node:domain:489:12) {
  hostname: 'api.auth.adobe.com',
  syscall: 'getaddrinfo',
  code: 'EAI_AGAIN',
  errno: -3001,
  config: {
    transitional: {
      silentJSONParsing: true,
      forcedJSONParsing: true,
      clarifyTimeoutError: false
    },
    adapter: [ 'xhr', 'http' ],
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 0,
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    maxBodyLength: -1,
    env: { FormData: [Function], Blob: [class Blob] },
    validateStatus: [Function: validateStatus],
    headers: AxiosHeaders {
      Accept: 'application/json, text/plain, */*',
      Authorization: "GET requestor_id=ESPN, nonce=34932e72fe5544d8a8e7da32f0d5939e, signature_method=HMAC-SHA1, request_time=1732300404103, request_uri=https://api.auth.adobe.com/api/v1/mediatoken?requestor=ESPN&deviceId=foobar&resource=%3Crss%20version%3D'2.0'%20xmlns%3Amedia%3D'http%3A%2F%2Fsearch.yahoo.com%2Fmrss%2F'%3E%3Cchannel%3E%3Ctitle%3Eacc%3C%2Ftitle%3E%3Citem%3E%3Ctitle%3ENC%20State%20vs.%20Georgia%20Tech%3C%2Ftitle%3E%3Cguid%3Ed87a5ed4-3c23-45eb-896b-1046563393a0%3C%2Fguid%3E%3Cmedia%3Arating%20scheme%3D'urn%3Av-chip'%3E%3C%2Fmedia%3Arating%3E%3C%2Fitem%3E%3C%2Fchannel%3E%3C%2Frss%3E, public_key=foobar, signature=0A5QdSOL+S8tRxZWJjxHEcUQkMA=",
      'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36',
      'Accept-Encoding': 'gzip, compress, deflate, br'
    },
    method: 'get',
    url: "https://api.auth.adobe.com/api/v1/mediatoken?requestor=ESPN&deviceId=foobar&resource=%3Crss%20version%3D'2.0'%20xmlns%3Amedia%3D'http%3A%2F%2Fsearch.yahoo.com%2Fmrss%2F'%3E%3Cchannel%3E%3Ctitle%3Eacc%3C%2Ftitle%3E%3Citem%3E%3Ctitle%3ENC%20State%20vs.%20Georgia%20Tech%3C%2Ftitle%3E%3Cguid%3Ed87a5ed4-3c23-45eb-896b-1046563393a0%3C%2Fguid%3E%3Cmedia%3Arating%20scheme%3D'urn%3Av-chip'%3E%3C%2Fmedia%3Arating%3E%3C%2Fitem%3E%3C%2Fchannel%3E%3C%2Frss%3E",
    data: undefined
  },
  request: <ref *1> Writable {
    _writableState: WritableState {
      objectMode: false,
      highWaterMark: 16384,
      finalCalled: false,
      needDrain: false,
      ending: false,
      ended: false,
      finished: false,
      destroyed: false,
      decodeStrings: true,
      defaultEncoding: 'utf8',
      length: 0,
      writing: false,
      corked: 0,
      sync: true,
      bufferProcessing: false,
      onwrite: [Function: bound onwrite],
      writecb: null,
      writelen: 0,
      afterWriteTickInfo: null,
      buffered: [],
      bufferedIndex: 0,
      allBuffers: true,
      allNoop: true,
      pendingcb: 0,
      constructed: true,
      prefinished: false,
      errorEmitted: false,
      emitClose: true,
      autoDestroy: true,
      errored: null,
      closed: false,
      closeEmitted: false,
      [Symbol(kOnFinished)]: []
    },
    _events: [Object: null prototype] {
      response: [Function: handleResponse],
      error: [Function: handleRequestError],
      socket: [Function: handleRequestSocket]
    },
    _eventsCount: 3,
    _maxListeners: undefined,
    _options: {
      maxRedirects: 21,
      maxBodyLength: Infinity,
      protocol: 'https:',
      path: '/api/v1/mediatoken?requestor=ESPN&deviceId=foobar&resource=%3Crss%20version%3D%272.0%27%20xmlns%3Amedia%3D%27http%3A%2F%2Fsearch.yahoo.com%2Fmrss%2F%27%3E%3Cchannel%3E%3Ctitle%3Eacc%3C%2Ftitle%3E%3Citem%3E%3Ctitle%3ENC%20State%20vs.%20Georgia%20Tech%3C%2Ftitle%3E%3Cguid%3Ed87a5ed4-3c23-45eb-896b-1046563393a0%3C%2Fguid%3E%3Cmedia%3Arating%20scheme%3D%27urn%3Av-chip%27%3E%3C%2Fmedia%3Arating%3E%3C%2Fitem%3E%3C%2Fchannel%3E%3C%2Frss%3E',
      method: 'GET',
      headers: [Object: null prototype],
      agents: [Object],
      auth: undefined,
      beforeRedirect: [Function: dispatchBeforeRedirect],
      beforeRedirects: [Object],
      hostname: 'api.auth.adobe.com',
      port: '',
      agent: undefined,
      nativeProtocols: [Object],
      pathname: '/api/v1/mediatoken',
      search: '?requestor=ESPN&deviceId=foobar&resource=%3Crss%20version%3D%272.0%27%20xmlns%3Amedia%3D%27http%3A%2F%2Fsearch.yahoo.com%2Fmrss%2F%27%3E%3Cchannel%3E%3Ctitle%3Eacc%3C%2Ftitle%3E%3Citem%3E%3Ctitle%3ENC%20State%20vs.%20Georgia%20Tech%3C%2Ftitle%3E%3Cguid%3Ed87a5ed4-3c23-45eb-896b-1046563393a0%3C%2Fguid%3E%3Cmedia%3Arating%20scheme%3D%27urn%3Av-chip%27%3E%3C%2Fmedia%3Arating%3E%3C%2Fitem%3E%3C%2Fchannel%3E%3C%2Frss%3E'
    },
    _ended: true,
    _ending: true,
    _redirectCount: 0,
    _redirects: [],
    _requestBodyLength: 0,
    _requestBodyBuffers: [],
    _onNativeResponse: [Function (anonymous)],
    _currentRequest: ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 7,
      _maxListeners: undefined,
      outputData: [],
      outputSize: 0,
      writable: true,
      destroyed: false,
      _last: true,
      chunkedEncoding: false,
      shouldKeepAlive: false,
      maxRequestsOnConnectionReached: false,
      _defaultKeepAlive: true,
      useChunkedEncodingByDefault: false,
      sendDate: false,
      _removedConnection: false,
      _removedContLen: false,
      _removedTE: false,
      strictContentLength: false,
      _contentLength: 0,
      _hasBody: true,
      _trailer: '',
      finished: true,
      _headerSent: true,
      _closed: false,
      socket: [TLSSocket],
      _header: 'GET /api/v1/mediatoken?requestor=ESPN&deviceId=foobar&resource=%3Crss%20version%3D%272.0%27%20xmlns%3Amedia%3D%27http%3A%2F%2Fsearch.yahoo.com%2Fmrss%2F%27%3E%3Cchannel%3E%3Ctitle%3Eacc%3C%2Ftitle%3E%3Citem%3E%3Ctitle%3ENC%20State%20vs.%20Georgia%20Tech%3C%2Ftitle%3E%3Cguid%3Ed87a5ed4-3c23-45eb-896b-1046563393a0%3C%2Fguid%3E%3Cmedia%3Arating%20scheme%3D%27urn%3Av-chip%27%3E%3C%2Fmedia%3Arating%3E%3C%2Fitem%3E%3C%2Fchannel%3E%3C%2Frss%3E HTTP/1.1\r\n' +
        'Accept: application/json, text/plain, */*\r\n' +
        "Authorization: GET requestor_id=ESPN, nonce=34932e72fe5544d8a8e7da32f0d5939e, signature_method=HMAC-SHA1, request_time=1732300404103, request_uri=https://api.auth.adobe.com/api/v1/mediatoken?requestor=ESPN&deviceId=foobar&resource=%3Crss%20version%3D'2.0'%20xmlns%3Amedia%3D'http%3A%2F%2Fsearch.yahoo.com%2Fmrss%2F'%3E%3Cchannel%3E%3Ctitle%3Eacc%3C%2Ftitle%3E%3Citem%3E%3Ctitle%3ENC%20State%20vs.%20Georgia%20Tech%3C%2Ftitle%3E%3Cguid%3Ed87a5ed4-3c23-45eb-896b-1046563393a0%3C%2Fguid%3E%3Cmedia%3Arating%20scheme%3D'urn%3Av-chip'%3E%3C%2Fmedia%3Arating%3E%3C%2Fitem%3E%3C%2Fchannel%3E%3C%2Frss%3E, public_key=foobar, signature=0A5QdSOL+S8tRxZWJjxHEcUQkMA=\r\n" +
        'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36\r\n' +
        'Accept-Encoding: gzip, compress, deflate, br\r\n' +
        'Host: api.auth.adobe.com\r\n' +
        'Connection: close\r\n' +
        '\r\n',
      _keepAliveTimeout: 0,
      _onPendingData: [Function: nop],
      agent: [Agent],
      socketPath: undefined,
      method: 'GET',
      maxHeaderSize: undefined,
      insecureHTTPParser: undefined,
      joinDuplicateHeaders: undefined,
      path: '/api/v1/mediatoken?requestor=ESPN&deviceId=foobar&resource=%3Crss%20version%3D%272.0%27%20xmlns%3Amedia%3D%27http%3A%2F%2Fsearch.yahoo.com%2Fmrss%2F%27%3E%3Cchannel%3E%3Ctitle%3Eacc%3C%2Ftitle%3E%3Citem%3E%3Ctitle%3ENC%20State%20vs.%20Georgia%20Tech%3C%2Ftitle%3E%3Cguid%3Ed87a5ed4-3c23-45eb-896b-1046563393a0%3C%2Fguid%3E%3Cmedia%3Arating%20scheme%3D%27urn%3Av-chip%27%3E%3C%2Fmedia%3Arating%3E%3C%2Fitem%3E%3C%2Fchannel%3E%3C%2Frss%3E',
      _ended: false,
      res: null,
      aborted: false,
      timeoutCb: null,
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      reusedSocket: false,
      host: 'api.auth.adobe.com',
      protocol: 'https:',
      _redirectable: [Circular *1],
      [Symbol(kCapture)]: false,
      [Symbol(kBytesWritten)]: 0,
      [Symbol(kNeedDrain)]: false,
      [Symbol(corked)]: 0,
      [Symbol(kOutHeaders)]: [Object: null prototype],
      [Symbol(errored)]: null,
      [Symbol(kHighWaterMark)]: 16384,
      [Symbol(kRejectNonStandardBodyWrites)]: false,
      [Symbol(kUniqueHeaders)]: null
    },
    _currentUrl: 'https://api.auth.adobe.com/api/v1/mediatoken?requestor=ESPN&deviceId=foobar&resource=%3Crss%20version%3D%272.0%27%20xmlns%3Amedia%3D%27http%3A%2F%2Fsearch.yahoo.com%2Fmrss%2F%27%3E%3Cchannel%3E%3Ctitle%3Eacc%3C%2Ftitle%3E%3Citem%3E%3Ctitle%3ENC%20State%20vs.%20Georgia%20Tech%3C%2Ftitle%3E%3Cguid%3Ed87a5ed4-3c23-45eb-896b-1046563393a0%3C%2Fguid%3E%3Cmedia%3Arating%20scheme%3D%27urn%3Av-chip%27%3E%3C%2Fmedia%3Arating%3E%3C%2Fitem%3E%3C%2Fchannel%3E%3C%2Frss%3E',
    [Symbol(kCapture)]: false
  },
  cause: Error: getaddrinfo EAI_AGAIN api.auth.adobe.com
      at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) {
    errno: -3001,
    code: 'EAI_AGAIN',
    syscall: 'getaddrinfo',
    hostname: 'api.auth.adobe.com'
  }
}
Could not get stream data. Event might be upcoming, ended, or in blackout...
Failed to parse the stream
Could not get a playlist for channel #404. Please make sure there is an event scheduled and you have access to it.
Channel #432 has an active event (NFL Game Re-Airs: Patriots vs. Jets | Week 12, 2012). Going to start the stream.
Channel #432 has been idle for more than 5 minutes. Removing playlist info.
Could not get a playlist for channel #412. Please make sure there is an event scheduled and you have access to it.
Could not get a playlist for channel #412. Please make sure there is an event scheduled and you have access to it.
troyhough commented 1 week ago

Does BTN or Fox Sports play back properly in a browser on that machine?

zacs commented 1 week ago

Great question. Just tried, and they do not play. After I hit "Watch Now" I get a "Reconnecting..." message which then times out and nothing streams.

troyhough commented 1 week ago

Great question. Just tried, and they do not play. After I hit "Watch Now" I get a "Reconnecting..." message which then times out and nothing streams.

Then you found your issue. If it won't play in your browser it's not going to play w/ Eplus. Try changing your password and try again. Make sure browser is up to date, etc. Once it's playing on your browser you can proceed to test with Eplus.

zacs commented 1 week ago

Sorry just for clarity, you mean change my Sling password? Half of the channels authenticated that way still stream so just want to confirm (for eg NFL Network works just fine and Redzone doesn't, despite both being auth'd via Sling).

troyhough commented 1 week ago

Make sure Chrome is updated on your machine. Go to the Watch Fox web site on your machine and try to play a live event. If it fails, log out and re-authenticate on the Fox site. If it still doesn't work I would then try to change your Sling password then try the process over again.

m0ngr31 commented 1 week ago

Sorry just for clarity, you mean change my Sling password? Half of the channels authenticated that way still stream so just want to confirm (for eg NFL Network works just fine and Redzone doesn't, despite both being auth'd via Sling).

Not every TVE provider gives access to all the FOX channels. Might be out of luck for some of them

zacs commented 1 week ago

Ah that is definitely the issue. I didn’t realize TVE was the dependence here. Appreciate your help!