ESPN+ & FOX Sports with Custom Channels via EPlusTV

This was my issue with it. Constant disconnecting. I’m waiting to see if/when it improves.

I was having the same problem getting the timeout. How did you make those changes so i can try to do the same?

I am using docker desktop on a intel mac. I went to docker desktop settings and choose resources.

https://docs.docker.com/desktop/Mac

I'm using Docker on my MacBook Pro. I upped the CPUs to 8, Memory to 12 and swap where you have it and it still loses connection after a few minutes. Maybe @m0ngr31 has some suggestions on how to keep it from timing out?

The timeout thing happens to everyone it seems. This is a fun project to experiment with, learn docker, play with channel collections, etc. but it’s really a proof of concept kind of thing and not something to rely on for everyday viewing.. imo at least.

2 Likes

I tried a recording this past weekend with it and it turned out pretty well. The nice thing about the Channels DVR is that if it loses a signal it'll try right away to reconnect, and at least in my case it did, so my recording was mostly intact. So for watching Live, I'll stick to the ESPN app, but at least it seems somewhat reliable to record events, which is all I want anyways.

1 Like

I'm pretty new to this, but I actually figured it out and got ESPN+ working! I was so proud of myself. I am using Docker on a Windows box, is there any way I can add the ESPN+ logo to the channels for the Guide?

1 Like

Was anyone ever able to get this running on apple silicon? I keep running into issues with chrome closing out

Can you post your command for a windows box docker. I'm having trouble getting streams to play.

For those of you doing this on a windows machine. I noticed that docker was sending username/pass with the quote around it. When I put the username and password without quotes I'm getting streams played now.

1 Like

I updated how the fetching of events works. Do you mind pulling the new version down and trying again?

The way it works currently is each channel has a "heartbeat" that ticks when a request for a channel m3u8 gets hit. It kills the stream after that hasn't been updated for more than 60 seconds. I can increase this time if that would help.

Only thing I can think of is if your client is getting ahead of the m3u8 or something so it doesn't request as often.

1 Like

Hey everyone - I made some updates over the last few days with a few fixes.

Hoping things will be a little more reliable, and I made it default to 720p 60fps streams so the quality should be a bit better now as well

1 Like

connection lost also happens after the event will start soon start screen switches over to the stream. backing out and going back in brings up the screen. docker shows that the stream is playing during the connection lost error on the client.

not sure if its the client only or the switch between the start screen to the stream.

thanks.

1 Like

I have pulled new version, 0.9.4. And it seems to be running ok. Here is some output.

=== Getting events ===

Looking for live events...

Adding event:  Lucknow Super Giants vs. Royal Challengers Bangalore

Adding event:  Sun Belt Women's Golf Championship (Day Three)

Adding event:  Lucknow Super Giants vs. Royal Challengers Bangalore

Looking for upcoming events...

Cleaning up old events

=== Done getting events ===

=== Building the schedule ===

There are 3 unscheduled entries

=== Done building the schedule ===

=== Starting Server ===

Server started on port 8000

Started ok.

There is an active event. Going to start the stream.

Getting stream for event:  4f1dbe34-23c9-42aa-a226-9eb764bbe13b

Channel has upcoming event. Set timer to start

Channel has upcoming event. Set timer to start

(node:20) UnhandledPromiseRejectionWarning: page.goto: Timeout 30000ms exceeded.

=========================== logs ===========================

navigating to "https://www.espn.com/espnplus/player/_/id/4f1dbe34-23c9-42aa-a226-9eb764bbe13b", waiting until "load"

============================================================

    at /app/services/get-stream-data.ts:48:8

    at fulfilled (/app/services/get-stream-data.ts:5:58)

(Use `node --trace-warnings ...` to show where the warning was created)

(node:20) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)

(node:20) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Got stream and credentials

Got stream and credentials

Stream for Channel 8045 started on PID:  1172

And I was able to watch a stream. It did take about 30 seconds to load. but it is working fine.

1 Like

Yeah it usually varies between 10-30 seconds to grab a stream

I think that might be a client issue. I haven't seen issues with playing from Kodi

1 Like

Not sure. I updated to 0.9.5 and scheduled a test event to record, and it still drops the connection every couple of minutes. The client would be the DVR.

This is just a portion of the log.

2022/04/19 19:30:10.158963 [TNR] Opened connection to M3U-ESPN for ch7047 EPlusTV 7047
2022/04/19 19:30:10.159104 [DVR] Recording for job 1650409200-ch7047 from M3U-ESPN ch7047 into "TV/Florida Panthers vs. New York Islanders/Florida Panthers vs. New York Islanders 2022-04-19-1901.mpg" for 3h32m49.947760978s
2022/04/19 19:30:29.874830 [MTS] Statistics for "TV/Florida Panthers vs. New York Islanders/Florida Panthers vs. New York Islanders 2022-04-19-1901.mpg": skipped=0 unhandled_packets=0 discontinuity_detected=0 transport_errors=0 invalid_pts=0 invalid_dts=0 saw_pcr=true saw_pmt=true highest_pts=1820.862333
2022/04/19 19:30:29.885220 [TNR] Closed connection to M3U-ESPN for ch7047 EPlusTV 7047
2022/04/19 19:30:29.885318 [DVR] Job 1650409200-ch7047 Florida Panthers vs. New York Islanders ended prematurely: 3h32m30.114695559s
2022/04/19 19:30:30.018843 [DVR] Starting job 1650409200-ch7047 Florida Panthers vs. New York Islanders on ch=[7047]
2022/04/19 19:30:30.019084 [DVR] Waiting 28m29.980928347s until next job 1650412740-8 Deadliest Catch
2022/04/19 19:30:30.059349 [TNR] Opened connection to M3U-ESPN for ch7047 EPlusTV 7047
2022/04/19 19:30:30.059554 [DVR] Recording for job 1650409200-ch7047 from M3U-ESPN ch7047 into "TV/Florida Panthers vs. New York Islanders/Florida Panthers vs. New York Islanders 2022-04-19-1901.mpg" for 3h32m29.980900606s
2022/04/19 19:31:34.171543 [MTS] Statistics for "TV/Florida Panthers vs. New York Islanders/Florida Panthers vs. New York Islanders 2022-04-19-1901.mpg": skipped=0 unhandled_packets=0 discontinuity_detected=0 transport_errors=0 invalid_pts=0 invalid_dts=0 saw_pcr=true saw_pmt=true highest_pts=1889.928233
2022/04/19 19:31:34.179931 [TNR] Closed connection to M3U-ESPN for ch7047 EPlusTV 7047
2022/04/19 19:31:34.180006 [DVR] Job 1650409200-ch7047 Florida Panthers vs. New York Islanders ended prematurely: 3h31m25.820001764s
2022/04/19 19:31:34.292640 [DVR] Starting job 1650409200-ch7047 Florida Panthers vs. New York Islanders on ch=[7047]
2022/04/19 19:31:34.293000 [DVR] Waiting 27m25.707015511s until next job 1650412740-8 Deadliest Catch
2022/04/19 19:31:34.309496 [TNR] Opened connection to M3U-ESPN for ch7047 EPlusTV 7047
2022/04/19 19:31:34.309623 [DVR] Recording for job 1650409200-ch7047 from M3U-ESPN ch7047 into "TV/Florida Panthers vs. New York Islanders/Florida Panthers vs. New York Islanders 2022-04-19-1901.mpg" for 3h31m25.707085697s
2022/04/19 19:34:29.239942 [MTS] Statistics for "TV/Florida Panthers vs. New York Islanders/Florida Panthers vs. New York Islanders 2022-04-19-1901.mpg": skipped=0 unhandled_packets=0 discontinuity_detected=0 transport_errors=0 invalid_pts=0 invalid_dts=0 saw_pcr=true saw_pmt=true highest_pts=2065.263000
2022/04/19 19:34:29.245401 [TNR] Closed connection to M3U-ESPN for ch7047 EPlusTV 7047
2022/04/19 19:34:29.245461 [DVR] Job 1650409200-ch7047 Florida Panthers vs. New York Islanders ended prematurely: 3h28m30.754547546s
2022/04/19 19:34:29.413496 [DVR] Starting job 1650409200-ch7047 Florida Panthers vs. New York Islanders on ch=[7047]
2022/04/19 19:34:29.413771 [DVR] Waiting 24m30.586239695s until next job 1650412740-8 Deadliest Catch
2022/04/19 19:34:29.436134 [TNR] Opened connection to M3U-ESPN for ch7047 EPlusTV 7047
2022/04/19 19:34:29.436349 [DVR] Recording for job 1650409200-ch7047 from M3U-ESPN ch7047 into "TV/Florida Panthers vs. New York Islanders/Florida Panthers vs. New York Islanders 2022-04-19-1901.mpg" for 3h28m30.586249566s
2022/04/19 19:34:39.712394 [MTS] Statistics for "TV/Florida Panthers vs. New York Islanders/Florida Panthers vs. New York Islanders 2022-04-19-1901.mpg": skipped=0 unhandled_packets=0 discontinuity_detected=0 transport_errors=0 invalid_pts=0 invalid_dts=0 saw_pcr=true saw_pmt=true highest_pts=2073.100067
2022/04/19 19:34:39.716378 [TNR] Closed connection to M3U-ESPN for ch7047 EPlusTV 7047
2022/04/19 19:34:39.716454 [DVR] Job 1650409200-ch7047 Florida Panthers vs. New York Islanders ended prematurely: 3h28m20.283553589s
2022/04/19 19:34:39.901040 [DVR] Starting job 1650409200-ch7047 Florida Panthers vs. New York Islanders on ch=[7047]
2022/04/19 19:34:39.901245 [DVR] Waiting 24m20.098763979s until next job 1650412740-8 Deadliest Catch
2022/04/19 19:34:39.922730 [TNR] Opened connection to M3U-ESPN for ch7047 EPlusTV 7047
2022/04/19 19:34:39.922863 [DVR] Recording for job 1650409200-ch7047 from M3U-ESPN ch7047 into "TV/Florida Panthers vs. New York Islanders/Florida Panthers vs. New York Islanders 2022-04-19-1901.mpg" for 3h28m20.098746997s
2022/04/19 19:35:59.070006 [MTS] Statistics for "TV/Florida Panthers vs. New York Islanders/Florida Panthers vs. New York Islanders 2022-04-19-1901.mpg": skipped=0 unhandled_packets=0 discontinuity_detected=0 transport_errors=0 invalid_pts=0 invalid_dts=0 saw_pcr=true saw_pmt=true highest_pts=2158.929500
2022/04/19 19:35:59.076364 [TNR] Closed connection to M3U-ESPN for ch7047 EPlusTV 7047
2022/04/19 19:35:59.076421 [DVR] Job 1650409200-ch7047 Florida Panthers vs. New York Islanders ended prematurely: 3h27m0.923588484s
2022/04/19 19:35:59.210593 [DVR] Starting job 1650409200-ch7047 Florida Panthers vs. New York Islanders on ch=[7047]
2022/04/19 19:35:59.210762 [DVR] Waiting 23m0.789247005s until next job 1650412740-8 Deadliest Catch
2022/04/19 19:35:59.227317 [TNR] Opened connection to M3U-ESPN for ch7047 EPlusTV 7047

Is there anyway to differentiate the home vs away broadcast? Would like to record the home on some broadcasts but don't see that in the metadata.

Does anyone know how to enter this under Add Custom Channels on Channels?

Under source URL and XMLTV. I know it’s http://myIP**:8000, but then followed by what? m3u and epg? Thank you!

1 Like