Replies: 6 comments 5 replies
-
Was looking to deploy this project but found your issue and I need the catch-up so I made some ressearch: The /live/ prefix is defined in the Laravel route declaration. In routes/web.php you’ll find:
The /live/ proxy in m3u-editor serves to turn all upstream stream URLs into requests that pass through the application, rather than exposing the raw source URLs directly. Practically, this offers: Access control and security Centralized caching, throttling, and logging URL abstraction and flexibility Catch-up streams typically require dynamic query parameters (e.g. start, end, or placeholders like ${start}) embedded in the original URL. When m3u-editor proxies via /live/, it fetches and re-serves a fixed URL stored in the DB—losing those dynamic placeholders. As a result, catch-up requests never carry the correct time parameters, so the upstream service returns only live content. In short: proxying through /live/ provides security, logging, and abstraction benefits, but it strips or fails to forward the catch-up time parameters. To fix this, m3u-editor’s StreamController would need to preserve and forward those dynamic placeholders (or reconstruct the query string) when generating its proxied request for catch-up channels. For my use I only need pure playlist/EPG editing (merge, hide, reorder, group, update EPG). I don't know if there could be a toggle switch implemented to disable the proxy layer for users like me that don't need it since I don't use DVR @sparkison ? Regards 😺 |
Beta Was this translation helpful? Give feedback.
-
So is the addition of "live" only need to support playlist authentication? I am not using any authentication (or proxying the streams) so ideally the original m3u stream links should be preserved in this case. |
Beta Was this translation helpful? Give feedback.
-
It could, I'm not familiar with proxy in the IPTV context, the main thing I know it's for various purposes including authentification it regenerate the URL's to be compatible with DVR setup. If @sparkison don't implement a switch/toogle to bypass the proxy maybe later after the summer I could fork it and try to remove the proxy layer to only keep the editing parts to use with IPTV players like TiviMate. I'd like to be able to not rely entirely on M3U4U to manage/edit my playlists and EPG but with a similar friendly GUI with drag and drop to reorder things. |
Beta Was this translation helpful? Give feedback.
-
Catchup has been a struggle to get working with the proxy. We had a contributor that got close, but wasn't able to get it fully implemented. The |
Beta Was this translation helpful? Give feedback.
-
Going to move this one to a discussion, since it's not really a bug, but a known limitation of the proxy functionality. It's something I'm aware and working on, so hopefully have something in the near future 😉 |
Beta Was this translation helpful? Give feedback.
-
I recon I know how to finish this and get it working. Sorry, I just haven't the time at the moment. I get back home mid August and will definitely revisit it then. This is where I got to so far, works only with MPEG-TS, the way HLS works it's not really possible. My parents are on my case about it, will get to it. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Describe the bug
I have an m3U file where some of the channels support Catchup
When I process the same m3u file via M3UEditor, none of my IPTV apps recognise that catchup is available.
To Reproduce
Steps to reproduce the behavior:
Add M3U URL to M3UEditor and process.
Add output M3U URL to IPTV app
Observe catchup is not available
Expected behavior
Catchup should be available on the same channels as before processing
Actual behavior
Catchup is unavailable.
I've tried Tivimate and Android TV, MyTVOnline Android app and IPTV Expert on Windows all with the same result
Screenshots
docker-compose.yml contents
# docker-compose.yml contents here
Container/Host Logs
Additional context
I have compared the original and processed m3U file and see the following
-- Original
#EXTINF:-1 tvg-id="BBCOneOxford.uk" tvg-name="UK: BBC ONE LONDON 4K ◉" tvg-logo="http://icon-tmdb.me/stalker_portal/misc/logos/320/11987.jpg?90172" group-title="UK| GENERAL ᴴᴰ/ᴿᴬᵂ",UK: BBC ONE LONDON 4K ◉ http://domainname:80/username/password/497001
--Post Procesing
#EXTINF:-1 catchup="1" tvg-chno="2" tvg-id="BBCOneOxford.uk" tvg-name="UK: BBC ONE LONDON 4K ◉" tvg-logo="http://icon-tmdb.me/stalker_portal/misc/logos/320/11987.jpg?90172" group-title="UK| GENERAL ᴴᴰ/ᴿᴬᵂ",UK: BBC ONE LONDON 4K ◉ http://domainname/live/username/password/497001.ts
Note, the latter has a catchup tag but is the one where catchup is ignored. I suspect the addition of "live" to the output URL is causing the problem.
I can provide a working M3U source to test if needed
Beta Was this translation helpful? Give feedback.
All reactions