Jump to content


MastaG

Member Since 16 May 2009
Offline Last Active 22 Jun 2022 15:23
*****

#699314 serviceapp - gstplayer and exteplayer3

Posted by MastaG on 17 April 2017 - 19:35

In case somebody likes to build exteplayer3 with flv to mpeg4p2 remuxing support.

Change the recipe to look like this:

 

SUMMARY = "exteplayer3 - media player for E2"
DESCRIPTION = "Core of movie player for E2 based on the libeplayer using the ffmpeg solution"
SECTION = "multimedia"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"

DEPENDS = "ffmpeg"
RDEPENDS_${PN} = "ffmpeg"

inherit gitpkgv

SRCREV = "${AUTOREV}"
PV = "34+gitr${SRCPV}"
PKGV = "34+gitr${GITPKGV}"


SRC_URI = "git://github.com/samsamsam-iptvplayer/exteplayer3.git;branch=master"

S = "${WORKDIR}/git/"

SOURCE_FILES = "main/exteplayer.c"
SOURCE_FILES =+ "container/container.c"
SOURCE_FILES =+ "container/container_ffmpeg.c"
SOURCE_FILES =+ "manager/manager.c"
SOURCE_FILES =+ "manager/audio.c"
SOURCE_FILES =+ "manager/video.c"
SOURCE_FILES =+ "manager/subtitle.c"
SOURCE_FILES =+ "output/output_subtitle.c"
SOURCE_FILES =+ "output/output.c"
SOURCE_FILES =+ "output/writer/common/pes.c"
SOURCE_FILES =+ "output/writer/common/misc.c"
SOURCE_FILES =+ "playback/playback.c"
SOURCE_FILES =+ "external/ffmpeg/src/bitstream.c"
SOURCE_FILES =+ "external/ffmpeg/src/latmenc.c"
SOURCE_FILES =+ "external/ffmpeg/src/mpeg4audio.c"
SOURCE_FILES =+ "external/flv2mpeg4/src/m4vencode.c"
SOURCE_FILES =+ "external/flv2mpeg4/src/flvdecoder.c"
SOURCE_FILES =+ "external/flv2mpeg4/src/dcprediction.c"
SOURCE_FILES =+ "external/flv2mpeg4/src/flv2mpeg4.c"


SOURCE_FILES =+ "${@bb.utils.contains("TARGET_ARCH", "sh4", "\
output/linuxdvb_sh4.c \
output/writer/sh4/writer.c \
output/writer/sh4/aac.c \
output/writer/sh4/ac3.c \
output/writer/sh4/divx2.c \
output/writer/sh4/dts.c \
output/writer/sh4/h263.c \
output/writer/sh4/h264.c \
output/writer/sh4/mp3.c \
output/writer/sh4/mpeg2.c \
output/writer/sh4/pcm.c \
output/writer/sh4/vc1.c \
output/writer/sh4/wma.c \
output/writer/sh4/wmv.c ", " \
output/linuxdvb_mipsel.c \
output/writer/mipsel/writer.c \
output/writer/mipsel/aac.c \
output/writer/mipsel/ac3.c \
output/writer/mipsel/mp3.c \
output/writer/mipsel/pcm.c \
output/writer/mipsel/lpcm.c \
output/writer/mipsel/dts.c \
output/writer/mipsel/amr.c \
output/writer/mipsel/wma.c \
output/writer/mipsel/h265.c \
output/writer/mipsel/h264.c \
output/writer/mipsel/h263.c \
output/writer/mipsel/mpeg2.c \
output/writer/mipsel/mpeg4.c \
output/writer/mipsel/divx3.c \
output/writer/mipsel/vp.c \
output/writer/mipsel/wmv.c \
output/writer/mipsel/vc1.c ", d)}"

do_compile() {
   ${CC} ${SOURCE_FILES} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DHAVE_FLV2MPEG4_CONVERTER -I${S}/include -I${S}/external -I${S}/external/flv2mpeg4 -I${D}/${libdir} -I${D}/${includedir} -lpthread -lavformat -lavcodec -lavutil -lswresample -o exteplayer3
}

do_install() {
    install -d ${D}${bindir}
    install -m 0755 ${S}/exteplayer3 ${D}${bindir}
}

 

I've highlighted my changes in bold.

 

Good luck :)




#672291 serviceapp - gstplayer and exteplayer3

Posted by MastaG on 21 February 2017 - 10:42

@Beeker,

 

You can also add the include to the compile command:

 

do_compile() {
   ${CC} ${SOURCE_FILES} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I${S}/include -I${S}/external -I${D}/${libdir} -I${D}/${includedir} -lpthread -lavformat -lavcodec -lavutil -lswresample -o exteplayer3
}

 

It builds fine here with ffmpeg 3.2.4




#599308 -Unofficial- Gstreamer 1.9 images 2016-06 -based on- OpenPLi 4

Posted by MastaG on 10 October 2016 - 11:41

29m4wv7.jpg

Hehe I always wanted to make one of these :P

 

I'm really thankful for all the respect and love I'm getting for these images.

But like hemertje said I'm now part of the group and not going to invest time in this anymore.

The team is working really hard to release a stable OpenPLi 5 for you all and it will be awesome!

 

Also these images may work, but you must know that they're really 'broken' in many ways.

For example the openembedded-core (and meta-embedded) were heavily modified (upgrading OpenSSL/ca-certificates, patching Python 2.7.3 etc..) and many packages weren't built the way they should have.

Also many recipes and patches are a big copy/paste mess, taking bits from various other projects etc..

 

So I'd like to invest time into testing and contributing to a clean and stable OpenPLi 5 release, since that's the way forward.

 

As for the PLi-5 stable release (@PLi core-members correct me if I'm wrong), you'll have to know that some of the packages found in my unofficial images will not (yet) be part of it.

For example it will feature gstreamer 1.8.x but packages like (full) ffmpeg, serviceapp and exteplayer3 will have to wait for the PLi-5 nightly releases.

Other than that, it will be great with MANY under the hood changes, basically the whole base (e.g. gcc, libc, python, openssl) has been upgraded.

 

For those who cannot wait, I'd suggest you take a look at the wiki which explains howto build yourself a nice image.

Many forum-members are already building their own PLi-5 beta images ;)

And mx3L (the creator of serviceapp) is very nice to release his serviceapp/exteplayer3/gstplayer recipes which you only need to unpack into your meta-local directory.

Also if you're having trouble building it, the members here will be happy to aid you in any questions.

 

Please note that I'm no longer going to support third-party hardware.

 

For the spark-owners among us, I suggest you should try Taapat's image.

It's very nice and he really put lots of efforts in making it one of the best images for the hardware, especially for IPTV-related things (libeplayer is getting much love from him).

 

For our Dreambox 800HD users, I promise I'll release the sources in the future.

Keep in mind that it needs some cleaning (and removing of some private stuff) so it will take a while since I'm limited in time.

But who knows I might do a proper PLi-5 image for it, in the far future (if time allows it)

 

And for the oe-alliance images.. well I suggest you should go to oe-alliance :P

 

Thanks again for all the feedback (which was helpful to the developers) and also all the kind words from you testers.

 

With kind regards!




#592564 serviceapp - gstplayer and exteplayer3

Posted by MastaG on 26 September 2016 - 09:54

Hi mx3L,

 

Yes of course:

 

Movie: The.Nice.Guys.mkv / The.Nice.Guys.srt (UTF-8)

(mkvinfo output in english this time)

+ EBML head
|+ EBML version: 1
|+ EBML read version: 1
|+ EBML maximum ID length: 4
|+ EBML maximum size length: 8
|+ Doc type: matroska
|+ Doc type version: 4
|+ Doc type read version: 2
+ Segment, size 3503799548
|+ Seek head (subentries will be skipped)
|+ EbmlVoid (size: 4027)
|+ Segment information
| + Timecode scale: 1000000
| + Muxing application: libebml v1.3.3 + libmatroska v1.4.4
| + Writing application: mkvmerge v8.9.0 ('Father Daughter') 64bit
| + Duration: 6957.120s (01:55:57.120)
| + Date: Sun Aug 07 17:51:09 2016 UTC
| + Segment UID: 0xbf 0x78 0xa0 0x35 0x69 0xa1 0xce 0x5f 0xb3 0x80 0x2d 0xb0 0xd5 0x3b 0x19 0x1d
|+ Segment tracks
| + A track
|  + Track number: 1 (track ID for mkvmerge & mkvextract: 0)
|  + Track UID: 5554014348759275939
|  + Track type: video
|  + Lacing flag: 0
|  + MinCache: 1
|  + Codec ID: V_MPEG4/ISO/AVC
|  + CodecPrivate, length 46 (h.264 profile: High @L4.1)
|  + Default duration: 41.708ms (23.976 frames/fields per second for a video track)
|  + Language: und
|  + Video track
|   + Pixel width: 1280
|   + Pixel height: 536
|   + Display width: 1280
|   + Display height: 536
| + A track
|  + Track number: 2 (track ID for mkvmerge & mkvextract: 1)
|  + Track UID: 13387877230498569377
|  + Track type: audio
|  + Codec ID: A_AC3
|  + Default duration: 32.000ms (31.250 frames/fields per second for a video track)
|  + Language: und
|  + Audio track
|   + Sampling frequency: 48000
|   + Channels: 6
|+ EbmlVoid (size: 1092)
|+ Cluster

As you can see there is no embedded subtitle track in this mkv container, but it does show it in the screenshot (see my previous post).

Debug output:

action ->  MsgBoxActions ok
playing 4097:0:0:0:0:0:0:0:0:0:/run/movies/The.Nice.Guys/The.Nice.Guys.mkv:The Nice Guys
eServiceApp
PlayerApp
BasePlayer
ExtEplayer3
PlayerBackend
eServiceApp::setTarget 0
eServiceApp::fillSubservices - failed to retrieve subservices, not supported url
PlayerBackend::gotMessage - tStart
PlayerApp::processStart: exteplayer3 "/run/movies/The.Nice.Guys/The.Nice.Guys.mkv"
ExtEPlayer3::handleJsonOutput - unhandled key "EPLAYER3_EXTENDED"
[eConsoleAppContainer] Starting /usr/bin/grab
ExtEPlayer3::handleJsonOutput - unhandled key "PLAYBACK_OPEN"
ExtEPlayer3::handleJsonOutput - unhandled key "OUTPUT_OPEN"
PlayerBackend::recvStart - status = 0
PlayerBackend::gotMessage - start
eServiceApp::gotExtPlayerMessage - start
PlayerBackend::recvVideoTrackCurrent - status = 0
2
PlayerBackend::recvAudioTrackCurrent - status = 0
PlayerBackend::recvSubtitleTrackCurrent - status = 0
6
3
1
eServiceApp::getNumberOfSubservices - 0
[eDVBDB] getBouquet failed.. no path given!
[eDVBDB] getBouquet failed.. no path given!
2
6
3
1
eServiceApp::isCurrentlySeekable
resolved to PLAY
eServiceApp::unpause
PlayerBackend::gotMessage - tUnpause
PlayerBackend::recvResume - status = 1
eServiceApp::isCurrentlySeekable
RemovePopup, id = ZapError
PlayerBackend::gotMessage - videoFramerateChanged
eServiceApp::gotExtPlayerMessage - videoFramerateChanged
PlayerBackend::gotMessage - videoSizeChanged
eServiceApp::gotExtPlayerMessage - videoSizeChanged
2
6
3
1
PlayerBackend::gotMessage - tGetLength
eServiceApp::signalEventUpdatedInfo
2
6
3
1
eServiceApp::getNumberOfTracks
PlayerBackend::gotMessage - tAudioList
WaitThread - not waiting
eServiceApp::getTrackInfo = 0
PlayerBackend::gotMessage - tSubtitleList
WaitThread - not waiting
eServiceApp::getSubtitleList - found 0 of embedded tracks
eServiceApp::getSubtitleList - found external track
eServiceApp::enableSubtitles - track = 0 (external)
SubtitleManager::load(/run/movies/The.Nice.Guys/The.Nice.Guys.srt,video_fps=-1,subtitle_fps=-1)
convertToUTF8 - detected input encoding: UTF-8
SubripParser::probe, score = 0
SubtitleManager::load(/run/movies/The.Nice.Guys/The.Nice.Guys.srt,video_fps=-1,subtitle_fps=-1) - cannot parse file
eServiceApp::enableSubtitles - cannot load external subtitles
authHeaderPartOne {}

It cannot load the subtiles?

 

 

Now a working video with both an embedded and an external subtitle track.

Movie: 12.Years.a.Slave.mkv / 12.Years.a.Slave.srt (iso-8859-1)

+ EBML head
|+ EBML version: 1
|+ EBML read version: 1
|+ EBML maximum ID length: 4
|+ EBML maximum size length: 8
|+ Doc type: matroska
|+ Doc type version: 4
|+ Doc type read version: 2
+ Segment, size 2513554954
|+ Seek head (subentries will be skipped)
|+ EbmlVoid (size: 4012)
|+ Segment information
| + Timecode scale: 1000000
| + Muxing application: libebml v1.3.0 + libmatroska v1.4.1
| + Writing application: mkvmerge v7.4.0 ('Circles') 64bit built on Dec 12 2014 15:04:11
| + Duration: 8050.106s (02:14:10.106)
| + Date: Wed Jun 17 14:51:37 2015 UTC
| + Title: 12.years.a.Slave.2013.720p.BluRay.x264-x0r
| + Segment UID: 0x7c 0xdf 0x80 0xb7 0x5f 0xfe 0x39 0x39 0x91 0x16 0xfe 0xb5 0xbe 0x61 0x1c 0xbe
|+ Segment tracks
| + A track
|  + Track number: 1 (track ID for mkvmerge & mkvextract: 0)
|  + Track UID: 1
|  + Track type: video
|  + Lacing flag: 0
|  + MinCache: 1
|  + Codec ID: V_MPEG4/ISO/AVC
|  + CodecPrivate, length 48 (h.264 profile: High @L4.0)
|  + Default duration: 41.708ms (23.976 frames/fields per second for a video track)
|  + Video track
|   + Pixel width: 1280
|   + Pixel height: 722
|   + Display width: 1280
|   + Display height: 722
| + A track
|  + Track number: 2 (track ID for mkvmerge & mkvextract: 1)
|  + Track UID: 2
|  + Track type: audio
|  + Codec ID: A_AC3
|  + Default duration: 32.000ms (31.250 frames/fields per second for a video track)
|  + Name: Surround
|  + Audio track
|   + Sampling frequency: 48000
|   + Channels: 6
| + A track
|  + Track number: 3 (track ID for mkvmerge & mkvextract: 2)
|  + Track UID: 10735815407975435215
|  + Track type: subtitles
|  + Lacing flag: 0
|  + Codec ID: S_TEXT/UTF8
|  + Language: und
|+ EbmlVoid (size: 1140)
|+ Chapters
.....

Let's play it:

action ->  MsgBoxActions ok
playing 4097:0:0:0:0:0:0:0:0:0:/run/movies/12.Years.a.Slave/12.Years.a.Slave.mkv:12 Years a Slave
eServiceApp
PlayerApp
BasePlayer
ExtEplayer3
PlayerBackend
eServiceApp::setTarget 0
eServiceApp::fillSubservices - failed to retrieve subservices, not supported url
PlayerBackend::gotMessage - tStart
PlayerApp::processStart: exteplayer3 "/run/movies/12.Years.a.Slave/12.Years.a.Slave.mkv"
ExtEPlayer3::handleJsonOutput - unhandled key "EPLAYER3_EXTENDED"
[eConsoleAppContainer] Starting /usr/bin/grab
ExtEPlayer3::handleJsonOutput - unhandled key "PLAYBACK_OPEN"
ExtEPlayer3::handleJsonOutput - unhandled key "OUTPUT_OPEN"
PlayerBackend::recvStart - status = 0
PlayerBackend::recvVideoTrackCurrent - status = 0
PlayerBackend::gotMessage - start
eServiceApp::gotExtPlayerMessage - start
2
6
3
PlayerBackend::recvAudioTrackCurrent - status = 0
PlayerBackend::recvSubtitleTrackCurrent - status = 0
1
eServiceApp::getNumberOfSubservices - 0
2
6
3
1
[eDVBDB] getBouquet failed.. no path given!
[eDVBDB] getBouquet failed.. no path given!
eServiceApp::isCurrentlySeekable
resolved to PLAY
eServiceApp::unpause
PlayerBackend::gotMessage - tUnpause
PlayerBackend::recvResume - status = 1
eServiceApp::isCurrentlySeekable
RemovePopup, id = ZapError
PlayerBackend::gotMessage - videoFramerateChanged
eServiceApp::gotExtPlayerMessage - videoFramerateChanged
PlayerBackend::gotMessage - videoSizeChanged
eServiceApp::gotExtPlayerMessage - videoSizeChanged
2
6
3
1
PlayerBackend::gotMessage - tGetLength
eServiceApp::signalEventUpdatedInfo
2
6
3
1
eServiceApp::getNumberOfTracks
PlayerBackend::gotMessage - tAudioList
WaitThread - not waiting
eServiceApp::getTrackInfo = 0
PlayerBackend::gotMessage - tSubtitleList
WaitThread - not waiting
eServiceApp::getSubtitleList - found 1 of embedded tracks
eServiceApp::getSubtitleList - found external track
eServiceApp::getCachedSubtitle - found preferred embedded subtitle
eServiceApp::enableSubtitles - track = 0 (embedded)
PlayerBackend::gotMessage - tSubtitleSelect
ExtEPlayer3::handleJsonOutput - unhandled key "s_f"
ExtEPlayer3::handleJsonOutput - unhandled key "s_f"
PlayerBackend::recvSubtitleTrackSelected - status = 0, trackId = 2

It plays fine, and the embedded subtitle track is enabled by default (and working OK):

 

Now I switch to the external track:

action ->  AudioSelectionActions yellow
PlayerBackend::gotMessage - tSubtitleList
WaitThread - not waiting
eServiceApp::getSubtitleList - found 1 of embedded tracks
eServiceApp::getSubtitleList - found external track
2
6
3
1
[eConsoleAppContainer] Starting /usr/bin/grab
2
6
3
1
authHeaderPartOne {}
action ->  DirectionActions down
action ->  DirectionActions downUp
unknown action DirectionActions/downUp! typo in keymap?
action ->  SetupActions ok
eServiceApp::enableSubtitles - track = 1 (external)
SubtitleManager::load(/run/movies/12.Years.a.Slave/12.Years.a.Slave.srt,video_fps=-1,subtitle_fps=-1)
convertToUTF8 - detected input encoding: WINDOWS-1252
SubripParser::probe, score = 100
SubripParser::parse, success
SubtitleManager::load(/run/movies/12.Years.a.Slave/12.Years.a.Slave.srt,video_fps=-1,subtitle_fps=-1) succesfully loaded
PlayerBackend::gotMessage - tSubtitleList
WaitThread - waiting for 500ms
WaitThread - in time

eServiceApp::getSubtitleList - found 1 of embedded tracks
eServiceApp::getSubtitleList - found external track
[infobar::audioSelected] 0
[eConsoleAppContainer] Starting /usr/bin/grab
2
6
3
1
authHeaderPartOne {}
2
6
3
1
2
6
3
1
authHeaderPartOne {}
2
6
3
1
2
6
3
1
authHeaderPartOne {}
2
6
3
1
authHeaderPartOne {}
2
6
3
1
2
6
3
1
authHeaderPartOne {}
2
6
3
1
PlayerBackend::gotMessage - subtitleAvailable
eServiceApp::gotExtPlayerMessage - subtitleAvailable

Also working fine :)

 

 

So there's two small issues:

1. ServiceApp shouldn't list an embedded track when the mkv container does not have one

2. When subs are enabled by default, ServiceApp should select the external subtitle track by default (even when there is an embedded one as well), this is the default PLi behaviour as well.

 

Maybe there's a problem with UTF-8 encoded files?

I've attached The.Nice.Guys.srt

I'll see if I have more movies with external subs encoded in UTF-8 and report back.

 

Attached Files




#584176 screwed SocketMMI.py

Posted by MastaG on 5 September 2016 - 12:12

Maybe you can offer us the solution as a pre-compiled binary then?

Something that removes libstdc++.so after time runs out ? :P




#580060 serviceapp - gstplayer and exteplayer3

Posted by MastaG on 22 August 2016 - 20:48

Looks like serviceapp and exteplayer3 will be part of oe-alliance based images as well :)

https://github.com/o...7ca601e1c086848

 

EDIT:

At least it'll be in the feeds..




#574367 Ziggo zenderlijst wordt steeds overschreven.

Posted by MastaG on 11 August 2016 - 12:13

Dan staat de kabelscan wellicht ingesteld op automatisch?

Kijk eens bij Menu -> Instellingen -> Zenders zoeken -> Kabelscan




#567096 -Unofficial- Gstreamer 1.9 images 2016-06 -based on- OpenPLi 4

Posted by MastaG on 27 July 2016 - 15:59

Hi there everyone,

 

Some recent events in my private life have caused me to be unable to continue work on these images for a while.

So there will not be any new testing images for the following months..

 

As I've said before, building for so many receivers takes lots of time and effort to get it right.

Also my sources aren't top-notch since when I started this I made all kinds ugly hacks everywhere instead of doing it the proper way (a git-repo and nice bbappends) so this makes it very time consuming as I cannot properly pull in remote branches.

 

So I don't want to disappoint anyone, but it really takes a lot of time, to keep doing it like this.

 

 

The PLi developers are working hard to finish up PLi-5 so I guess it won't be long until it the public release.

Among many upgraded core components it will feature gstreamer 1.x as well :)

You'll love it!

And who knows if the demand is really great for non-supported receivers, I might do a proper rebrand (using a git repository) of PLi-5 (de zoveelste image gebaseerd op PLi hehe) for those who want it.

 

I'd like to thank everyone helping to test and enjoy these images,

I really loved all the positive feedback.

 

A very big "thank you" goes out to all of the developers helping me out with my basic questions, you know who you are ;)

Another big "thank you" to ToySoft and the Japhar team for providing us with a nice feed-server and public IPTV streams for us to play with!

 

And last but not least special thanks to the PLi team for showing their appreciation !

So for now enjoy the summer and holidays :)




#562892 -Unofficial- Gstreamer 1.9 images 2016-06 -based on- OpenPLi 4

Posted by MastaG on 18 July 2016 - 21:35

I dont really care for multiboot.
There are too many different receivers with different flash layouts/filesystems/bootloaders etc.. so multiboot is a no-go.
I already took much of my free time add in all the bsp's (and modify them for openpli-oe-core) for everyone's favourite receivers.

I just added mx3L's tryfix for fullhd kodi on vu+.
Also I've added marcino's new bootlogo which looks really slick.
And python-crypto is now installed by default again.

Other things that are holding it up atm:
- replace the wifi drivers on spark to see if gorski's wlan stick lights up
- rewrite the dreambox rootfs extender so you can select the storage device and make it use partuuid (which is hopefully supported in linux 2.6.18)
- fix azbox kernel recipes
- wait for mx3L's new serviceapp
- get a new ssd since this one full

Thats about it.


#559902 IPTV Player - development thread

Posted by MastaG on 11 July 2016 - 21:15

I've edited the recipe to look like this:

SUMMARY = "exteplayer3 - media player for E2"
DESCRIPTION = "Core of movie player for E2 based on the libeplayer using the ffmpeg solution"
SECTION = "multimedia"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"

DEPENDS = "ffmpeg"
RDEPENDS_${PN} = "ffmpeg"

SRCREV = "921d3e0958425bc9b202e94b4ecc1d9340fea7e6"
SRC_URI = "git://github.com/samsamsam-iptvplayer/exteplayer3.git;branch=master"

PR = "r4"

S = "${WORKDIR}/git/"

SOURCE_FILES = "main/exteplayer.c"
SOURCE_FILES =+ "container/container.c"
SOURCE_FILES =+ "container/container_ffmpeg.c"
SOURCE_FILES =+ "manager/manager.c"
SOURCE_FILES =+ "manager/audio.c"
SOURCE_FILES =+ "manager/video.c"
SOURCE_FILES =+ "manager/subtitle.c"
SOURCE_FILES =+" output/output_subtitle.c"
SOURCE_FILES =+ "output/output.c"
SOURCE_FILES =+ "output/writer/common/pes.c"
SOURCE_FILES =+ "output/writer/common/misc.c"
SOURCE_FILES =+ "${@base_contains("TARGET_ARCH", "sh4", " \
output/linuxdvb_sh4.c \
output/writer/sh4/writer.c \
output/writer/sh4/aac.c \
output/writer/sh4/ac3.c \
output/writer/sh4/divx2.c \
output/writer/sh4/dts.c \
output/writer/sh4/h263.c \
output/writer/sh4/h264.c \
output/writer/sh4/mp3.c \
output/writer/sh4/mpeg2.c \
output/writer/sh4/pcm.c \
output/writer/sh4/vc1.c \
output/writer/sh4/wma.c \
output/writer/sh4/wmv.c ", " \
output/linuxdvb_mipsel.c \
output/writer/mipsel/writer.c \
output/writer/mipsel/aac.c \
output/writer/mipsel/ac3.c \
output/writer/mipsel/mp3.c \
output/writer/mipsel/pcm.c \
output/writer/mipsel/lpcm.c \
output/writer/mipsel/dts.c \
output/writer/mipsel/amr.c \
output/writer/mipsel/wma.c \
output/writer/mipsel/h264.c \
output/writer/mipsel/h263.c \
output/writer/mipsel/mpeg2.c \
output/writer/mipsel/mpeg4.c \
output/writer/mipsel/divx3.c \
output/writer/mipsel/vc1.c ", d)}"
SOURCE_FILES =+ "playback/playback.c"

do_compile() {
   ${CC} ${SOURCE_FILES} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I${S}/include -I${D}/${libdir} -I${D}/${includedir} -lpthread -lavformat -lavcodec -lavutil -lswresample -o exteplayer3
}

do_install() {
    install -d ${D}${bindir}
    install -m 0755 ${S}/exteplayer3 ${D}${bindir}
}

 

So it builds for both sh4 and mipsel :)




#555133 -Unofficial- Gstreamer 1.9 images 2016-06 -based on- OpenPLi 4

Posted by MastaG on 28 June 2016 - 13:56

Hi there,

 

Here's a new batch of images based on OpenPLi 4 with many contributions from various openpli.org forum members and some bits taken from oe-alliance.

So this is basically a tribute to them :)

 

jzi3r6.jpg

 

It took me a while since I was very short on time and I had to re-install my build-rig, move to a new feed-server etc...

 

SO DUE TO A NEW FEED-SERVER ONLINE UPDATE FROM PREVIOUS IMAGES IS NOT POSSIBLE!

DON'T TRY TO CHANGE THE URL IN THESE OLD IMAGES SINCE THERE'S BEEN TOO MANY CHANGES WHICH WILL BREAK THINGS!

PLEASE FLASH A CLEAN IMAGE INSTEAD!

 

So here's whats up:

- Brand new bootlogo thanks to .:MarcinO:.

- OpenPLi enigma2 rev: 4bf2f1e45593065f9e2b4563f30463487b727c94

- OpenPLi oe-core rev: d76cfe6a39c6613ac77578840b214f0f1e748a39

- Taapat's Fulan enigma2 rev: 2a984c500f5b2ea657f68742b7dc4e47f5586483

- New receivers supported:

 * osmini

 * osminiplus

 * spycat

 * spycatmini

 * et7000mini

 * xpeed lx

 * xpeed lx pro

- New feed server located in Europe thanks to the Japhar team!

- New Japhar IPTV list

- No more use of UPX compression on ARM platform (should fix the Vu+ Solo 4K build)

- Latest gstreamer 1.9 revision from master branch

- FFmpeg 3.0.2 with extra options enabled (based on oe-e recipe)

- Kodi 16.1 for Vu+ Solo 2, Solo Se, Duo 2, and Solo 4K (thanks to mx3L for his bsp + recipes)

- More wifi drivers (mt7601, rt7777 etc..) taken from oe-alliance

- Slightly newer v4l modules for kernel 2.6.18 (dm800)

- New version of mx3L's serviceapp now supports EPG and embedded subtitles

- New version of exteplayer3

- Flash extender PPanel for dm800, dm800se and dm500hd (* Please read below)

- Many other changes I forgot to mention...

 

Known issues:

- On spark7162 (and 7111 probably as well) fragmented streams such as hls (m3u8) will skip and freeze a lot.

  This happened sometime after the official Gstreamer 1.8.0 release and I didn't found the cause yet.

  It is not related to the dvbmediasink since it doesn't happen on mips receivers and the code in the dvbmediasink didn't change.

  Configure your streams to play with exteplayer3 instead, read below.

- Some Dreambox remotes may behave very sensitive.
  This causes button presses to register multiple times instead of just once.
  As a workaround you can adjust the key interval:
  Go to: Menu - System - Input devices - dreambox remote control (native).
  Set "Change repeat and delay settings" to yes
  Set "Interval between keys when repeating:" to 200ms or 300ms.
  Press green button (OK)
  Now set the same delay for: "dreambox advanced remote control (native)" as well.

- DM800 first boot will take a while, please be patient. The next boot will be faster.

 

 

Flash extender for DM800, DM800Se and DM500HD:

Since these receiver only feature 64MB of internal flash space, I've been unable to ship all packages.

ffmpeg, exteplayer3, gst1.0-libav, mediaplayer2, iptv player, subssupport etc.. are missing due to insufficient space.

That's why I've created a simple PPanel script for moving the entire internal flash to an external storage device such as internal hdd or usb disk.

The PPanel will also install all the missing packages for you.

So you can have all the bells and whistles like the other receivers :)

ny7885.jpg

However please note that:

- It will format your storage device thus deleting everything.

- It's not compatible with other flash-extenders such as barry alen, multiboot etc...

- You'll need a working internet connection when running the PPanel or else it cannot install the missing packages.

- You need to patient! As the script runs you'll only see a black screen which an take up to 15 minutes depending on the size/speed of your storage device and your internet connection.

 

You can find it under Blue Panel -> PPanels

 

 

ServiceApp and exteplayer3:

Thanks for the hard work from mx3L and samsamsam you can now play your IPTV streams with exteplayer3 or gstplayer instead of the default dvbmediasink.

Especially using exteplayer3 will give much better performance on playing HLS streams compared to gstreamer + dvbmediasink.

For example, playing DJING underground 720p never worked very well on my DM800HD and now it does :)

 

You can read all about it here: http://forums.openpl...nd-exteplayer3/

 

In a nutshell here's how it works.

In your /etc/enigma2/ directory you have your channel bouquets with the .tv and .radio extensions.

Inside these files there's this for example:

#SERVICE 4097:0:0:0:0:0:0:0:0:0:http%3a//cdn.djing.com/tv/u-05.m3u8:DJING Underground (CDN)
#DESCRIPTION DJING Underground (CDN)

By default this will play with the gstreamer dvbmediasink (which is currently broken for sh4).

If you like to play your stream with exteplayer3 instead you should change the 4097 to 5002, like this:

#SERVICE 5002:0:0:0:0:0:0:0:0:0:http%3a//cdn.djing.com/tv/u-05.m3u8:DJING Underground (CDN)
#DESCRIPTION DJING Underground (CDN)

You can also change it to play with gstplayer using 5001:

#SERVICE 5001:0:0:0:0:0:0:0:0:0:http%3a//cdn.djing.com/tv/u-05.m3u8:DJING Underground (CDN)
#DESCRIPTION DJING Underground (CDN)

So it's like this:

4097 = default player, which is the dvbmediasink if serviceapp is not enabled

5001 = gstplayer

5002 = exteplayer3

 

Now let's say you'd like to convert your entire bouquet to play with exteplayer3, simply login to your receiver with telnet/ssh (use PuTTY for Windows).

And issue to the following commands:

First stop enigma2:

init 4

Then change your bouquet to make all streams play with exteplayer3, lets say userbouquet.favourites.tv:

cd /etc/enigma2
sed -i 's/^#SERVICE 4097/#SERVICE 5002/g' userbouquet.favourites.tv

Then restart enigma2:

init 3

That's it !

 

You can also make exteplayer3 the default backend for playing back everything.

Go to Menu -> Plugins -> ServiceApp and set exteplayer3 as default.

 

Keep in mind that with exteplayer3 or gstplayer as default backend you will not have support for external subtitles yet (.srt for example).

That's why I've added MediaPlayer2 and SubsSupport from mx3L.

 

Please thank mx3L for the hard work he put into this :)

 

Download: http://jam2.japhar.com/images/pli/

 

Have fun and make sure to report back your findings!

 




#552374 Open GLS

Posted by MastaG on 13 June 2016 - 13:26

Ik geloof dat er ook emulators voor retro systemen in de omloop zijn die gebruik maken van OpenGL ES.

Lijkt me wel leuk als je Super Mario World met een usb xbox360 controller op je sat-receiver kan spelen :)

Maar op fancy menu-animaties zit ik niet te wachten.




#546521 GStreamer 1.0

Posted by MastaG on 7 May 2016 - 00:08

Hi Chris,

They've changed the adaptivedemux code again in gst-plugins-bad: https://cgit.freedes...0558b5be2f01715

So the patch doesn't apply anymore, maybe patch is not required anymore.

Anyways, I'm just letting you know since I'm going take a break for a while :)




#546413 -Unofficial- Gstreamer 1.9.0.1 images 2016-05 -based on- OpenPLi 4

Posted by MastaG on 6 May 2016 - 15:16

Hi everyone,

 

Since I'm going away for a while I thought it would be nice to release a last batch of testing images containing upstream work from various OpenPLi forum-members.

So I'd like to dedicate these images to mx3L, christophecvr, samsamsam and Taapat for making it possible!

 

2nb9kro.jpg

 

Lot's of changes this time, so be sure to read the full post before asking any questions ;)

 

Let's first start with the things I didn't look into because I had to put my priority list together with the limited time I have..

- I did -NOT- look into the dFlash problem, sorry dreamboxco

- I did -NOT- add transmission, sorry doroshe

- I did -NOT- look into the fulan sh4 problems where certain FTA channels do not playback properly after recording, sorry Tony il Capo

- I did -NOT- add any Vu+ specific plugins such as Kodi, sorry mamamia

- I did -NOT- fix the lcd font for the DM800Se V2, sorry gassi 1950

- I did -NOT- look into the spark remote control issue, sorry paulbs

- I did -NOT- add support for the VisionNet Marvel1, sorry habab

- I did -NOT- enable the kernel modules for DreamTor yet

 

That doesn't mean I don't look into it later, I just didn't have the time for it.

 

Now here are the changes compared to the last release:

- Add support for the following receivers:

Herobox EX4 HD

Miraclebox Mini

Miraclebox Mini Premium Plus

Miraclebox Ultra

Xpeed LX3

Formuler 4

Xsarius PureHD

Mut@nt HD1500

- Latest gstreamer 1.9.0.1 snapshot based on recipes from christophecvr:

  * Proper fix for HLS segfault on stop

  * Re-enable the rtmp seeking and potential segfault fix

  * gstreamer1.0-libav is now built against system ffmpeg instead (this differs from chri's recipes) *

  * dvbmediasink patches for Vu Solo 4K, hd1265 and hd1500 from oe-alliance

- FFMpeg updated to 3.0.2 and is now installed by default *

- Backports to enigma2 for sh4 (mainly servicemp3.cpp related)

- Fix EPG on sh4 receivers

- exteplayer3 is now installed by default, thank you mx3L and samsamsam *

- gstplayer is now installed by default, thank you mx3L and samsamsam

- Mediatomb is now in the feeds

- MediaPlayer2 is now installed by default, thank you mx3L

- SubsSupport (for MediaPlayer2) is now installed by default, thank you mx3L

- No more russian tuxtxt

- It's now possible to set the debug level again in the UI-settings menu, thank you christophecvr

- Latest enigma2 changes, thank you OpenPLi

- latest openpli-oe-core changes, thank you OpenPLi

- ServiceApp, thank you mx3L !!!

 

Known issues:

- On spark7162 (and 7111 probably as well) fragmented streams such as hls (m3u8) will skip and freeze a lot.

  This happened sometime after the official Gstreamer 1.8.0 release and I didn't found the cause yet.

  It is not related to the dvbmediasink since it doesn't happen on mips receivers and the code in the dvbmediasink didn't change.

  Configure your streams to play with exteplayer3 instead, read below.

- * On the 64MB Dreambox models (DM800HD, DM800Se and DM500HD) there is not enough space to ship ffmpeg.

  This means that exteplayer3 and gstreamer1.0-libav aren't installed as well because they depend on ffmpeg.

  See my attached guide to copy over the root filesystem to a storage device.

- Some Dreambox remotes may behave very sensitive.
  This causes button presses to register multiple times instead of just once.
  As a workaround you can adjust the key interval:
  Go to: Menu - System - Input devices - dreambox remote control (native).
  Set "Change repeat and delay settings" to yes
  Set "Interval between keys when repeating:" to 200ms or 300ms.
  Press green button (OK)
  Now set the same delay for: "dreambox advanced remote control (native)" as well.

- DM800 first boot will take a while, please be patient. The next boot will be faster.

 

Thanks for the hard work from mx3L and samsamsam you can now play your IPTV streams with exteplayer3 or gstplayer instead of the default dvbmediasink.

Especially using exteplayer3 will give much better performance on playing HLS streams compared to gstreamer + dvbmediasink.

For example, playing DJING underground 720p never worked very well on my DM800HD and now it does :)

 

You can read all about it here: http://forums.openpl...nd-exteplayer3/

 

In a nutshell here's how it works.

In your /etc/enigma2/ directory you have your channel bouquets with the .tv and .radio extensions.

Inside these files there's this for example:

#SERVICE 4097:0:0:0:0:0:0:0:0:0:http%3a//cdn.djing.com/tv/u-05.m3u8:DJING Underground (CDN)
#DESCRIPTION DJING Underground (CDN)

By default this will play with the gstreamer dvbmediasink (which is currently broken for sh4).

If you like to play your stream with exteplayer3 instead you should change the 4097 to 5002, like this:

#SERVICE 5002:0:0:0:0:0:0:0:0:0:http%3a//cdn.djing.com/tv/u-05.m3u8:DJING Underground (CDN)
#DESCRIPTION DJING Underground (CDN)

You can also change it to play with gstplayer using 5001:

#SERVICE 5001:0:0:0:0:0:0:0:0:0:http%3a//cdn.djing.com/tv/u-05.m3u8:DJING Underground (CDN)
#DESCRIPTION DJING Underground (CDN)

Now let's say you'd like to convert your entire bouquet to play with exteplayer3, simply login to your receiver with telnet/ssh (use PuTTY for Windows).

And issue to the following commands:

First stop enigma2:

init 4

Then change your bouquet to make all streams play with exteplayer3, lets say userbouquet.favourites.tv:

cd /etc/enigma2
sed -i 's/^#SERVICE 4097/#SERVICE 5002/g' userbouquet.favourites.tv

Then restart enigma2:

init 3

That's it !

 

You can also make exteplayer3 the default backend for playing back everything.

Go to Menu -> Plugins -> ServiceApp and set exteplayer3 as default.

 

Keep in mind that with exteplayer3 or gstplayer as default backend you will not have support for external subtitles (.srt for example).

That's why I've added MediaPlayer2 and SubsSupport from mx3L.

I haven't tested it for myself yet, since I simply changed my IPTV streams with type 5002 (exteplayer3) so everything else like DreamPlex for example keeps using the dvbmediasink.

 

Play around and let us know your findings!

 

https://mega.nz/#F!7...ZgEpqAbPUQtXjFQ

 

Love peace happiness and bounce op die beat!

 

 

Attached Files




#543703 X11 Desktop fbdev

Posted by MastaG on 20 April 2016 - 08:25

Well he does take his time to carefully review and test various plugins and images.

He has a strong opinion but he did provide me with some good feedback regarding my initial images.

Also he wrote lots of guides and howto's for various plugins/images.

The same goes for gutemine, he's a very skilled programmer and has great knowledge regarding linux dvb platforms.

So even if opinions seem to differ (on both tech and non-tech matters), lets also recognize the good things in each other :)