• 1(current)
  • 2
  • 3
  • 4
  • 5
  • 34
IPTV Simple now supports Catchup and Timeshifted Catchup in Kodi Matrix
#1
Many IPTV Providers today support catchup windows for their channels. Support for this has now been added in v4.9.0 of the addon for Kodi Matrix.

The work included writing an inputstream addon from scratch, kodi core changes and a sizeable re-architecture of IPTV Simple.

Note that catchup functionality can work one of two ways. The first is where a standard inputstream is used, allowing the use of the EPG to view a programme from within the catchup window like a video. The second is where the inputstream.ffmpegdirect addon is installed which allows pseudo-timeshift, either as a video or with playback as live. When playback as live is enabled it's possible to skip back/forward programme by programme and jump to other channel and programmes via the OSD menus. In fact you have the ability to jump to anywhere in the Catchup Window!

For more information on how to set up either version please read: https://github.com/kodi-pvr/pvr.iptvsimp...md#catchup
Please note that the use of inputstream.ffmpeg is only supported on HLS (M3U8) streams currently.

Thanks to @ultraman  and @The Coolest whose implementation in CoreElec is what all this is based on.

phunkyfish

P.S. I'm sure many edge cases will be found as everyone tries this out. Feel free to use the github linked above to raise any bugs. Ty
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#2
I wonder where to set the catchup tags.
Do i need a channels.m3u that instead of direct stream links references another m3u or m3u8 with the stream links?
Reply
#3
Catchup will only work if your provider supports it. They can either embed the catchup tags in the M3U file they supply you with or provide a catchup URL format string.
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#4
Mmh, that doesn't answer my question.
If i would create my own VOD provider, how would those m3u look like? Especially i'm interested in catchup-source.
Reply
#5
Sorry, I understand you. I thought I had added example entries to README.md but I had not. I will provide some examples tomorrow.
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#6
Thanks.
Reply
#7
First of all we have the definitions for each tag from the README:
  • catchup: Which mode of catchup to use. Supported modes of default and append. Required unless the setting All channels support catchup is enabled.
  • catchup-source: Can contain the full catchup URL (complete with format specifiers) if in default mode. Or if the mode is append just the query string with format specifiers which will be appended to the channel URL. If omitted the Query format string from settings will be appended.
  • catchup-days: The number of days in the past catchup is available for.

Knowing this here are a few example entries:

Code:

#EXTINF:0 catchup="default",Channel A
http://path-to-stream/live/channel-a.ts
#EXTINF:0 catchup="default" catchup-source="http://path-to-stream/live/catchup-b.ts&cutv={Y}-{m}-{d}T{H}:{M}:{S}" catchup-days="3",Channel B
http://path-to-stream/live/channel-b.ts
#EXTINF:0 catchup="append" catchup-source="&cutv={Y}-{m}-{d}T{H}:{M}:{S}" catchup-days="3",Channel C
http://path-to-stream/live/channel-c.ts
  • For Channel A the stream URL will be used and the Query format string from the addon settings will be appended to construct the catchup URL.
  • For Channel B the stream URL will not be used, instead using catchup-source as the catchup URL.
  • For Channel C the stream URL will be used and catchup-source will be appended to form the catchup URL.

The format specifiers available to use in the URL are listed here in the README: https://github.com/kodi-pvr/pvr.iptvsimp...specifiers
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#8
What if every program entry of the same channel has a different stream url? Is this even possible?
Reply
#9
Do you mean like an external ID for each EPG entry? It should be possible to add this as a new placeholder I guess and I extend the XMLTV format.

Or do you mean a completely different URL for each entry.
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#10
thanks for your work
the changes are finally going the right way

I haven't managed to start any stream yet, I moved the CoreElec playlist where everything works, but I can't run it on windows in a new pvr

I will test various options and syntax yet but it won't work on Flussonic
Reply
#11
(2020-02-04, 18:16)phunkyfish Wrote: Do you mean like an external ID for each EPG entry? It should be possible to add this as a new placeholder I guess and I extend the XMLTV format.

Or do you mean a completely different URL for each entry.
A completely different url would be much easier for my project, but if that is not possible the other solution will be also okay i think. I guess this "external epg id" will then be appended to the stream url of the channels.m3u somehow?
Reply
#12
(2020-02-04, 19:29)Atamans Wrote: thanks for your work
the changes are finally going the right way

I haven't managed to start any stream yet, I moved the CoreElec playlist where everything works, but I can't run it on windows in a new pvr

I will test various options and syntax yet but it won't work on Flussonic

Can you advise what would be required for flusonic? I’m not familiar with it.
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#13
(2020-02-04, 20:03)puenktchen Wrote: Or do you mean a completely different URL for each entry.
A completely different url would be much easier for my project, but if that is not possible the other solution will be also okay i think. I guess this "external epg id" will then be appended to the stream url of the channels.m3u somehow?
[/quote]

I’m not sure which would be easier. May need to extend the PVR api to support either. Let me check.

Would external epg id be an integer in your case? If that’s the options then it would just be a placeholder in the catchup url format string.
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#14
flussonic is a server, everyone has different streaming and detection methods
my coreelec settings are like this
Code:
#EXTM3U
#EXTINF:0 id="3" group-title="Popular" timeshift="3" catchup-source="https://MYSERVER/play/hls-apple-s4-c494-xxxxxxxxxxx.m3u8?utc={utc}&lutc={lutc}" tvg-id="ch.name" tvg-name="ch.name" tvg-logo="http://logo/4034.png",ch.name
https://MYSERVER/play/hls-apple-s4-xxxxxxxxxxx.m3u8

I also tried 
Code:
&utc={utc}&lutc={lutc}

I have also tried many other solutions, kodi shows that it detects the archive but is unable to run it
as I wrote earlier on coreelec everything works fine with these settings
Reply
#15
@Atamans 
You are missing a catchup tag. So if you add a catchup="default" it should work I think. You would also need a catchup-days="3" instead of timeshift="3".

If you have examples of the flussonic format and possibly a test stream I can try to add support.
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
  • 1(current)
  • 2
  • 3
  • 4
  • 5
  • 34

Logout Mark Read Team Forum Stats Members Help
IPTV Simple now supports Catchup and Timeshifted Catchup in Kodi Matrix1