Jump to content


Member Since 2 Jan 2015
Offline Last Active 05 Nov 2020 17:52

#1051421 exteplayer3 - support for the embedded PGS (Presentation Graphic Stream) subt...

Posted by samsamsam on 6 May 2019 - 18:28

Hello @athoik


There is no only one kind of "closed caption" - these one from your example file are not exposed as separate stream (they are not transmitted on separate PID), they are send in the H264 frames metadata.

So, just as logic suggests they should be returned in the callback by the video decoder. 


As, you know video decoding is not handled by the exteplayer3. Video decoding is handled by video processing unit, let say "hardware" (/dev/dvb/adapter0/video0).


Theoretically, you can parse each H264/H265 NAL frame to search metadata with subtitles.

But I am not sure how big impact this will have on the performance.




#1050841 exteplayer3 - support for the embedded PGS (Presentation Graphic Stream) subt...

Posted by samsamsam on 5 May 2019 - 20:37

For interested.


In the exteplayer3 v67 I added embedded DVB and XSUB graphic subtitle formats support in the same technology.


Sample files:










#1048681 exteplayer3 - support for the embedded PGS (Presentation Graphic Stream) subt...

Posted by samsamsam on 29 April 2019 - 23:42



I added support for 

For interested embeded PGS subtitle format  to the exteplayer3:






exteplayer3 extracts PGS subtitles frames, resize it to the valid size according to the skin resolution and save each frame as separate png file which can be displaied by the enigma2 system.


For example:

exteplayer3 -b 20 -G "/media/mmc/SubtitlesGraphic/"  -W "1280"  -H "720"  -9 0  "file:///media/mmc/pgs/Forced Sub Sample (PGS).mkv"


root@h9combo:/var/volatile/tmp# /iptvplayer_rootfs/usr/bin/exteplayer3 -b 20 -G "/media/mmc/SubtitlesGraphic/"  -W "1280"  -H "720"  -9 0  "/media/mmc/downloads/pgs/Forced Sub Sample (PGS).mkv"
file: [file:///media/mmc/downloads/pgs/Forced Sub Sample (PGS).mkv]
{"PLAYBACK_OPEN":{"OutputName":"Output", "file":"file:///media/mmc/downloads/pgs/Forced Sub Sample (PGS).mkv", "sts":0}}
{"a_l": [{"id":1,"e":"A_IPCM","n":"eng"}]}
{"s_l": [{"id":2,"e":"S_GRAPHIC/PGS","n":"eng"}]}
{"log":"Frame read error: 'End of file'"}

#1040765 External IR receiver to which will alow you to use others remote controls

Posted by samsamsam on 7 April 2019 - 19:16

All software used by me for this modification:


1. Bootloader for ATtiny2313A



2. Firmware for ATtiny2313A:

3, Demon working on STB which receive key codes from ATtiny2313A map them to linux event codes:
4. Utility which allow update ATtiny2313A firmware (which already has avr_fastboot) directly from the STB via RS232

#1011533 serviceapp - gstplayer and exteplayer3

Posted by samsamsam on 3 February 2019 - 01:21

Hello @fairbird


Please re-try with attached exteplayer3  (v55)

Attached Files

#1010285 serviceapp - gstplayer and exteplayer3

Posted by samsamsam on 31 January 2019 - 09:28

I want to let you know that in version 52 of the exteplayer3 the playbac of the VP9 codec has been improved:

Here is commint:



Here you can find pre-compiled exteplayer3 for

- armv7:

        * ffmpeg (3.4.X) http://www.e2iplayer..._hard_ffmpeg3.4

        * ffmpeg (4.1.X) http://www.e2iplayer..._hard_ffmpeg4.1


- aarch64

        * ffmpeg (3.4.X) http://www.e2iplayer..._hard_ffmpeg3.4

        * ffmpeg (4.1.X) http://www.e2iplayer..._hard_ffmpeg4.1


This will allow playback of 4K content from YouTube via exteplayer3 on STBs which support VP9 codec.


This was tested on:

- Zgemma H9S

- Zgemma H7S




#959901 serviceapp - gstplayer and exteplayer3

Posted by samsamsam on 5 November 2018 - 11:43



They are present but...



You have version 4.X of the ffmpeg libraries not supported at now.


As @kookesam you should install valid version according to http://iptvplayer.vl.../ffinstall.html



I am just asking if somebody noticed it in any other image, like OpenPLi, OpenATV, OpenViX etc. Just curious, that's all...  :)


No if they installed valid version of ffmpeg libraries.


When you will use install command mentioned here:


libs will be placed in /iptvplayer_rootfs/ so they will not overwrite system one.


But it does not matter. Because gstplayer nor exteplayer3 will not work correctly with zgemma h9s and probably also on any other Enigma2 STB based on the HiSilicon sock.

Because of problem with drivers they wrote own closed player with small open part called hsiliconservice.

hsiliconservice work OK for local media but it is problematic for online playback (it's practically useless for E2iPlayer purpose).
For more info read issue created by me:

Unfortunately playback via /dev/dvb/adapter0/audio0 and /dev/dvb/adapter0/video0 interfaces works very, very bad on H9.

Many files does not work at all. For example it is not possible to play H.265 via /dev/dvb/adapter0/video0

Even if some codec works like H264 it works very bad. There is many macroblocks and so on. Play/Pause works very badly.

There is no such problem when using servicehisilicon but this cause many disadvantage.

Normally in the Enigma2 media player have two parts:

  1. First part - OpenSource part which is responsible to receive data, demultiplexing them, format AUDIO/VIDEO frame adding PES header and codec specific data and injecting this frame to /dev/dvb/adapter0/video0 and /dev/dvb/adapter0/audio0.

  2. Second part - closed source, driver part, provide interface for /dev/dvb/adapter0/video0 and /dev/dvb/adapter0/audio0

But /dev/dvb/adapter0/video0 and /dev/dvb/adapter0/audio0 in the H9 are bad.
So, they create separate media player called servicehisilicon, this player do NOT use /dev/dvb/adapter0/video0 and /dev/dvb/adapter0/audio0 interfaces.
So, there is no OpenSource part which will allow to add new format, protocol and so on.

All is closed. So, only set-top-box driver provider can made fix or add support for example for some streaming protocols.

In such way this set-top-box is unusable for IPTV unless /dev/dvb/adapter0/audio0
and /dev/dvb/adapter0/video0 will be fixed.

This is very bad news because hardware is very good, but drivers unfortunately are not.

#946234 Das Mediaportal funktioniert nicht mehr (das betrifft nur Openpli, alle ander...

Posted by samsamsam on 11 October 2018 - 15:05

ist, dass man zig Ordner auswählen muss, bis man dann letztlich irgendwo angelangt ist (und im Grund überhaupt nicht mehr weiß, wo man sich denn nun eigentlich befindet).


What? You do not know were you are? Really?
You have path (your location) displayed all the time, like XXX > YYY > ZZZ
So, about what are you talking about?


You also have possibility to add directory to your favorites and search option. So, were is your problem?


You are programmer and you do not understand the location path?


Strange. My eight-year-old nephew understands this. But OK. Everyone has some problems.

#936023 TSmedia enigma2 plugin 1.0

Posted by samsamsam on 19 September 2018 - 21:25

Hello @mfaraj57


My request to make your virtualkeyboard as standalone module and not dependent on any library or functions from E2iPlayer as may be good replacement for the current virtualkeyboard and to be able to include it with our built images. 


It should be possible without big effort but at first I must finish its implementation. 

In the version of "2018.09.19.01" I added possibile to set the own suggestions provider with folowing interface:

class SuggestionsProviderSkeleton:
    def __init(self):
        self.stamp = -1
    def getProviderName(self):
        return "Example Suggestions Provider Name"
    def start(self, callback):
        self.callback = callback
    def stop(self):
        # do nothing
        self.callback = None
    def term(self):
        # called at exit from the VK
    def set(self, txt, locale):
        self.stamp += 1
        # call asynchronous function to get suggestions for txt
        return self.stamp
    def _callback(self, data):
        if self.callback:
            self.callback(['example suggestion 1', 'example suggestion 2'], self.stamp)
self.session.openWithCallback(self.enterPatternCallBack, E2iVirtualKeyBoard, title=(_("Your search entry")), text = "start text", additionalParams={'autocomplete':SuggestionsProviderSkeleton()})


So, twisted web module can be used to implement this interface.


However, as I mentioned in the E2iPlayer I do not use twisted modute, so I implement SuggestionsProvider using python threading and enigma2 eTimer to poll suggestions (to not touch graphic components from other then main thread):



In the E2iPlayer at now I only wrote and use "Youtube Suggestions" provider in the Youtube host:



#934971 TSmedia enigma2 plugin 1.0

Posted by samsamsam on 16 September 2018 - 22:00

It supports Ligatures (used for example in the Arabic layout) as well as "deadcode"s

#896650 External IR receiver to which will alow you to use others remote controls

Posted by samsamsam on 10 June 2018 - 11:52


#894133 External IR receiver to which will alow you to use others remote controls

Posted by samsamsam on 2 June 2018 - 08:40

@Abu Baniaz


With such external receiver you will be able to use LIRC. But LIRC is not, so good as you think. 

When you know protocol and know your ir receiver spec then you can better handle key press, keys repeat, timeouts and so on.

But as I said with such external receiver there is no problem to use LIRC.

#894091 External IR receiver to which will alow you to use others remote controls

Posted by samsamsam on 1 June 2018 - 23:11

This is hardware of External IR receiver which I am using currently with Zgemma H2H STB:
1. ATtiny2313 datasheets
2. TSOP4838

#893680 External IR receiver to which will alow you to use others remote controls

Posted by samsamsam on 31 May 2018 - 18:58

I am preparing very cheap external IR receiver connected via USB or RS232TTL which will alow you to use others remote controls (for example from others set-top-box).
I already prepared prototype hardware connected via USB and using it on H2H set-top-box. 
I can use any remote using NEC protocols. Support for remotes using others protocol can be easy added if I have such one.
The core of this hardware extension is ATtiny2313 mikroprocesor.  To be able to connect it to STB via USB I used cheap PL2303HX and IR decoder TSOP4838.
Cost of all used hardware component is less than 4$. If your set-top-box have RS232 port or you can open your STB and locate RS232 TTL on the motherboard then then you can connect it directly.
So, PL2303HX will be not needed (made hardware cheaper) and it will not take USB port.
When I have some time I will provide schemes with pictures and instruction how/to. I think that this project can be useful for many users :)
Many, even good set-top-boxes, have not, so good remotes.  This can cause frustration, sometimes.
With this very cheap hardware extension this will be no more problem.


Are you interested with such hardware?

#845414 serviceapp - gstplayer and exteplayer3

Posted by samsamsam on 16 February 2018 - 00:02



New patches for ffmpeg 3.4.2:



Precompiled libraries: