ESPN+ & FOX Sports with Custom Channels via EPlusTV

Any luck on your side yet?

from cli: docker logs containerid or docker logs --follow containerid

EDIT: nevermind, the container doesn't seem to send too much to sdtout

you could always do a docker exec -it containerid bash and poke around

Yeah I got the logs from the cmd

Basically, Unable to Parse Stream. Not very helpful

Anyone using the START_CHANNEL variable and having issues with the generated xmltv? On my install, the channels start where I set the start number to, and the beginning of the xmltv file sets the channel-id's correctly. However, all the program information references "1.eplustv" instead of "3001.eplustv" for channel=. So the guide isn't populating properly.

Wow, I'm getting closer myself too. I see in the logs that it was attempting to add the live events but nothing is ever generated at the http://192.168.1.108:8000/channels.m3u link I am trying to open.

I did get it working. Make sure to edit the volumes in the run command to one of these:

In windows I use:

-v C:\docker_volumes\eplustv\config_dir:/app/config
-v C:\docker_volumes\eplustv\dev\shm:/app/tmp

Or I let the docker create annonymous volumes, so:

-v :/app/config -v :/app/tmp

But also make sure all of your environment variables in the run command (server address, ESPN user name and password) are bookended with double quotes ("). The provided run command has single quotes.

Fixing all of that got it working for me.

1 Like

You don’t need to map anything to /app/tmp. Especially not a disk directory called /eplustv/dev/shm.

In the container example /dev/shm is used to map host shared memory directly to /app/tmp in the container but if you’re not doing that there is no reason to map a host disk directory to it as nothing persistent is stored there.

Did you figure out why the "event will start soon" screen never goes away?

1 Like

I assume the live event in question streams fine via the espn app or through a browser if you test it at same time?

1 Like

I got it. After re-reading the instructions by cculpepp, I need to double quote every item. Not just the IP. Working now. Wow what an ordeal...

I dunno. Sometimes it goes away and the event comes on after about 20 seconds and sometimes the "event starts soon" doesnt go away.

1 Like

Thats great news. I'm still struggling, here is what I'm entering:

docker run -p 8096:8096 -v /tmp:/app/config -e ACCESS_URI='http://192.168.1.108:8096' -e ESPN_USER='xxx' -e ESPN_PASS='xxx' -e START_CHANNEL=400 --name ESPN_Pluss m0ngr31/eplustv

and I'm getting the following in my log:
=== Getting events ===

Looking for live events...


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


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


navigating to "https://www.espn.com/espnplus/schedule?channel=ESPN_PLUS", waiting until "networkidle"


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


    at /app/services/get-events.ts:53:14


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


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


(node:19) 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:19) [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.


Adding event:  Southeast Missouri State vs. SE Louisiana (Softball)


Adding event:  Union vs. #8 Colgate (W Hockey)


Adding event:  Rensselaer vs. Cornell (W Hockey)


Adding event:  St. Lawrence vs. Brown (W Hockey)


Adding event:  #10 Clarkson vs. #7 Yale (W Hockey)
1 Like

Use double quotes instead of single around your environmental variables.

Nope, no difference with single quotes or double quotes, I even tried skipping entering any environmental variables at all, and then entered them using the Portainer.io UI, all three methods result in:

=== Getting events ===,
Looking for live events...,
(node:19) UnhandledPromiseRejectionWarning: page.goto: Timeout 30000ms exceeded.,
=========================== logs ===========================,
navigating to "https://www.espn.com/espnplus/schedule?channel=ESPN_PLUS", waiting until "networkidle",
============================================================,
    at /app/services/get-events.ts:53:14,
    at fulfilled (/app/services/get-events.ts:5:58),
(Use `node --trace-warnings ...` to show where the warning was created),
(node:19) 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:19) [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.,

This means it tried to load the epsn.com site and failed after 30s timeout. I don't know why that would happen.

Doesn't seem to work with Team Pass.

1 Like

Maybe would be good to get a shell inside the container and verify outbound internet connectivity. Use the docker exec command I mentioned earlier.

Now that I have this working, I like it, but my only gripe (and this is not the Channels devs fault) is the amount of time it takes for the stream to start when tuning to a channel. It sometimes takes 20 to 30 seconds for the stream to transition from the "event will start soon" to the actual stream. It makes for a poor channel surfing experience.

It's been something like 10-20 seconds for me. I think once you think of it as "Event based" it makes it more digestible.

1 Like

Meh, I'm a channel surfer, unfortunately. It causes tension in my marriage. Lol!

3 Likes