ESPN+ & FOX Sports with Custom Channels via EPlusTV

Is there a way we can get Stream Link support for guide entries? It would be much simpler to open these directly in the ESPN app rather than run yet another ffmpeg in a docker container.

The links on Schedule | Watch ESPN can be converted to Stream Links by taking the uuid in them and appending it to sportscenter://x-callback-url/showWatchStream?playID=

Example:
http://www.espn.com/espnplus/player/_/id/45f1f620-c191-4f7b-8dc1-b24c5b10edf9 becomes sportscenter://x-callback-url/showWatchStream?playID=45f1f620-c191-4f7b-8dc1-b24c5b10edf9

2 Likes

Can “volleyball” and be added to the list of genres within Automatic Channels. (My fiancĂ© loves volleyball).

Volleyball has been promoted to Popular sports so it's an option now.

1 Like

Does anyone else just get these errors from ePlusTV when trying to play, anything? I’ve yet to be able to actually stream— I just get the “event will start soon” placeholder screen from ePlusTV, and nothing.

Logs from ePlusTV Container
“ There is an active event. Going to start the stream.
Getting stream for event: a4768d50-e3e9-4de7-9242-be3530d34f6e
Channel has upcoming event. Set timer to start
Channel has upcoming event. Set timer to start
Could not find stream. Has the event ended?
Failed to parse the stream
Failed to parse the stream”

Stack (compose) how I’m running it for Portainer:

version: "3.2"
services:
espnplus:
image: m0ngr31/eplustv
container_name: espnplus
environment:
- ACCESS_URI= http://x.x.x.x:8055. #IP of host and desired port
- ESPN_USER= {USER}
- ESPN_PASS= {PASSWORD}
- START_CHANNEL= 8000 #where you want the ESPN+ channels to start in the guide
volumes:
- /volume1/docker/espnplus/config:/app/config
network_mode: bridge
ports:
- 8055:8000
restart: unless-stopped

1 Like

Thanks! Ya'll are the best!

Hey everyone! I'm the author of this little container. Happy to help as needed :slightly_smiling_face:

11 Likes

Thanks for putting this out there and welcome!

Noticed the container is built on the Microsoft playwright image which doesn’t seem to play too well outside of amd64 environments. Eplus ends up a pretty large image as well by the time it’s built and running.

Any thoughts at all of looking into an alternate base with wider architecture support?

Thanks again for all your work on this.

2 Likes

oh boy, now that you peaked your head in here, here comes the questions/requests!!

is there a way for the stream to start quicker? right now, it takes about a minute on the Event will start soon screen before the stream plays. sometimes channels will display connection lost and going back to it will start playing.

can you add more tags to the xml? @maddox says that they should appear in the collection just by using sports category but that doesn't work for me (no idea why). maybe more tags would help?

sometimes when i try to start a stream on what looks like close to the end of the game on the guide, the "Event will start soon" screen appears like always but it stays there. when i go to the container logs, it says the event is finished. no indication on the tv screen that the stream ended.

thanks for the great project.

1 Like

We concluded because you were using the NEW and LIVE tags. Since the airings dont' have those tags, they don't show up. The tags you add in Automatic Channels are "AND" not "OR".

Regardless, the tags were added this morning:

2 Likes

T I took those out and it doesn’t work for me., that’s why I posted. Didn’t know about the update. I’ll check it out.

Thanks

2 Likes

Yeah, the container is kind of a pain. The reason it's so big is that it requires full blown Chrome to be baked in. Chromium/Firefox won't work by default because it requires DRM support to be able to get the stream to start so I can pull out the HLS stream.

If I could figure out a reliable way to get around the weird Adobe auth stuff they are using for their APIs I could make this a lot simpler and probably just use a simple Alpine container.

From my experiments, it usually takes about 15-20 seconds for a stream to start, BUT due to the nature of how I'm doing the 'Event will start soon' slate, sometimes the m3u8 gets a little confused and never kicks over. That will require some more work on my part to make it more reliable. Sometimes it breaks the stream (VLC, Kodi), Channels seems to handle it a little better. Sometimes you have to back out and start the channel again to get it to appear.

Definitely not ideal (especially for channel surfers). The issue is that the container has to open Chrome, load the URL for the game, wait for the page to load, log in, wait for the stream to start, parse out the stream, and then hand off to ffmpeg for it to create an a new stream.

1 Like

Docker newbie here. Is there a way to go back and set the starting channel # after the fact?

#ExplainLikeI'mFive

3 Likes

Couple of reasons why it might not be able to load the stream that I've seen:

  • Bad credentials so it can't login
  • Regional blackout of the event
  • Maybe there is a concurrent stream limit from ESPN+ if you are watching other streams? (I haven't tested this yet)
1 Like

Hi m0ngr31, a pleasure to see you here in this community! I posted a number of times earlier in this thread but gave up trying as i had no solution. Do you have any idea why I'm getting a Timeout 30000ms exceeded error every time i try? I am using a ReadyNas Pro 4 for my Docker installation.

1 Like

I haven't seen that one before. I'm curious what your settings for the container look like?

I wish I could figure it out. I'm pretty sure the username/password is correct, and i can duplicate this on any of the actively playing channels so I'd rule out blackouts. Is there any way to enable more verbose logging to see what the error might be?

1 Like

Is there a place that i can go to answer your question regarding what my container settings are? I am using Portainer and i see some Advanced Container Settings when i click on Duplicate/Edit. Would providing any of these details listed under any of these tabs be helpful to you?

  • Command
  • Volumes
  • Network
  • Env
  • Labels
  • Restart policy
  • Runtime & Resources

Does the container check periodically to add new events?

There's a hockey game on Tuesday night that i would like to record using Channels somehow. Even though i cannot get this Docker running, is there any other way that i can log into espn+ and somehow record it into Channels? I hate the ESPN interface, because i never watch live and i always seem to have the game spoiled by seeing the score or the timeline jumps on me, it's awful