[E² Plugin] X-Streamity - Xtream Codes IPTV Player

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 09.05.2020

V.1.31

-Fixes

KiddaC wrote
Over the last week I have been converting my xstreamity plugin to use the full API for data.
Currently my plugin uses the enigma2.php API. This is quick api and all data is easily readible in step by step format without having to hand code anything, but it is not perfect.
So here are some pros and cons of using the alternative full API.

Pros / For:
All xtream playlists should then be compatible as a handful of providers don't seem to have the enigma2 API I am using in this plugin.
EPG data should be more accurate. The current EPG tends to update by the hour which can show the wrong data , and some providers have got weird stuff going on with their start and end times getting confused.
I can bring in series info
I don't have to convert titles and descriptions from base64.

Cons / Against:
The data that is downloaded is larger, therefore potentianly slower
For the EPG data I have to download the full xmltv.php This is a big file. This is because servers have too many restrictions nowadays for downloading multiple files at once. This is a counter measure to prevent brute force attacks. But it makes displaying EPG data difficult.
With this large file, I then have to manually code and search this data to get the information for the now and next times.
I have to be careful I don't flood server providers with too many server calls otherwise that line is getting banned.

The above is the background of what I am doing. But at the moment I am working on 2 plugins simultaneously. The existing plugin(enigma2.php) and a new version of the plugin (player_api.php).

To make the plugins as similar as possible I have had to rewrite lots of my original plugin from scratch and use a different library ("Requests") to download data. The requests library allows none blocking multiple downloads and has built in json handling.

The reason I am rewriting the original is because I plan on just having one plugin in the end. The user then chooses which API they want to use.
I am only about 50% done at the moment. And there is no release yet of the full API version.
But below is where I am at with the original plugin conversion.
.
Do note though, that I have stripped out lots of settings. There were far too many and was making things confusing for users. These now show as default.

Show Picons
Show Covers
Show Live Category
Show VOD Category
Show Series Category
Show Catch Up Category.

With this version there should be a speed improvement on the playlist screen for users that have more than one provider as I now download them all in parallel.
The playlist category page (live,vod,series,catchup) should also have a noticeable improvement after the first initial download as I now store these options.
Despite the fact I have rewrote huge chunks of this, at the moment you should see no change at all apart from the above mentioned speed improvements.

Please use the IPK to install - everything has changed including your stored data in the json files.
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 10.05.2020

V.1.32

-Fixed Add playlist on first load
-Fixed m3u8 type not being picked up correctly.
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848
added DreamOS *deb file in previous post

If you install from Telnet.
Important that you also run the
Code:
apt-get update
apt-get install -f
So that all dependency files are installed correctly
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 14.05.2020

V.1.34

-Quick fix for boxes that haven't got tuners tuned in and using there box purley as an iptv box.
-Added in the setting to hide "ALL" category.

v1.33
Added in "Exit Button" on live channels. Now allows you to exit back to any playing stream. i.e if you want to check what is on.
This will confuse you as it was originally a back button. Now has dual functionality. Back if no stream playing. Back to stream if a stream is playing.
Use red button (back) - to exit instead
If using live preview - the stream doesn't reload now on clicking ok to view. So a little faster.
New language file updates, albanian, italian, german, turkish
Fixed main playlists screen not updating if your server was down
Amended Stop streams on back button functionality
VOD only stops now if the setting stop on back button is set.
Been experimenting and tweaking picons and vod covers. I am not taking the delayed download out though
Added in a few more server error catches like 503 temporary unavailable. Now retries 3 times with increasing gap before trying again.
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848
added *deb file in previous post
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 14.05.2020

V.1.35

-VOD covers now downloads and shows JPG image and not PNG. Reduction in file size. So thats good
-VOD cover no longer has a download delay
-Better handling of https images. Tries https first. If fails tries to see if there is a http version, This should also fix some images that stopped working in the last release.
-Added in an amend for picons that use gigantic fandom picons. Should now download a smaller version
-Fixed the back to stream showing wrong inforbar information
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 15.05.2020

V.1.36

-Fixed VOD covers not showing in HD skins
-FIxed streams not playing if tuners not tuned in - and fixed the exit button on categories (related)
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 03.06.2020

V.2.02

-Fixed a VOD issue
-Fixed a Series issue
-Removed checking for old folder
-Removed postinst file as serves no pupose anymore and causing some people some issues

v2.01
-Fixed edit playlist error - Incorrect domain

v2.00
Functionality changes
Live, Vod, Series main categories are now cached on first load. To refresh press yellow on the main Category page.
This updates all the category lists again. Note inner lists are still downloaded on the fly when you enter them.

Live EPG data now loaded for each page. There has to be a slight delay to prevent server flooding. Should be a lot more accurate than the enigma2 api used in previous versions of this plugin.
You can stilll press EPG button for next info.
You can still long press EPG button for daily EPG for that channel.

Fixed progress bar showing incorrectly if times spread over midnight.
Fixed a bug where you could hide every category and therefore not able to do anything.
If playing a stream and return to channel list. Exit returns to stream. Red button goes back a level. This should now work on all. Live, Vod, Series, Catchup.
The "ALL" category should now be a lot faster to load for Live, Vod and Series as there is less data being brought in with this API
"ALL" category can be hidden if you keep accidently hitting it.
Improved "The Movie Database (TMDB)" code, so should now bring in more cover art and info than previous versions.
TMDB is now turned on by default. If you prefer provider data turn this option off in settings.
Can now download vod, series and catchup streams depending what screen you are on.
Note downloading a stream is classed as an active user. Single user accounts should not download and play streams at the same time.
Still no download manager screen though. This is a IPTV player. Not an IPTV downloader.
Better naming of the recordings.
Now brings in series cover art and info if available by provider. I do not redownload this via TMDB as its too complicated to do so. Provider only info.
Catchup - The dreaded catchup. I have totally rewrote the code for catchup. Hopefully what I have done this time will be correct for all providers that have big EPG timeshifts. I doubt it though :)

General improvements to lots of functionality.

Add Playlist
Only the minimum required data to be inputted for simplicity
To amend this further add a playlist then click edit to further refine

New Settings
Can now specify stream type for CATCHUP both globablly and individually
Show Live, VOD, Series categories now moved into individual EDIT playlist settings.

Skin changes.
Main page now shows EPG Timeshift value instead of the original URL and Expiry date.
Now widened the category lists to use a much space as possible - Note 3rd party skins like my toys skin and mmarks skin not compatible at the moment

Added date for last time categories were refreshed.

Playlist folder and file now moved to
/etc/enigma2/xstreamity/playlists.txt

json data file that holds all your info now lives in
/etc/enigma2/xstreamity/x-playlists.json

Note this version of the plugin requires lots of server calls. Play nicely with it. Don't try and do too much at once.
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 04.06.2020

V.2.03

Should have fixed all issues with Series data
Fixed all the HD skins (I think)
Added in a lot more catches for reported errors.
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 05.06.2020

V.2.08

-fix some reported bugs

v2.07
Amended code for https picons
Added in some more error catching for dodgy VOD covers
Removed the reference in Live Player that Rubeni reported. That line only returned trying to fix a front panel display issue.
Put in new code for genIPTV Vod covers
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 07.06.2020

V.2.11

-fix some reported bugs
Lists and epg data misaligned. Now fixed
Added in urllib3 retries for those people that don't have the module requests retries
Temporarily removed full api EPG. Too many issues. So returned to the simpler enigma2 API for EPG.
If your data is all over the place for EPG, you can always long hold EPG or INFO button to see a correct daily EPG
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 10.06.2020

V.2.13

Update
Fixed a SD box skin error - causing a crash
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 11.06.2020

V.2.15


-Fixed a PLI 7.2 requests crash
-Fixed a an international date issue for checking epg file modifed date
-Fix some reported bugs
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 13&14.06.2020

V.2.16

KiddaC wrote:
XMLTV files download with no blocking in the background. This is refreshed and downloaded every 24 hours.
Downloading EPG is shown by an icon on the mini TV. Once it has downloaded icon should disappear.
These files are saved to your epg.dat hdd location if available in your settings file - otherwise they download to etc/enigma2/xstreamity/epg
You should be able to use and view your iptv while EPG is still downloading in the background.
Exit button is now always Back - Red is now return to playing stream on the channel pages - that used to bug the hell out of me to as I always use exit button to go back.
EPG is loaded from the xmltv file in chunks of 10 per page.
This method works very fast for small providers. And also means category "ALL" doesn't grind to a halt.
Huge providers are still going to get a lag while the EPG loads on each page. There is 100000s of lines of code it has to iterate through to find the current now and next epg for the current channel. This should not be a massive delay though. A few seconds. Just be patient with it for large world wide providers
There still might be some memory issues for large providers - I am using a powerful quad core box - so don't know what the experience on lesser boxes is.
There sill might be some bugs I need to catch for invalid xml files and bad data. But I not been able to crash this with my test files today.

Enjoy
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 14.06.2020

V.2.17

KiddaC wrote:
EPG type: off / quick / full (off by default)
Quick EPG Timeshift - as the quick epg timeshift differs from all the other times I use
Use the EPG which best works with your provider - if any.
if you got crap quick epg, you can always long press EPG (or info) to see a correct daily EPG for that specific channel.
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 16.06.2020

V.2.18

General
Fixed searching then downloading crash
Fixed a general threading bug, where the interface was trying to be updated from a thread and not the main thread.
Removed xmlttodict library as no longer used
Changed xmltv file download check - to be earlier than today, rather than 24 hours ago. Therefore xmltv epg will always download the first usage of the day.

Dreambox specific.
Made all code python 3 compatible
Made a channel list dreambox specific skin file for better layout (dreamos/categories.xml)
Fixed a general Recording bug. Should be able to record now without a crash
Removed my custom owibranding file used as a DreamOs identifier and now use an alternative method.

Not added.
Sorting by rating - doesn't work as expected
Switching stream to 1 or 4097 to allow recording - user needs to manual switch stream type if they what to instant record
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 20.06.2020

V.2.19

-mini update.
-Added "Info" button as alternative to "TV" for switching stream types. For useless remotes that have about 10 buttons. (dreambox one)
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 24.06.2020

V.2.21

Fixed channel zapping showing wrong index selection on return to channel lists
Added in some safety measures to make sure all url requests are closed, and all playing streams are stopped before playing another.
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 27.06.2020

V.2.22

As OE Alliance are switching to python 3 very shortly...
Further code refactoring to hopefully be fully python 3 compatible.
Also amended lots of syntax to be PEP8 compliant (ish)
Added in piped countries in names to be picked up by the movie database. ie. |FR|
 

WaRp

(∩`-´)⊃━☆゚.*・。゚
Staff member
Administrator
Messages
29,848

Update 05.07.2020

V.2.24

Fixed Vod download


V.2.23
Fixed empty playlists loading screen loop
Removed url forceful close. (it should self close anyway)

Added
Recordings.
Channel list. Can press record. Can enter a start and end time. Can change name.
Live stream. Can press record. Can enter an end time (instant record)
Short daily epg (long epg press). Now can select any program in this daily epg list to future record.
Recordings now default to streamtype = 1 (if this causes any issues let me know)
If you have single user line - do not record and watch different channel at the same time. Will be classed as 2 active users.
Added serbian(latin) Language.
 
Top