Kodi Community Forum

Full Version: IPTV Simple now supports Catchup and Timeshifted Catchup in Kodi Matrix
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
(2022-09-05, 17:42)JNeedham Wrote: [ -> ]My wife wanted me to ask why doesn't the onscreen keyboard for entering the date to search from respect the system's and/or Kodi's locale and format to "mm dd yyyy" (American) instead of "dd mm yyyy" (European)?

Not really an iptvsimple question. Maybe ask this in another sub forum.
(2022-09-13, 18:24)phunkyfish Wrote: [ -> ]
(2022-09-11, 19:12)giaur Wrote: [ -> ]Is XtreamCodes format supported? With that format set in addon settings, all options related to playback from archive are missing - no green dots on channels and no playback option

No, I don’t believe so, as Xtream codes does not use an M3U.

Do you have examples of this format?
I don't have any examples, but I checked what other players do when that format is set on m3u playlist. This player: https://play.google.com/store/apps/detai...ay.ottplay just adds standard tags to url: ?utc={utc]&lutc={lutc}, where utc is start time of movie and lutc is end time as unix timestamps. When movie is not finished, it ommits lutc tag.

But I'm not sure if it's valid, because it sets the same tags for Shift (Smart IPTV) format.
(2022-09-14, 07:38)giaur Wrote: [ -> ]
(2022-09-13, 18:24)phunkyfish Wrote: [ -> ]
(2022-09-11, 19:12)giaur Wrote: [ -> ]Is XtreamCodes format supported? With that format set in addon settings, all options related to playback from archive are missing - no green dots on channels and no playback option

No, I don’t believe so, as Xtream codes does not use an M3U.

Do you have examples of this format?
I don't have any examples, but I checked what other players do when that format is set on m3u playlist. This player: https://play.google.com/store/apps/detai...ay.ottplay just adds standard tags to url: ?utc={utc]&lutc={lutc}, where utc is start time of movie and lutc is end time as unix timestamps. When movie is not finished, it ommits lutc tag.

But I'm not sure if it's valid, because it sets the same tags for Shift (Smart IPTV) format.

As I don’t understand exactly what Xtream codes is it’s difficult to even think about supporting it.
If you know any Android player that supports them and it's known support is correct, I am able to check what requests it generates. For mentioned one, as I wrote, it generates utc and lutc tags. In any case, I think Xtream Codes options should be removed from settings if not supported, it's confusing because it does nothing.

There's also some "issue" with Flussonic support. Your addon always use timeshift  tags. In case when archive is enabled for not finished events only, can you make addon to use tags like this: http://FLUSSONIC-IP/STREAM_NAME/archive-1652249647-3600.m3u8 or video-1652249647-3600.m3u8 or mono-1652249647-3600.m3u8 instead? Some providers don't support playback with timeshift and timeshift-rel or absolute don't work.
Full reference can be found in Flussonic docs: https://flussonic.com/doc/digital-video-...protocols/
(2022-09-23, 10:11)giaur Wrote: [ -> ]If you know any Android player that supports them and it's known support is correct, I am able to check what requests it generates. For mentioned one, as I wrote, it generates utc and lutc tags. In any case, I think Xtream Codes options should be removed from settings if not supported, it's confusing because it does nothing.

There's also some "issue" with Flussonic support. Your addon always use timeshift  tags. In case when archive is enabled for not finished events only, can you make addon to use tags like this: http://FLUSSONIC-IP/STREAM_NAME/archive-1652249647-3600.m3u8 or video-1652249647-3600.m3u8 or mono-1652249647-3600.m3u8 instead? Some providers don't support playback with timeshift and timeshift-rel or absolute don't work.
Full reference can be found in Flussonic docs: https://flussonic.com/doc/digital-video-...protocols/

If you can detail exactly what you need in a GitHub issue for your use case I could look at adding an option. Changing the default behaviour would be problematic though as just as many current use cases would break.
(2022-09-28, 09:46)giaur Wrote: [ -> ]You mean here?  https://github.com/kodi-pvr/pvr.iptvsimple

Yes
Hi. I have a problem and I break my head but didn't solve it. So the trouble is that when I want to change the channel with numbers from remote this operation completes successfully. But when I want to do that within Home Assistant (looks like it uses terminal command with "channel-id") kodi switches to the different channel.
Ex.:
A. Within remote: number 5 - channel 5, number 9 - channel 9
B. Within Home Assistant or terminal: channel-id 5 - channel 2187, channel-id 9 - channel 376

Can you please explain me what kind of logic does it use?)

I'm on 19.3, android 11 tv box ugoos, playlist in m3u8 format and epg in xml.
(2022-10-23, 23:43)Lexor10us Wrote: [ -> ]Hi. I have a problem and I break my head but didn't solve it. So the trouble is that when I want to change the channel with numbers from remote this operation completes successfully. But when I want to do that within Home Assistant (looks like it uses terminal command with "channel-id") kodi switches to the different channel.
Ex.:
A. Within remote: number 5 - channel 5, number 9 - channel 9
B. Within Home Assistant or terminal: channel-id 5 - channel 2187, channel-id 9 - channel 376

Can you please explain me what kind of logic does it use?)

I'm on 19.3, android 11 tv box ugoos, playlist in m3u8 format and epg in xml.

I don’t know what home assistant is.
Hello everyone,

I'm new to Kodi and the IPTV integration and need some help please where to start. I got my channels and epg running, but catchup I can't get to work. My provider provided me with a m3u list only with lines like this:

#EXTINF:-1 tvg-ID="channel1_ID" tvg-name="channel1_name" tvg-logo="http://logo.com" group-title="Channels", Channelname
http://channel.com/channel

Catchup works out of the box with all of the IPTV apps I used on my TV. Where do I start? Which mode do I need to pick?

Thanks!
(2022-12-01, 14:40)MyZ187 Wrote: [ -> ]Hello everyone,

I'm new to Kodi and the IPTV integration and need some help please where to start. I got my channels and epg running, but catchup I can't get to work. My provider provided me with a m3u list only with lines like this:

#EXTINF:-1 tvg-ID="channel1_ID" tvg-name="channel1_name" tvg-logo="http://logo.com" group-title="Channels", Channelname
http://channel.com/channel

Catchup works out of the box with all of the IPTV apps I used on my TV. Where do I start? Which mode do I need to pick?

Thanks!

You would need to ask your provider what type of catchup they offer. Usually that is contained in the M3U file. It could be a catchup type that is not support though.
(2022-12-02, 15:13)phunkyfish Wrote: [ -> ]
(2022-12-01, 14:40)MyZ187 Wrote: [ -> ]Hello everyone,

I'm new to Kodi and the IPTV integration and need some help please where to start. I got my channels and epg running, but catchup I can't get to work. My provider provided me with a m3u list only with lines like this:

#EXTINF:-1 tvg-ID="channel1_ID" tvg-name="channel1_name" tvg-logo="http://logo.com" group-title="Channels", Channelname
http://channel.com/channel

Catchup works out of the box with all of the IPTV apps I used on my TV. Where do I start? Which mode do I need to pick?

Thanks!

You would need to ask your provider what type of catchup they offer. Usually that is contained in the M3U file. It could be a catchup type that is not support though.
Ok thanks. No, there isn't any catchup information in the m3u line. And the provider has no clue what I'm asking them  Rofl  So yes.... Any idea how "normal" IPTV apps do this? My catchup works fine with every app.
(2022-12-05, 12:48)MyZ187 Wrote: [ -> ]
(2022-12-02, 15:13)phunkyfish Wrote: [ -> ]
(2022-12-01, 14:40)MyZ187 Wrote: [ -> ]Hello everyone,

I'm new to Kodi and the IPTV integration and need some help please where to start. I got my channels and epg running, but catchup I can't get to work. My provider provided me with a m3u list only with lines like this:

#EXTINF:-1 tvg-ID="channel1_ID" tvg-name="channel1_name" tvg-logo="http://logo.com" group-title="Channels", Channelname
http://channel.com/channel

Catchup works out of the box with all of the IPTV apps I used on my TV. Where do I start? Which mode do I need to pick?

Thanks!

You would need to ask your provider what type of catchup they offer. Usually that is contained in the M3U file. It could be a catchup type that is not support though.
Ok thanks. No, there isn't any catchup information in the m3u line. And the provider has no clue what I'm asking them  Rofl  So yes.... Any idea how "normal" IPTV apps do this? My catchup works fine with every app.

The issue is that there are many different types of the catchup available. I don’t suppose that the apps that work tell you the catchup type by any chance?
I have official, free and legal german stream-MPDs (ARD, ZDF) where you can go back 2h from a stream. It works with "Catchup mode" and EPG. But if you go back e.g. 30 min, Kodi displays the actual stream time. The stream shows the pic from -30 min.

Is it possible to integrate timeshift of -2h/-3h here so that Kodi automatically shows the Timeshift Buffer?
Here are the mpds: (from Kodinerds: https://github.com/jnk22/kodinerds-iptv)
ARD: 2h timeshift
http://mcdn.daserste.de/daserste/dash/manifest.mpd
xml:
<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dashConfusedchema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xsiConfusedchemaLocation="urn:mpeg:dashConfusedchema:mpd:2011 http://standards.iso.org/ittf/PubliclyAv...SH-MPD.xsd" type="dynamic" publishTime="2023-01-05T16:08:33.093Z" minimumUpdatePeriod="PT30S"
  availabilityStartTime="2022-12-20T10:15:57.092Z" minBufferTime="PT6S" suggestedPresentationDelay="PT18S" timeShiftBufferDepth="PT2H0M0S" profiles="urn:hbbtv:dash:profile:isoff-live:2012,urn:mpeg:dash:profile:isoff-live:2011">
  <Period start="PT0S" id="1">
    <AdaptationSet mimeType="video/mp4" frameRate="50/1" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="false">
      <SegmentTemplate timescale="90000" duration="540000" startNumber="1"/>
      <Representation id="1" width="1280" height="720" bandwidth="3200000" codecs="avc1.640020" scanType="progressive">
        <SegmentTemplate duration="540000" startNumber="1" media="manifest_1280x720p50_3500k-$Number$.mp4" initialization="manifest_1280x720p50_3500k-init.mp4"/>
      </Representation>
      <Representation id="2" width="960" height="540" bandwidth="1600000" codecs="avc1.4d401f" scanType="progressive">
        <SegmentTemplate duration="540000" startNumber="1" media="manifest_960x540p50_1800k-$Number$.mp4" initialization="manifest_960x540p50_1800k-init.mp4"/>
      </Representation>
      <Representation id="3" width="640" height="360" bandwidth="1200000" codecs="avc1.4d401f" scanType="progressive">
        <SegmentTemplate duration="540000" startNumber="1" media="manifest_640x360p50_900k-$Number$.mp4" initialization="manifest_640x360p50_900k-init.mp4"/>
      </Representation>
    </AdaptationSet>
    <AdaptationSet mimeType="audio/mp4" lang="de" segmentAlignment="0" startWithSAP="1">
      <SegmentTemplate timescale="48000" media="manifest128k_aac-$Number$.mp4" initialization="manifest128k_aac-init.mp4" duration="288000" startNumber="1"/>
      <Representation id="4" bandwidth="128000" audioSamplingRate="48000" codecs="mp4a.40.2">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>
ZDF: 3h Timeshift
http://zdf-dash-15.akamaized.net/dash/li...nifest.mpd
xml:
<?xml version="1.0" encoding="UTF-8" ?>
<MPD xmlns="urn:mpeg:dashConfusedchema:mpd:2011" xmlns:mspr="urn:microsoft:playready" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:dvb:dash:profile:dvb-dash:2014,urn:hbbtv:dash:profile:isoff-live:2012,urn:mpeg:dash:profile:isoff-live:2011" type="dynamic"
  availabilityStartTime="1970-01-01T00:00:00Z" minimumUpdatePeriod="PT2.000S" publishTime="2023-01-05T16:16:41Z" timeShiftBufferDepth="PT3H0.000S" minBufferTime="PT2.000S">
  <BaseURL>http://zdf-dash-15.akamaized.net/dash/live/2016508/de/</BaseURL>
  <BaseURL>http://zdf-dash-15.akamaized.net/dash/live/2016508-b/de/</BaseURL>
  <Period id="0" start="PT0S">
    <!--Video-->
    <AdaptationSet id="0" maxWidth="1280" maxHeight="720" maxFrameRate="50/1" par="16:9" segmentAlignment="true">
      <SegmentTemplate timescale="48000" duration="96000" startNumber="0" initialization="8e24624c78d58d47705f22d2b7daa5c9_0_$RepresentationID$-init.mp4" media="8e24624c78d58d47705f22d2b7daa5c9_0_$RepresentationID$-$Number$.mp4" />
      <Representation id="video_00" mimeType="video/mp4" codecs="avc3.4d401f" bandwidth="1500000" width="960" height="540" scanType="progressive" frameRate="25/1" sar="1:1" startWithSAP="1" />
      <Representation id="video_01" mimeType="video/mp4" codecs="avc3.640028" bandwidth="3200000" width="1280" height="720" scanType="progressive" frameRate="50/1" sar="1:1" startWithSAP="1" />
    </AdaptationSet>
    <!--Audio-->
    <AdaptationSet id="1" lang="de"  segmentAlignment="true">
      <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" />
      <SegmentTemplate timescale="48000" duration="96000" startNumber="0" initialization="8e24624c78d58d47705f22d2b7daa5c9_1_$RepresentationID$-init.mp4" media="8e24624c78d58d47705f22d2b7daa5c9_1_$RepresentationID$-$Number$.mp4" />
      <Representation id="audio_02" mimeType="audio/mp4" codecs="mp4a.40.2" bandwidth="128000" audioSamplingRate="48000" startWithSAP="1">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" />
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>
Thanks in advance
(2023-01-05, 18:20)Solo0815 Wrote: [ -> ]I have official, free and legal german stream-MPDs (ARD, ZDF) where you can go back 2h from a stream. It works with "Catchup mode" and EPG. But if you go back e.g. 30 min, Kodi displays the actual stream time. The stream shows the pic from -30 min.

Is it possible to integrate timeshift of -2h/-3h here so that Kodi automatically shows the Timeshift Buffer?
Here are the mpds: (from Kodinerds: https://github.com/jnk22/kodinerds-iptv)
ARD: 2h timeshift
http://mcdn.daserste.de/daserste/dash/manifest.mpd
xml:
<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dashConfusedchema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xsiConfusedchemaLocation="urn:mpeg:dashConfusedchema:mpd:2011 http://standards.iso.org/ittf/PubliclyAv...SH-MPD.xsd" type="dynamic" publishTime="2023-01-05T16:08:33.093Z" minimumUpdatePeriod="PT30S"
  availabilityStartTime="2022-12-20T10:15:57.092Z" minBufferTime="PT6S" suggestedPresentationDelay="PT18S" timeShiftBufferDepth="PT2H0M0S" profiles="urn:hbbtv:dash:profile:isoff-live:2012,urn:mpeg:dash:profile:isoff-live:2011">
  <Period start="PT0S" id="1">
    <AdaptationSet mimeType="video/mp4" frameRate="50/1" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="false">
      <SegmentTemplate timescale="90000" duration="540000" startNumber="1"/>
      <Representation id="1" width="1280" height="720" bandwidth="3200000" codecs="avc1.640020" scanType="progressive">
        <SegmentTemplate duration="540000" startNumber="1" media="manifest_1280x720p50_3500k-$Number$.mp4" initialization="manifest_1280x720p50_3500k-init.mp4"/>
      </Representation>
      <Representation id="2" width="960" height="540" bandwidth="1600000" codecs="avc1.4d401f" scanType="progressive">
        <SegmentTemplate duration="540000" startNumber="1" media="manifest_960x540p50_1800k-$Number$.mp4" initialization="manifest_960x540p50_1800k-init.mp4"/>
      </Representation>
      <Representation id="3" width="640" height="360" bandwidth="1200000" codecs="avc1.4d401f" scanType="progressive">
        <SegmentTemplate duration="540000" startNumber="1" media="manifest_640x360p50_900k-$Number$.mp4" initialization="manifest_640x360p50_900k-init.mp4"/>
      </Representation>
    </AdaptationSet>
    <AdaptationSet mimeType="audio/mp4" lang="de" segmentAlignment="0" startWithSAP="1">
      <SegmentTemplate timescale="48000" media="manifest128k_aac-$Number$.mp4" initialization="manifest128k_aac-init.mp4" duration="288000" startNumber="1"/>
      <Representation id="4" bandwidth="128000" audioSamplingRate="48000" codecs="mp4a.40.2">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>
ZDF: 3h Timeshift
http://zdf-dash-15.akamaized.net/dash/li...nifest.mpd
xml:
<?xml version="1.0" encoding="UTF-8" ?>
<MPD xmlns="urn:mpeg:dashConfusedchema:mpd:2011" xmlns:mspr="urn:microsoft:playready" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:dvb:dash:profile:dvb-dash:2014,urn:hbbtv:dash:profile:isoff-live:2012,urn:mpeg:dash:profile:isoff-live:2011" type="dynamic"
  availabilityStartTime="1970-01-01T00:00:00Z" minimumUpdatePeriod="PT2.000S" publishTime="2023-01-05T16:16:41Z" timeShiftBufferDepth="PT3H0.000S" minBufferTime="PT2.000S">
  <BaseURL>http://zdf-dash-15.akamaized.net/dash/live/2016508/de/</BaseURL>
  <BaseURL>http://zdf-dash-15.akamaized.net/dash/live/2016508-b/de/</BaseURL>
  <Period id="0" start="PT0S">
    <!--Video-->
    <AdaptationSet id="0" maxWidth="1280" maxHeight="720" maxFrameRate="50/1" par="16:9" segmentAlignment="true">
      <SegmentTemplate timescale="48000" duration="96000" startNumber="0" initialization="8e24624c78d58d47705f22d2b7daa5c9_0_$RepresentationID$-init.mp4" media="8e24624c78d58d47705f22d2b7daa5c9_0_$RepresentationID$-$Number$.mp4" />
      <Representation id="video_00" mimeType="video/mp4" codecs="avc3.4d401f" bandwidth="1500000" width="960" height="540" scanType="progressive" frameRate="25/1" sar="1:1" startWithSAP="1" />
      <Representation id="video_01" mimeType="video/mp4" codecs="avc3.640028" bandwidth="3200000" width="1280" height="720" scanType="progressive" frameRate="50/1" sar="1:1" startWithSAP="1" />
    </AdaptationSet>
    <!--Audio-->
    <AdaptationSet id="1" lang="de"  segmentAlignment="true">
      <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" />
      <SegmentTemplate timescale="48000" duration="96000" startNumber="0" initialization="8e24624c78d58d47705f22d2b7daa5c9_1_$RepresentationID$-init.mp4" media="8e24624c78d58d47705f22d2b7daa5c9_1_$RepresentationID$-$Number$.mp4" />
      <Representation id="audio_02" mimeType="audio/mp4" codecs="mp4a.40.2" bandwidth="128000" audioSamplingRate="48000" startWithSAP="1">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" />
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>
Thanks in advance

This would require inputstream.adaptive supporting the iTimes interface that kodi PVR provides. Maybe @glennguy can help.

I attempted this in the past but was not successful. But as adaptive is very different to ffmpeg based inputstream’s I don’t think I had the right foundational understanding of how it works to do it correctly.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34