ESPN+ & FOX Sports with Custom Channels via EPlusTV

I can only put in what the API is giving me. You could add checks for the tags or other keywords like at or vs

Does EplusTV work with the Sports Section? It works great in channel collections with automatic channels but nothing from my EplusTV source shows up in the Sports Section. Is it just me? TIA

@m0ngr31 is there any way you can relay the actual error or status message in the client app that correspond with the error/status message in docker?

for example, i clicked on FS1 on Eplus and this is the error i received in the client and server log, a 404:

2024/01/23 15:20:33.582494 [ERR] Could not start stream for M3U-ESPN ch6501 EPlusTV 6501: M3U: Could not fetch playlist: 192.168.1.30:8000: GET: http://192.168.1.30:8000/channels/6501.m3u8: 404 Not Found

but in Docker, the log shows it as Ended:

2024-01-23 15:20:32 Channel #6501 has an active event (The Pat McAfee Show). Going to start the stream.
2024-01-23 15:20:33 Event status:  OVER
2024-01-23 15:20:33 Could not get stream data. Event might be upcoming, ended, or in blackout...
2024-01-23 15:20:33 Error: No streaming data available
2024-01-23 15:20:33     at EspnHandler.<anonymous> (/app/services/espn-handler.ts:502:15)
2024-01-23 15:20:33     at Generator.next (<anonymous>)
2024-01-23 15:20:33     at fulfilled (/app/services/espn-handler.ts:5:58)
2024-01-23 15:20:33     at processTicksAndRejections (node:internal/process/task_queues:96:5)
2024-01-23 15:20:33 Failed to parse the stream

would be much better in understanding why it didnt start instead of a 404 error. Especially if the guide shows time left on the show.

thanks.

This is more of a generic project. I'm not tying into Channels specifically.

I'm adding some padding on each event in case of overtime or whatever. So it's possible that they could be ended even if it still shows in the EPG. All the providers have different errors depending on the event status (even ESPN+ vs ESPN linear), so it's hard to just have an easy solution for that.

1 Like

If you want to surface messages like this I believe you can return an http response header called X-Tuner-Error

The latest pre-release has improved the handling of the X-Tuner-Error header.

1 Like

I believe that the issue with EplusTV not showing up in the Sports Section has to do with the provided guide information. While I certainly don't understand the specifics, I am guessing that this post points the way.

EPlusTV is such a great addition, but it is a lot of content. Was hoping that the Sport Section would help manage it all. @m0ngr31, any chance you might look at how the guide data is loaded so it is compatible? Or alternatively let me know what I am doing wrong.

Thank you so much for your contribution. It is much loved and used around here.

Oh sweet, I'll get that added!

I actually got a PR today to solve this, so I'll cut a new release soon :slight_smile:

2 Likes

As I mentioned way up in this thread, guide items need the “Sports event” tag. This was never added to guide items in EPlusTV, so the airings don’t appear as live sporting events in Channels. This includes the Sports Section and any channel collections set to show Sports, including the stock one in the client.

I’ve opened a pull request on EPlusTV to add it so hopefully it gets merged soon.

1 Like

@m0ngr31 any chance to add Vix to your portfolio of sports services? lots of soccer leagues and live sport channels. Ver Deportes por ViX

you can use my credentials if interested or you can get it for free if you have tmobile.

I must have missed that post. I just merged your PR and cut a new release with that and the X-Tuner-Error header

2 Likes

I'm seeing a funny error when hitting the 404:

eplustv  | Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
eplustv  |     at new NodeError (node:internal/errors:387:5)
eplustv  |     at ServerResponse.setHeader (node:_http_outgoing:644:11)
eplustv  |     at ServerResponse.header (/app/node_modules/express/lib/response.js:771:10)
eplustv  |     at ServerResponse.contentType (/app/node_modules/express/lib/response.js:599:15)
eplustv  |     at ServerResponse.send (/app/node_modules/express/lib/response.js:145:14)
eplustv  |     at notFound (/app/index.ts:25:6)
eplustv  |     at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
eplustv  |     at trim_prefix (/app/node_modules/express/lib/router/index.js:317:13)
eplustv  |     at /app/node_modules/express/lib/router/index.js:284:7
eplustv  |     at Function.process_params (/app/node_modules/express/lib/router/index.js:335:12)
1 Like

Nothing is served at the root, use the /channels.m3u and /xmltv.xml

I pulled the latest and do in fact see the airings show up under Sports and the Sports Section. But of course everything is showing up there, including regular shows, not just live sporting events.

I'm not sure if there's enough hints at what is an actual live event in the originating data and what isn't, but if so, it'd be great to be able to not apply Sports event to talk shows, etc.

Nevertheless, content from EPlusTV is showing under sports now.

1 Like

Should be fixed in v2.1.8

1 Like

Small request: Could you serve a simple HTML page at the root that links to the m3u and XML? I've seen that with a few of these images and it makes it easier to find them.

Should have I and others post errors and request on GitHub instead of here? You nicely dismissed (maybe not dismissed, cant find the right word) my issue since its your project and you said this is not for Channels only, no issue there don’t get me wrong, that's your answer and i am ok with it.

But when the staff here interjects, its fixed. this happens a lot with issues with this Channels software. no ill will (even though i bet someone here with the edit button wont like it), i would just like to know if i should spend my time troubleshooting, gathering information and reporting it to help the community or if i should just take this as is (which is perfectly fine).

thanks again for the great project.

Sorry if you (or anyone else for that matter) feel dismissed. Someone from the staff submitted a PR for the sports tag stuff, and the 404 header change was really small so it was a 5 minute job to deploy both of those.

For other things, such as adding in a landing page or adding in new networks is hours and hours of work. I have limited time as it is between my job, other projects, and spending time with my spouse and kids. I work on this when I'm able so I don't always stay on top of messages here or on Github. Usually my time comes in spurts, so when I'm able I'll add more features in.

But as with all free/open source projects: caveat emptor

1 Like

No I get it, again no ill will. I’m in the same boat as you, job, family, etc.

I like troubleshooting and help in my spare time but not at the expense of my little spare time like everyone else and I like to get to the point.

Thanks again and great work.