CoreELEC 9.2 (Kodi 18.x - Leia) with IPTV Archive support

We’ve been working on this for the past couple of weeks, and believe it’s now ready for the public, to be tested more thoroughly.
This build adds support for the archive feature that some IPTV services provide to their users.
The implementation is based around the pvr.iptvsimple add-on, which is now called pvr.iptvarchive and is available in the CoreELEC add-on repository.

At this time there are some limitations to the functionality of this feature:

  1. At this point, only services that provide a m3u8 playlist are supported.
  2. If the playlist doesn’t contain catchup-source information tags, the user must know how the archive URL request is formatted, and set it in the add-on settings.
  3. You should avoid using Fast-Forward or Rewind, it’s preferred to use skips/seeking instead.
  4. Resuming from pause does not restart the stream, so timeouts, buffer under-runs and timing glitches can and will occur.

Setup is simple:

  • Go to Settings --> Add-ons --> Install from repository --> CoreELEC Nightly Add-ons --> PVR clients --> PVR IPTV Archive Client --> Install.
  • Click on Configure and configure it normally.
  • There is a new tab called Archive Settings, go to it.
  • Turn on Enable Archive support.
  • Enter the URL format for your service. **
  • You can select the length of the timeshift buffer (how long you can seek back from current time in Live TV mode)
  • If you enable Play from EPG in Live TV mode (using timeshift), selecting a show from the EPG will timeshift to it instead of play it like a video.
  • Select how much ‘buffer’ you want to have prior to a show’s start and past a show’s end times when you select a show from EPG. This will allow you to seek back or forward past the original EPG times of the show.

URL format:
Note - Some services include the archive URL in the playlist, under the catchup-source tag in #EXTINF. If your playlist has this tag, you should keep the URL format field empty.

The services we tested with use the normal URL for the channel with a query string to specify the start time of the program you want to watch.
The Archive URL format field should only include the query string.
We tested with two formats so far, and thus we have added several placeholders to give users the flexibility to create these and other formats. If something is missing, please let us know and we will update the available placeholders.

  • {utc} - The start time of the program in UTC format.
  • {lutc} - Current time in UTC format.
  • {Y} - The 4-digit year (YYYY) of the start date\time.
  • {m} - The month (01-12) of the start date\time.
  • {d} - The day (01-31) of the start date\time.
  • {H} - The hour (00-23) of the start date\time.
  • {M} - The minute (00-59) of the start date\time.
  • {S} - The second (00-59) of the start date\time.

So here’s an example of how the tested formats would look like:





Continuing the discussion from CoreELEC team needs input from IPTV users:

i’ve installed this build on both a s905 and s912 device, iptv simple client works as normal but timeshifting doesnt work, i dont know what i should be adding for archive url format but figured it would still allow me to pause tv but it doesnt. any ideas? Where do I look to find this string format?

You need to enable archive support in iptv simple client settings in order for the seek and pause controls to be enabled. But I suggest you read the 4th bullet point in the feature’s limitations before you proceed.

i have that enabled but only the stop button is shown, pause and skip and play buttons do nothing, its ok i ended up setting up a tv headend server and its dvr stuff works well.

Great job. Very useful feature.
The only issue I’ve faced - after seeking in archived program (for skipping ad) it loses time orientation (I assume that it could be provider’s issue)

Could you explain what do you mean?
Basically the way this works is after the seek itself is finished, the addon gets a new time to which the user wants to skip. It generates a new URL with the correct timestamp, and kodi restarts the stream using the new URL.
If after seeking you get to a different point in the show, it could be an issue with the provider, but debug logs would be very helpful in figuring out if there’s a problem with the feature itself.

Exactly. I’ll try to reproduce with simple steps

how do we get the archive URL format??

It depends on your IPTV provider. Often times you can find it on the provider’s forums, on threads discussing the archive feature. Another option would be to just ask them how archive programs are accessed via their support.

We’re In the final stages of testing a new version. We have a few bug fixes. Hopefully the problem Alex mentioned will be completely fixed.
A new feature, which I think is great, is that it will be possible to play from EPG in Live TV mode. You would select a show, and Kodi will timeshift to the selected show. This will allow you to seek back or forward within the full timeshift buffer you have selected in the add-on settings.

if anyone gets this going with vader IPTV can you post what you used for the archive url.

I suggest you ask on their forums. Looks like an active community there.
If it is supported in OTT Player, I think that ?utc={utc}&lutc={lutc} may work.

Thanks I’ll keep trying to figure it out

When will the new version be available? looking forward for testing :slight_smile:

I hope that tonight I will upload the S905 build, based on the current master branch (so it should be otherwise identical to the upcoming 8.95.4)
And either later tonight or tomorrow I’ll upload the S912 build.

It will include support for more IPTV providers, more info will be posted once I have everything ready.

A new build was uploaded, based on

  • The addon was renamed to PVR IPTV Archive Client, you’ll have to redo the settings.
  • There’s a new option Play from EPG in Live TV mode (using timeshift). When you set it, starting a show from the EPG will timeshift to it, instead of starting it as a video.
  • Added support for services who include the archive URL in the playlist, using the catchup-source tag. I could not test it, please report any issue with it ASAP.
    In that case, you should keep the Archive URL format field empty in the Archive Settings.
    If your service includes the archive URL in the playlist using a different method, please let me know and I’ll update the add-on to support it.
  • Fixed the problem with time orientation going wrong after seeking.

I can not CoreELEC-S905.arm- burn to a SD Cart/USB maybee its broken!?

What is wrong with it?

I have manually upgraded from 8.95.3 to the new test version CoreELEC-S905.arm- and all is fine…