• 1
  • 3
  • 4
  • 5
  • 6(current)
  • 7
IPTV Simple Client with archive support
#76
@ksooo I just had an idea. If you take my PR into consideration, you can use the "HasArchive()" check to see if it is supported, and have a setting in the PVR & Live TV section to determine which mode to start playback in.
Edit: What I mean is whether to start it in "video" mode or "timeshifted live tv" mode.
Reply
#77
(2018-11-03, 08:57)ultraman Wrote: I think I'm right saying that when local timeshift buffer is used stream must be opened in client itself and using OpenLiveStream(), ReadLiveStream() and other functions. This is easy if stream is directly provided. But in case of M3U8 files we have to follow links inside it. In case of master playlist we get first file with different quality links. And when we choose one quality we get actual M3U8 list which should be played/read. Little complicated in regards what is done in other clients but nothing major. Just few more lines of code.

@ultraman Could you explain this a bit more? When the original m3u8 file is read how do you know which quality is selected? Following on from there how would you know when to load the next stream data segment after the first?

Been playing with this and when using option 2 it stops straight after the first TS file, it just waits for the data from the next file to arrive.

Also the resulting list of TS files is finite. Assuming we read all of them would playback just stop?
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#78
For 2) you need to handle complete m3u8 because you pass raw data to Kodi. Meaning reading master playlist, select one stream quality and getting segments when you don't have any input data anymore. This is implemented in InputStream Adaptive.
That's why I gave up for now because it is duplicating the code. In pvr addon I would need something which is already implemented in InputStream Adaptive. But there are required some data which I don't have in master playlist. Not from my provider and not from others. Which means InputStream Adaptive can't be used for such providers.

At the end a lot of more code must be written to complete PVR addon with this functionality. On the other end not so much in Kodi (what some people are using now and works great).

Because currently this thing "just works" I don't look anymore much to improve it.
Reply
#79
What do you mean by which quality is selected? I choose the best from it Smile using #EXT-X-STREAM-INF:BANDWIDTH information.
List of .ts files are finite for VOD and infinite for LIVE. You read one by one until playback stopped or there is no more files in the list.

But don't get me wrong: I'm not expert here!
Reply
#80
Ok, I have a working prototype using option 2. Essentially a M3U8Streamer.

It works with local timeshift but no reason it couldn’t work for archive too.
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#81
I did start working on option 2 here: https://forum.kodi.tv/showthread.php?tid...pid2787504
But as you can see seek still can't work (to time information to create new url).
That's why I started to work on option 3 using own demuxer. I also got it partially working. But then I realized that all required parts which needs to be written already exists in inputstream adaptive addon. And then I gave up for now Smile

Current implementation from The Coolest works great for now. I think for Kodi 19 all this will be revisited again if nothing else come up. So I'm safe for another 2 years Big Grin Or until my provider enables DRM.
Reply
#82
Hello
Is it possible to make a little how-to build and install this addon to kodi?
Reply
#83
Time shifting is all fine for some IPTV providers but the ones I looked at offer archive URL's to specific videos with unique ID's, not time shifting specifically.
I would suggest providing URL in the xmltv programme section, alongside title, category, description, etc.
This way both time shifting and absolute video URL's would be supported.

Also, in the addon that I work on, which uses pvr.iptvsimple, I use kodi internal links (plugin://...) in the m3u playlist file supplied to iptvsimple. This allows to handle both DRM and also use inputstream.adaptive for TV playback.
Please include URL parameter in the EPG XML and use that for time-shifting/archive-linking.
Reply
#84
(2019-03-12, 15:17)Janhouse Wrote: Also, in the addon that I work on, which uses pvr.iptvsimple, I use kodi internal links (plugin://...) in the m3u playlist file supplied to iptvsimple. This allows to handle both DRM and also use inputstream.adaptive for TV playback.
Can you tell me more about this?
Reply
#85
Is this project dead?
Reply
#86
(2019-03-27, 23:49)h3yn0w Wrote: Is this project dead?
Of course not - I'm using it daily.
Reply
#87
(2019-03-28, 09:58)ultraman Wrote:
(2019-03-27, 23:49)h3yn0w Wrote: Is this project dead?
Of course not - I'm using it daily. 
Thats great! but how to install it to kodi?
Reply
#88
(2019-03-31, 11:08)ihaar Wrote: That's great! but how to install it to kodi? 
Depends on a distro you use. It is available in CoreELEC repository. For everything else you need to build it yourself.
Reply
#89
(2019-03-12, 16:05)ultraman Wrote:
(2019-03-12, 15:17)Janhouse Wrote: Also, in the addon that I work on, which uses pvr.iptvsimple, I use kodi internal links (plugin://...) in the m3u playlist file supplied to iptvsimple. This allows to handle both DRM and also use inputstream.adaptive for TV playback.
Can you tell me more about this?  
You can check the code here: https://github.com/martinsbalodis/xbmc-lattelecom.tv

In "lib/epg.py" you can see that I pass "plugin://lattelecomtv/?play=true&data_url=..." as a URL in M3U playlist that is then loaded by IPTVSimple addon. And "play" argument is handled by channels.py "play_channel()" as can be seen in "addon.py".
Reply
#90
(2019-04-22, 23:16)Janhouse Wrote:
(2019-03-12, 16:05)ultraman Wrote:
(2019-03-12, 15:17)Janhouse Wrote: Also, in the addon that I work on, which uses pvr.iptvsimple, I use kodi internal links (plugin://...) in the m3u playlist file supplied to iptvsimple. This allows to handle both DRM and also use inputstream.adaptive for TV playback.
Can you tell me more about this?     
You can check the code here: https://github.com/martinsbalodis/xbmc-lattelecom.tv

In "lib/epg.py" you can see that I pass "plugin://lattelecomtv/?play=true&data_url=..." as a URL in M3U playlist that is then loaded by IPTVSimple addon. And "play" argument is handled by channels.py "play_channel()" as can be seen in "addon.py".   

I am missing here how to play past EPG entries?
Something like stream url in EPG entry.

python:
ElementTree.SubElement(xml_prog, "url").text = item["streamUrl"]
Reply
  • 1
  • 3
  • 4
  • 5
  • 6(current)
  • 7

Logout Mark Read Team Forum Stats Members Help
IPTV Simple Client with archive support2