Jump to content


Photo

GStreamer 1.0

gstreamer 1.0 openpli

  • Please log in to reply
2520 replies to this topic

Re: GStreamer 1.0 #341 Erik Slagter

  • PLi® Core member
  • 46,969 posts

+541
Excellent

Posted 22 November 2014 - 19:22

 

Looks like there is another issue:

 

gst-1.4.4 on et4000: When I try to play xvid/divx4,5 packed unpacked from http(s) source, there is either no picture or only some frames will show up. When I play these exact same files from local source there are no issues

gst-0.10 on et4000: remote/local source - no issues

 

Test files are in post #289:

gst-launch-1.0 playbin uri='https://dl.dropboxusercontent.com/u/38760017/xvid_packed_AS.avi'
...

Interesting, this is principally impossible. Packing of mpeg4 only occurs in avi and avi can't be streamed over http...


* Wavefrontier T90 with 28E/23E/19E/13E via SCR switches 2 x 2 x 6 user bands
I don't read PM -> if you have something to ask or to report, do it in the forum so others can benefit. I don't take freelance jobs.
Ik lees geen PM -> als je iets te vragen of te melden hebt, doe het op het forum, zodat anderen er ook wat aan hebben.


Re: GStreamer 1.0 #342 betacentauri

  • PLi® Core member
  • 7,185 posts

+323
Excellent

Posted 28 November 2014 - 12:30

I have a strange problem. After installing merlin music player mp3 playback don't work any longer. I mean playback out of normal play list and not with merlin music player. With merlin music player playback works. After deinstalling the plugin it works again.


Xtrend ET-9200, ET-8000, ET-10000, OpenPliPC on Ubuntu 12.04

Re: GStreamer 1.0 #343 Erik Slagter

  • PLi® Core member
  • 46,969 posts

+541
Excellent

Posted 28 November 2014 - 13:02

Yes, we have heard this complain more often. It seems like merlin player overwrites some system python file.


* Wavefrontier T90 with 28E/23E/19E/13E via SCR switches 2 x 2 x 6 user bands
I don't read PM -> if you have something to ask or to report, do it in the forum so others can benefit. I don't take freelance jobs.
Ik lees geen PM -> als je iets te vragen of te melden hebt, doe het op het forum, zodat anderen er ook wat aan hebben.


Re: GStreamer 1.0 #344 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 28 November 2014 - 13:20

it probably introduces a replacement for servicemp3, which claims all media playback



Re: GStreamer 1.0 #345 blzr

  • PLi® Core member
  • 2,270 posts

+118
Excellent

Posted 28 November 2014 - 14:15

sort of, it seems...
some custom library is provided with this plugin for playing mp3's, but only /?/ for boxes without hardware mp3 decoding (i.e. dm 7025)
and why it affects embedded openpli player, no idea... /?!/

http://sourceforge.n...r/src/plugin.py

# merlin mp3 player
import merlinmp3player
ENIGMA_MERLINPLAYER_ID = 0x1014
if not config.plugins.merlinmusicplayer.hardwaredecoder.value and self.currentFilename.lower().endswith(".mp3") and self.songList[self.currentIndex][0].PTS is None:
                         sref = eServiceReference(ENIGMA_MERLINPLAYER_ID, 0, self.currentFilename) # play mp3 file with merlinmp3player lib
                         self.session.nav.playService(sref)
if HardwareInfo().get_device_name() != "dm7025":
                         self.list.append(getConfigListEntry(_("Use hardware-decoder for MP3"), config.plugins.merlinmusicplayer.hardwaredecoder))
config.plugins.merlinmusicplayer.hardwaredecoder = ConfigYesNo(default = True)

True sarcasm doesn't need green font...

Re: GStreamer 1.0 #346 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 28 November 2014 - 18:26

 

 

Looks like there is another issue:

 

gst-1.4.4 on et4000: When I try to play xvid/divx4,5 packed unpacked from http(s) source, there is either no picture or only some frames will show up. When I play these exact same files from local source there are no issues

gst-0.10 on et4000: remote/local source - no issues

 

Test files are in post #289:

gst-launch-1.0 playbin uri='https://dl.dropboxusercontent.com/u/38760017/xvid_packed_AS.avi'
...

Interesting, this is principally impossible. Packing of mpeg4 only occurs in avi and avi can't be streamed over http...

 

 

Problem is in avidemux which doesn't set PTS on keyframes when sink pads are operating in PUSH mode(when streaming). This patch shows how was added PTS/DTS handling to avidemux http://cgit.freedesk...20e33c972f94a76. When operating in PUSH mode gst_avi_demux_stream_data is used meaning only DTS is set. So this looks like a gstreamer issue.

 

For now to fix this we could check in dvbvideosink if buffer's flag is keyframe in case PTS is not available and we are dealing with mpeg4 part2 while DTS is available. If that's the case then we use DTS:

diff --git a/gstdvbvideosink.c b/gstdvbvideosink.c
index 8ce68cd..d623f40 100755
--- a/gstdvbvideosink.c
+++ b/gstdvbvideosink.c
@@ -850,7 +850,7 @@ static GstFlowReturn gst_dvbvideosink_render(GstBaseSink *sink, GstBuffer *buffe
 #if GST_VERSION_MAJOR < 1
        if (GST_BUFFER_TIMESTAMP(buffer) != GST_CLOCK_TIME_NONE)
 #else
-       if (GST_BUFFER_PTS_IS_VALID(buffer) || (self->codec_type == CT_DIVX311 && GST_BUFFER_DTS_IS_VALID(buffer)))
+       if (GST_BUFFER_PTS_IS_VALID(buffer) || ((self->codec_type == CT_DIVX311 || (self->codec_type == CT_MPEG4_PART2 && !GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DELTA_UNIT))) && GST_BUFFER_DTS_IS_VALID(buffer)))
 #endif
        {
                pes_header[7] = 0x80; /* pts */


Attached Files



Re: GStreamer 1.0 #347 Erik Slagter

  • PLi® Core member
  • 46,969 posts

+541
Excellent

Posted 28 November 2014 - 18:51

Ehhmmmm, did I mention before that avi doesn't have a concept of DTS? I am seeing "significant" problems ahead... Either the avi demuxer will have to split the "packed" frames and calculate (!) the proper DTS, or "we" (enigma2) will have to do it.


* Wavefrontier T90 with 28E/23E/19E/13E via SCR switches 2 x 2 x 6 user bands
I don't read PM -> if you have something to ask or to report, do it in the forum so others can benefit. I don't take freelance jobs.
Ik lees geen PM -> als je iets te vragen of te melden hebt, doe het op het forum, zodat anderen er ook wat aan hebben.


Re: GStreamer 1.0 #348 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 28 November 2014 - 19:01

I'm seeing opposite in http://cgit.freedesk...20e33c972f94a76

 

 

avidemux: avi only knows about DTS
Only set DTS on outgoing buffers unless we have a keyframe and then we can set the PTS to DTS as well.

Edited by mx3L, 28 November 2014 - 19:06.


Re: GStreamer 1.0 #349 Erik Slagter

  • PLi® Core member
  • 46,969 posts

+541
Excellent

Posted 28 November 2014 - 20:45

That is weird because DTS is a concept you only encounter on B frames... On other frames DTS = PTS.


* Wavefrontier T90 with 28E/23E/19E/13E via SCR switches 2 x 2 x 6 user bands
I don't read PM -> if you have something to ask or to report, do it in the forum so others can benefit. I don't take freelance jobs.
Ik lees geen PM -> als je iets te vragen of te melden hebt, doe het op het forum, zodat anderen er ook wat aan hebben.


Re: GStreamer 1.0 #350 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 29 November 2014 - 07:38

updated patch (pts_written flag was not set):

diff --git a/gstdvbvideosink.c b/gstdvbvideosink.c
index 8ce68cd..ccc4497 100755
--- a/gstdvbvideosink.c
+++ b/gstdvbvideosink.c
@@ -850,7 +850,7 @@ static GstFlowReturn gst_dvbvideosink_render(GstBaseSink *sink, GstBuffer *buffe
 #if GST_VERSION_MAJOR < 1
        if (GST_BUFFER_TIMESTAMP(buffer) != GST_CLOCK_TIME_NONE)
 #else
-       if (GST_BUFFER_PTS_IS_VALID(buffer) || (self->codec_type == CT_DIVX311 && GST_BUFFER_DTS_IS_VALID(buffer)))
+       if (GST_BUFFER_PTS_IS_VALID(buffer) || ((self->codec_type == CT_DIVX311 || (self->codec_type == CT_MPEG4_PART2 && !GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DELTA_UNIT))) && GST_BUFFER_DTS_IS_VALID(buffer)))
 #endif
        {
                pes_header[7] = 0x80; /* pts */
@@ -1233,7 +1233,7 @@ static GstFlowReturn gst_dvbvideosink_render(GstBaseSink *sink, GstBuffer *buffe
 #if GST_VERSION_MAJOR < 1
        if (GST_BUFFER_TIMESTAMP(buffer) != GST_CLOCK_TIME_NONE)
 #else
-       if (GST_BUFFER_PTS_IS_VALID(buffer) || (self->codec_type == CT_DIVX311 && GST_BUFFER_DTS_IS_VALID(buffer)))
+       if (GST_BUFFER_PTS_IS_VALID(buffer) || ((self->codec_type == CT_DIVX311 || (self->codec_type == CT_MPEG4_PART2 && !GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DELTA_UNIT))) && GST_BUFFER_DTS_IS_VALID(buffer)))
 #endif
        {
                self->pts_written = TRUE;

Every test file in post #289 now works also directly from HTTPS source.

Attached Files



Re: GStreamer 1.0 #351 Fischreiher

  • Senior Member
  • 26 posts

+2
Neutral

Posted 30 November 2014 - 14:25

Betacentauri and Captain have now build the first openATV images using GStreamer 1.4.4. Thanks for all your great work enabling this!

 

I think so far you have been focused on (and successful with) packed/unpacked divx/xvid avi's and streaming. With mkv files the situation is unfortunately still quite similar to the gst 0.1 version:

 

https://www.dropbox.......2024fps).mkv
https://www.dropbox.......2025fps).mkv

 

- fast rewinding not possible (stops like paused)

- slow motion backwards not possible (remains paused)

- fast forward 2x and 4x OK, but 8x is using coarse jumps

 

Do you think you could have a look at mkv playback as well?


Edited by Fischreiher, 30 November 2014 - 14:25.


Re: GStreamer 1.0 #352 littlesat

  • PLi® Core member
  • 57,064 posts

+698
Excellent

Posted 30 November 2014 - 15:48

So these MKVs do made the same issue with 0.1?

Possibly the MKVs itself are wrong?

 

I think we're almost there with gstreamer >1.0.... What do the devs of this project think about it?


WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: GStreamer 1.0 #353 Fischreiher

  • Senior Member
  • 26 posts

+2
Neutral

Posted 30 November 2014 - 16:20

Yes, it was quite the same with gst 0.1, but it is a general problem with all mkv files i have, not only these 2 files.

 

I have posted the links to these examples (made by me) as they show on-screen time codes combined with soft scrolling text, making it very easy to verify the correct behaviour of the player. Pure playback is perfectly smooth (on the box, not when using the Dropbox preview feature).


Edited by Fischreiher, 30 November 2014 - 16:24.


Re: GStreamer 1.0 #354 littlesat

  • PLi® Core member
  • 57,064 posts

+698
Excellent

Posted 30 November 2014 - 16:57

We do usually not recommend fast rewinding as this is made very tricky in enigma2...

use stepskip instead... This is even more easy to find the point you need... does stepskip work for these MKVs?


WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: GStreamer 1.0 #355 Fischreiher

  • Senior Member
  • 26 posts

+2
Neutral

Posted 30 November 2014 - 17:17

Yes, stepskip is working fine, I use it most of the time, but for some contents (re)winding would be much better.

 

It's a pity that any 30£ media player is so much better at trick modes ((re)winding, slow motion, frame by frame stepping) than enigma2.

 

Can you explain the difficulty with that?



Re: GStreamer 1.0 #356 littlesat

  • PLi® Core member
  • 57,064 posts

+698
Excellent

Posted 30 November 2014 - 17:20

I suggest it can better be considered to 'rewrite' this tricky trickmode code a bit in E2.... ;)

But note it might be difficult with gestreamer and the hardware buffer in between.....


Edited by littlesat, 30 November 2014 - 17:21.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: GStreamer 1.0 #357 Erik Slagter

  • PLi® Core member
  • 46,969 posts

+541
Excellent

Posted 1 December 2014 - 11:29

It can very well be a driver issue instead.


* Wavefrontier T90 with 28E/23E/19E/13E via SCR switches 2 x 2 x 6 user bands
I don't read PM -> if you have something to ask or to report, do it in the forum so others can benefit. I don't take freelance jobs.
Ik lees geen PM -> als je iets te vragen of te melden hebt, doe het op het forum, zodat anderen er ook wat aan hebben.


Re: GStreamer 1.0 #358 Fischreiher

  • Senior Member
  • 26 posts

+2
Neutral

Posted 1 December 2014 - 20:12

I don't think it is driver related. The situation is the same on boxes from different vendors.

 

Still it could be an openATV specific issue. Is rewinding mkv files possible with openPLI images?



Re: GStreamer 1.0 #359 theparasol

  • Senior Member
  • 4,157 posts

+198
Excellent

Posted 1 December 2014 - 20:18

Is rewinding mkv files possible with openPLI images?

 

I would say: The proof is in tasting the pudding!


@Camping: ZGemma H.2S, Technisat Multytenne 4-in-1 @Home: Edision Mini 4K, Wave Frontier T55, EMP Centauri EMP DiSEqC 8/1 switch, 4x Inverto Ultra Black single LNB


Re: GStreamer 1.0 #360 Erik Slagter

  • PLi® Core member
  • 46,969 posts

+541
Excellent

Posted 2 December 2014 - 14:53

The proof of the pudding is in the eating.


* Wavefrontier T90 with 28E/23E/19E/13E via SCR switches 2 x 2 x 6 user bands
I don't read PM -> if you have something to ask or to report, do it in the forum so others can benefit. I don't take freelance jobs.
Ik lees geen PM -> als je iets te vragen of te melden hebt, doe het op het forum, zodat anderen er ook wat aan hebben.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users