• 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 7
IPTV Simple Client with archive support
#46
(2018-11-01, 08:54)ultraman Wrote:
(2018-11-01, 00:54)phunkyfish Wrote: Why not implement 2).
As you could read I'm trying to do that. But as I wrote
Quote:When seek is executed function SeekLiveStream(position, whence) is called. The problem is that position is in bytes but I need time in seconds. How can I get this info somehow?
So I have no information for how many seconds seek should be executed and I can't make new url for a stream to be closed and reopen.

Got you, makes sense.
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#47
(2018-11-01, 20:18)phunkyfish Wrote: No worries, makes sense. Do all streams provide archive capability or just some?

It might make sense to support both, should be easy enough to enable one, the other or both via the addon settings if you want.

Let me know
 It depends on the service provider, some have it on all channels, some only have it on some.
This PR adds support for it in Kodi, skins will be able to mark a channel and/or an EPG event when it has archive support. Like in the 2nd screenshot in post #28.
I'm not too worried about implementing local buffer, since many other add-ons already have this capability, and so we have a good reference for this for the future.
On the other side, adding a local buffer could be confusing for the user. As some channels wouldn't have the same capability as others, although if the ones with archive are clearly marked, maybe it wouldn't be a big problem.
Reply
#48
If it can be transparent to the user all the better. Asked a few people who use simpleIPTV and they were quite keen on getting timeshift support. Even just what’s in the other addons.

None were even aware of archive but would love to just be able to timeshift their live streams.
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#49
Doesn't this accomplish that already?
https://github.com/gonzalo-hvega/pvr.iptvsimple
Reply
#50
Team Kodi will not accept iptvsimple with recording support for reasons discussed several times in this forum.
Reply
#51
@ksooo Does this also apply to local buffer for the timeshift capability?
This is not something I'm interested in doing, but I'm just trying to understand where the lines are.
Reply
#52
(2018-11-02, 18:57)The Coolest Wrote: @ksooo Does this also apply to local buffer for the timeshift capability?
This is not something I'm interested in doing, but I'm just trying to understand where the lines are.


No, a local ts buffer is fine.
Reply
#53
If I was to implement timeshift for simpleIPTV would that create a conflict for the change you are trying to do?
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#54
How would you do that, I'm interested? I think that currently my main hurdle is that Kodi does the demuxing, and so there is no seek controls. There's also no way for us to restart the stream at the correct time.

You can see the changes I've made so far. It adds support for playback from EPG, and some preparations for the server-side timeshift support.
https://github.com/arthur-liberman/pvr.i...ts/archive
Reply
#55
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.

And I hope it is clear that we are talking about multiple problems and enhancements here. One most important (when thread started and still is) is how to restart stream on seek. I think we agree that Kodi doesn't allow that in any case.

Update 1: I openened one movie over http in client just for a testing. And seeking is very off. For example start playing a file for a few seconds and then seek forward for 300 sec. And actual seek was 330 seconds. But maybe my poc is off too Big Grin
Update 2: Local buffer in client would probably broke current functionality we are using Sad

Few lines from the log to see what we can archive atm with some hacks:
Quote:# start of playing one tv channel, create "live" url
10:06:44.266  NOTICE: AddOnLog: PVR IPTV Archive Client: GetChannelStreamProperties - url: http://server/proxy_m3u8.php?channel=slo2-hd-p-slvaac
# after few seconds seek reverse for 30 minutes
10:06:48.676  NOTICE: onPlayBackSeek seekOffset -1800 sec
# and create new url for the archive
10:06:48.677  NOTICE: AddOnLog: PVR IPTV Archive Client: GetChannelStreamProperties - url: http://server/proxy_m3u8.php?channel=slo...3-09-36-47
Reply
#56
I’m not familiar with the simpleiptv codebase but will start to have a look.

If it looks easy I’ll see how to implement it.

I can do it as a feature switch to make it possible to use other methods down the line.
Maintainer of Enigma2 PVR addon: repo, docschangelog
How to create a full debug: here
Reply
#57
I'm thinking about adding timer\pseudo-recording support. A user can set a timer on a future show, when the time comes, the recording will be added to the recordings list.
When the user plays it, the stream is opened the same way it would if the user opened it from EPG. So there's nothing being physically recorded, but it allows the user to select the shows they want to watch later and not miss them.
I hope this makes sense.
Reply
#58
> I hope this makes sense.

 This feature makes sense, yes, but I would be really thankful if we do one step after the other instead opening new feature discussions before existing problems are solved.
Reply
#59
(2018-10-31, 10:54)ksooo Wrote: 3) implement own demuxer in the add-on and hand over the demuxed streams to Kodi. Most flexible and most complex approach on the add-on side.
When you have some time could you explain a little how this works? If I understand correctly the purpose of demuxer is to separate individual elementary streams of a media (audio and video) and feed that to Kodi. And when using demuxer addon also needs to implement input stream handling?

Update1: Seems I'm on good track (just got playing video with my own demuxer Blush).
Reply
#60
ksooo: Could you help me with one very specific problem I have? I'm trying to add demuxer and it basically works. All required function calls happen and playback starts. But i have a problem when I have no more input data and DemuxRead() also returns no data. What I need to do to actually stop playing? Now I see last frame indefinitely on screen and DemuxRead() keeps been called.
Reply
  • 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 7

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