Full HD with gst-omx on Raspberry Pi?

classic Classic list List threaded Threaded
25 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Full HD with gst-omx on Raspberry Pi?

Peter Maersk-Moller-2
Hi.

I'm having a bit of a problem playing Full HD streams (1080p) on Rasberry Pi using Erik Vontaenes gst-omx build and generating the stream with the x264enc module. It complains about the parameters not negotiated indicating the gst-omx decoder won't take 1080p input. The same pipeline happily plays 720p streams.

Has anybody been able to play 1080p content using the same gst-omx build or some other methods?

Best regards

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Full HD with gst-omx on Raspberry Pi?

Sebastian Dröge-3
On Sa, 2014-06-07 at 14:02 +0200, Peter Maersk-Moller wrote:

> Hi.
>
> I'm having a bit of a problem playing Full HD streams (1080p) on Rasberry
> Pi using Erik Vontaenes gst-omx build and generating the stream with the
> x264enc module. It complains about the parameters not negotiated indicating
> the gst-omx decoder won't take 1080p input. The same pipeline happily plays
> 720p streams.
>
> Has anybody been able to play 1080p content using the same gst-omx build or
> some other methods?
I can play full HD content here on my RPi with my custom build, using
latest gst-omx and also the other GStreamer components from GIT master.

Can you provide a GStreamer debug log with the error you get?

--
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Full HD with gst-omx on Raspberry Pi?

Peter Maersk-Moller-2
Hi Sebastian.

Thanks for answering. Below is the verbose output. The pipeline used to generate the stream is this pipeline using GStreamer 1.3.3:

width=1920 ; height=1080
#width=1280 ; height=720
rate=44100
gst-launch-1.0 -v \
        videotestsrc is-live=true               !\
        "video/x-raw,width=$width,height=$height,framerate=24/1,format=I420" !\
        queue                                                           !\
        x264enc tune=zerolatency bitrate=3000 speed-preset=6            !\
        h264parse                                                       !\
        queue                                                           !\
        mux.                                                             \
        audiotestsrc is-live=true                                       !\
        "audio/x-raw,format=S16LE,layout=interleaved,channels=2,rate=$rate" !\
        queue                                                           !\
        faac bitrate=128000                                             !\
        aacparse                                                        !\
        queue                                                           !\
        matroskamux streamable=true name=mux                            !\
        queue                                                           !\
        tcpserversink host=0.0.0.0 port=5020 sync-method=2 recover-policy=keyframe


The pipeline used to play the stream on Raspberry Pi is this using GStreamer 1.0.10:

        gst-launch-1.0 -v -e \
                tcpclientsrc host=$server port=$port    !\
                decodebin name=decoder                  !\
                autovideosink decoder.                  !\
                autoaudiosink

Would love a newer version, but newer packages seems to be hard to get and compiling for the Rasp takes a very long time in CPU alone and quite a while to figure out all the packages required.

Below is the verbose output.

Best regards
Peter

Setting pipeline to PAUSED ...
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstTypeFindElement:typefind.GstPad:src: caps = video/x-matroska
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMatroskaDemux:matroskademux0.GstPad:sink: caps = video/x-matroska
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0: max-size-buffers = 5
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0: max-size-time = 0
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0: max-size-bytes = 2097152
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0.GstPad:src_0: caps = video/x-h264, level=(string)4, profile=(string)high, codec_data=(buffer)01640028ffe1001b67640028acb200f0044fcb80880000030008000003018478c1924001000568ebccb22c, stream-format=(string)avc, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, level=(string)4, profile=(string)high, codec_data=(buffer)01640028ffe1001b67640028acb200f0044fcb80880000030008000003018478c1924001000568ebccb22c, stream-format=(string)avc, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, level=(string)4, profile=(string)high, codec_data=(buffer)01640028ffe1001b67640028acb200f0044fcb80880000030008000003018478c1924001000568ebccb22c, stream-format=(string)avc, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstAacParse:aacparse0.GstPad:src: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, codec_data=(buffer)1210, channels=(int)2, rate=(int)44100
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstFaad:faad0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, codec_data=(buffer)1210, channels=(int)2, rate=(int)44100
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstAacParse:aacparse0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, codec_data=(buffer)1210, channels=(int)2, rate=(int)44100
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstFaad:faad0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0: max-size-buffers = 5
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0: max-size-time = 0
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0: max-size-bytes = 2097152
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstAutoAudioSink:autoaudiosink0.GstGhostPad:sink.GstProxyPad:proxypad2: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstDecodeBin:decoder.GstDecodePad:src_0: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstAutoAudioSink:autoaudiosink0/GstAlsaSink:autoaudiosink0-actual-sink-alsa.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstAutoAudioSink:autoaudiosink0.GstGhostPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder.GstDecodePad:src_0.GstProxyPad:proxypad11: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder.GstDecodePad:src_0: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder.GstDecodePad:src_0.GstProxyPad:proxypad11: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
ERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0: Internal data stream error.
Additional debug info:
gstomxvideodec.c(1670): gst_omx_video_dec_loop (): /GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0:
stream stopped, reason not-negotiated
ERROR: pipeline doesn't want to preroll.







On Thu, Jun 26, 2014 at 9:44 AM, Sebastian Dröge <[hidden email]> wrote:
On Sa, 2014-06-07 at 14:02 +0200, Peter Maersk-Moller wrote:
> Hi.
>
> I'm having a bit of a problem playing Full HD streams (1080p) on Rasberry
> Pi using Erik Vontaenes gst-omx build and generating the stream with the
> x264enc module. It complains about the parameters not negotiated indicating
> the gst-omx decoder won't take 1080p input. The same pipeline happily plays
> 720p streams.
>
> Has anybody been able to play 1080p content using the same gst-omx build or
> some other methods?

I can play full HD content here on my RPi with my custom build, using
latest gst-omx and also the other GStreamer components from GIT master.

Can you provide a GStreamer debug log with the error you get?

--
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Full HD with gst-omx on Raspberry Pi?

Peter Maersk-Moller-2
And the debug is attached to mail ... lets see if the mail list can accept attachments??


On Fri, Jun 27, 2014 at 7:28 PM, Peter Maersk-Moller <[hidden email]> wrote:
Hi Sebastian.

Thanks for answering. Below is the verbose output. The pipeline used to generate the stream is this pipeline using GStreamer 1.3.3:

width=1920 ; height=1080
#width=1280 ; height=720
rate=44100
gst-launch-1.0 -v \
        videotestsrc is-live=true               !\
        "video/x-raw,width=$width,height=$height,framerate=24/1,format=I420" !\
        queue                                                           !\
        x264enc tune=zerolatency bitrate=3000 speed-preset=6            !\
        h264parse                                                       !\
        queue                                                           !\
        mux.                                                             \
        audiotestsrc is-live=true                                       !\
        "audio/x-raw,format=S16LE,layout=interleaved,channels=2,rate=$rate" !\
        queue                                                           !\
        faac bitrate=128000                                             !\
        aacparse                                                        !\
        queue                                                           !\
        matroskamux streamable=true name=mux                            !\
        queue                                                           !\
        tcpserversink host=0.0.0.0 port=5020 sync-method=2 recover-policy=keyframe


The pipeline used to play the stream on Raspberry Pi is this using GStreamer 1.0.10:

        gst-launch-1.0 -v -e \
                tcpclientsrc host=$server port=$port    !\
                decodebin name=decoder                  !\
                autovideosink decoder.                  !\
                autoaudiosink

Would love a newer version, but newer packages seems to be hard to get and compiling for the Rasp takes a very long time in CPU alone and quite a while to figure out all the packages required.

Below is the verbose output.

Best regards
Peter

Setting pipeline to PAUSED ...
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstTypeFindElement:typefind.GstPad:src: caps = video/x-matroska
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMatroskaDemux:matroskademux0.GstPad:sink: caps = video/x-matroska
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0: max-size-buffers = 5
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0: max-size-time = 0
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0: max-size-bytes = 2097152
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0.GstPad:src_0: caps = video/x-h264, level=(string)4, profile=(string)high, codec_data=(buffer)01640028ffe1001b67640028acb200f0044fcb80880000030008000003018478c1924001000568ebccb22c, stream-format=(string)avc, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, level=(string)4, profile=(string)high, codec_data=(buffer)01640028ffe1001b67640028acb200f0044fcb80880000030008000003018478c1924001000568ebccb22c, stream-format=(string)avc, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, level=(string)4, profile=(string)high, codec_data=(buffer)01640028ffe1001b67640028acb200f0044fcb80880000030008000003018478c1924001000568ebccb22c, stream-format=(string)avc, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstAacParse:aacparse0.GstPad:src: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, codec_data=(buffer)1210, channels=(int)2, rate=(int)44100
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstFaad:faad0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, codec_data=(buffer)1210, channels=(int)2, rate=(int)44100
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstAacParse:aacparse0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, codec_data=(buffer)1210, channels=(int)2, rate=(int)44100
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstFaad:faad0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0: max-size-buffers = 5
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0: max-size-time = 0
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstMultiQueue:multiqueue0: max-size-bytes = 2097152
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink: caps = video/x-h264, level=(string)4, profile=(string)high, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstAutoAudioSink:autoaudiosink0.GstGhostPad:sink.GstProxyPad:proxypad2: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstDecodeBin:decoder.GstDecodePad:src_0: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstAutoAudioSink:autoaudiosink0/GstAlsaSink:autoaudiosink0-actual-sink-alsa.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstAutoAudioSink:autoaudiosink0.GstGhostPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder.GstDecodePad:src_0.GstProxyPad:proxypad11: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder.GstDecodePad:src_0: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstDecodeBin:decoder.GstDecodePad:src_0.GstProxyPad:proxypad11: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)24/1
ERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0: Internal data stream error.
Additional debug info:
gstomxvideodec.c(1670): gst_omx_video_dec_loop (): /GstPipeline:pipeline0/GstDecodeBin:decoder/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0:
stream stopped, reason not-negotiated
ERROR: pipeline doesn't want to preroll.







On Thu, Jun 26, 2014 at 9:44 AM, Sebastian Dröge <[hidden email]> wrote:
On Sa, 2014-06-07 at 14:02 +0200, Peter Maersk-Moller wrote:
> Hi.
>
> I'm having a bit of a problem playing Full HD streams (1080p) on Rasberry
> Pi using Erik Vontaenes gst-omx build and generating the stream with the
> x264enc module. It complains about the parameters not negotiated indicating
> the gst-omx decoder won't take 1080p input. The same pipeline happily plays
> 720p streams.
>
> Has anybody been able to play 1080p content using the same gst-omx build or
> some other methods?

I can play full HD content here on my RPi with my custom build, using
latest gst-omx and also the other GStreamer components from GIT master.

Can you provide a GStreamer debug log with the error you get?

--
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

gstdebug.txt (138K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Full HD with gst-omx on Raspberry Pi?

Sebastian Dröge-3
On Fr, 2014-06-27 at 19:33 +0200, Peter Maersk-Moller wrote:
> And the debug is attached to mail ... lets see if the mail list can accept
> attachments??

From the logs the problem seems to be that your sink does not handle the
resolution and also the decoder is outputting frames in CPU memory. This
is going to be too slow for HD video on the RPi.

Try a manual pipeline that does not use decodebin but instead just has

... ! h264parse ! omxh264dec ! queue ! glimagesink
(or if you're using 1.2 use eglglessink).

You'll ideally have gst-omx from latest GIT master, compiled for the RPi
and with libgstgl support.

--
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Full HD with gst-omx on Raspberry Pi?

Peter Maersk-Moller-2
Hi Sebastian.

Thanks for answering.

Don't have glimagesink in Eriks binary of gstreamer 1.0.10. eglglessink is there and yes it helps bringing down the overall load.

However it does not change the situation regarding playing FullHD eveb when using the manual omxh264dec instead of decodebin.

I can post debug output if you like. If you would like to see it, please specify verbose mode and debug options you would like to see output for.

I will try compile 1.3.90 for raspberry and are half way through, but it will take a day more I guess.

Best regards
Peter


On Thu, Jul 3, 2014 at 10:52 AM, Sebastian Dröge <[hidden email]> wrote:
On Fr, 2014-06-27 at 19:33 +0200, Peter Maersk-Moller wrote:
> And the debug is attached to mail ... lets see if the mail list can accept
> attachments??

From the logs the problem seems to be that your sink does not handle the
resolution and also the decoder is outputting frames in CPU memory. This
is going to be too slow for HD video on the RPi.

Try a manual pipeline that does not use decodebin but instead just has

... ! h264parse ! omxh264dec ! queue ! glimagesink
(or if you're using 1.2 use eglglessink).

You'll ideally have gst-omx from latest GIT master, compiled for the RPi
and with libgstgl support.

--
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Full HD with gst-omx on Raspberry Pi?

Peter Maersk-Moller-2
In reply to this post by Sebastian Dröge-3
Hi Sebastian.

I now have the latest 1.3.90 Git Master running on Raspberry Pi.

Trying to do something very simple like the following pipeline

gst-launch-1.0 videotestsrc is-live=true ! 'video/x-raw, width=1512, height=1080, frame-rate=10/1' ! glimagesink

Then I see a the video test picture being shown approx. 2 frames per second but with black screen in-between and it complains about being too slow.

If I try anything above 1512x1080, such as 1514x1080 or 1920x1080 it will show an initial flicker of a white line being drawn across and the just black screen. So it seems not to be able to play it.

When I was displaying video with either autovideosink or eglglessink for gstreamer 1.0.10 it would scale the display to fullscreen using hardware scale of the Pi. But when I play 1.3.90 with glimagesink, no scaling is taking place. What is the appropriate way to get gstreamer 1.3.90 to scale to full screen on a Pi?

When I try to play content using the following pipeline for 1.3.90, it complain about being to slow:

gst-launch-1.0 tcpclientsrc host=192.168.10.50 port=5010 ! decodebin ! glimagesink

The pipeline works well for 1.0.10 and eglglessink or autovideosink

WHen I try to play the following pipeline for 1.3.90, it fails:

gst-launch-1.0 tcpclientsrc host=192.168.10.50 port=5010 ! matroskaparse ! matroskademux ! h264parse ! queue ! omxh264dec ! queue ! glimagesink

Got context from element 'glimagesink0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayEGL\)\ gldisplayegl0";

** (gst-launch-1.0:2770): CRITICAL **: gst_video_frame_map_id: assertion `GST_IS_BUFFER (buffer)' failed

(gst-launch-1.0:2770): GStreamer-CRITICAL **: gst_mini_object_unref: assertion `mini_object != NULL' failed
ERROR: from element /GstPipeline:pipeline0/GstGLImageSink:glimagesink0: Failed to upload buffer
Additional debug info:
gstglimagesink.c(768): gst_glimage_sink_prepare (): /GstPipeline:pipeline0/GstGLImageSink:glimagesink0
ERROR: pipeline doesn't want to preroll.

Where do I go from here?

Thanks in advance for hints and pointers.

best regards
Peter Maersk-Moller





On Thu, Jul 3, 2014 at 10:52 AM, Sebastian Dröge <[hidden email]> wrote:
On Fr, 2014-06-27 at 19:33 +0200, Peter Maersk-Moller wrote:
> And the debug is attached to mail ... lets see if the mail list can accept
> attachments??

From the logs the problem seems to be that your sink does not handle the
resolution and also the decoder is outputting frames in CPU memory. This
is going to be too slow for HD video on the RPi.

Try a manual pipeline that does not use decodebin but instead just has

... ! h264parse ! omxh264dec ! queue ! glimagesink
(or if you're using 1.2 use eglglessink).

You'll ideally have gst-omx from latest GIT master, compiled for the RPi
and with libgstgl support.

--
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Full HD with gst-omx on Raspberry Pi?

munezbn.dev
Hi Any luck with this? I am also in same boat. I have two videos 720p and 1080p
720p video plays but it drops frames once in a while. But 1080p video is doesnt smooth at all.

I have used gst-omx version 1.2.0 and the latest version 1.9.90 ..
I have set gpu_mem = 386MB also i have tried playing using gst-launch playbin..

Peter Maersk-Moller-2 wrote
Hi Sebastian.

I now have the latest 1.3.90 Git Master running on Raspberry Pi.

Trying to do something very simple like the following pipeline

gst-launch-1.0 videotestsrc is-live=true ! 'video/x-raw, width=1512,
height=1080, frame-rate=10/1' ! glimagesink

Then I see a the video test picture being shown approx. 2 frames per second
but with black screen in-between and it complains about being too slow.

If I try anything above 1512x1080, such as 1514x1080 or 1920x1080 it will
show an initial flicker of a white line being drawn across and the just
black screen. So it seems not to be able to play it.

When I was displaying video with either autovideosink or eglglessink for
gstreamer 1.0.10 it would scale the display to fullscreen using hardware
scale of the Pi. But when I play 1.3.90 with glimagesink, no scaling is
taking place. What is the appropriate way to get gstreamer 1.3.90 to scale
to full screen on a Pi?

When I try to play content using the following pipeline for 1.3.90, it
complain about being to slow:

gst-launch-1.0 tcpclientsrc host=192.168.10.50 port=5010 ! decodebin !
glimagesink

The pipeline works well for 1.0.10 and eglglessink or autovideosink

WHen I try to play the following pipeline for 1.3.90, it fails:

gst-launch-1.0 tcpclientsrc host=192.168.10.50 port=5010 ! matroskaparse !
matroskademux ! h264parse ! queue ! omxh264dec ! queue ! glimagesink

Got context from element 'glimagesink0': gst.gl.GLDisplay=context,
gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayEGL\)\ gldisplayegl0";

** (gst-launch-1.0:2770): CRITICAL **: gst_video_frame_map_id: assertion
`GST_IS_BUFFER (buffer)' failed

(gst-launch-1.0:2770): GStreamer-CRITICAL **: gst_mini_object_unref:
assertion `mini_object != NULL' failed
ERROR: from element /GstPipeline:pipeline0/GstGLImageSink:glimagesink0:
Failed to upload buffer
Additional debug info:
gstglimagesink.c(768): gst_glimage_sink_prepare ():
/GstPipeline:pipeline0/GstGLImageSink:glimagesink0
ERROR: pipeline doesn't want to preroll.

Where do I go from here?

Thanks in advance for hints and pointers.

best regards
Peter Maersk-Moller





On Thu, Jul 3, 2014 at 10:52 AM, Sebastian Dröge <[hidden email]>
wrote:

> On Fr, 2014-06-27 at 19:33 +0200, Peter Maersk-Moller wrote:
> > And the debug is attached to mail ... lets see if the mail list can
> accept
> > attachments??
>
> From the logs the problem seems to be that your sink does not handle the
> resolution and also the decoder is outputting frames in CPU memory. This
> is going to be too slow for HD video on the RPi.
>
> Try a manual pipeline that does not use decodebin but instead just has
>
> ... ! h264parse ! omxh264dec ! queue ! glimagesink
> (or if you're using 1.2 use eglglessink).
>
> You'll ideally have gst-omx from latest GIT master, compiled for the RPi
> and with libgstgl support.
>
> --
> Sebastian Dröge, Centricular Ltd - http://www.centricular.com
> Expertise, Straight from the Source
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Re: Full HD with gst-omx on Raspberry Pi?

Matthew Waters
On 13/10/16 06:40, munezbn.dev wrote:
> Hi Any luck with this? I am also in same boat. I have two videos 720p and
> 1080p
> 720p video plays but it drops frames once in a while. But 1080p video is
> doesnt smooth at all.
>
> I have used gst-omx version 1.2.0 and the latest version 1.9.90 ..
> I have set gpu_mem =86MB also i have tried playing using gst-launch
> playbin..

1.2.0 will not perform zerocopy decoding with gst-plugins-bad 1.9.90 and
will use the CPU memory path instead.

As Sebastian mentioned below, you need 1.9.90 of both gst-omx and
gst-plugins-bad to get the best performance out of the RPi.

Also, it's very likely that your gpu_mem is not large enough for this at
the moment.

Cheers
-Matt

> Peter Maersk-Moller-2 wrote
>> Hi Sebastian.
>>
>> I now have the latest 1.3.90 Git Master running on Raspberry Pi.
>>
>> Trying to do something very simple like the following pipeline
>>
>> gst-launch-1.0 videotestsrc is-live=ue ! 'video/x-raw, width12,
>> height80, frame-rate/1' ! glimagesink
>>
>> Then I see a the video test picture being shown approx. 2 frames per
>> second
>> but with black screen in-between and it complains about being too slow.
>>
>> If I try anything above 1512x1080, such as 1514x1080 or 1920x1080 it will
>> show an initial flicker of a white line being drawn across and the just
>> black screen. So it seems not to be able to play it.
>>
>> When I was displaying video with either autovideosink or eglglessink for
>> gstreamer 1.0.10 it would scale the display to fullscreen using hardware
>> scale of the Pi. But when I play 1.3.90 with glimagesink, no scaling is
>> taking place. What is the appropriate way to get gstreamer 1.3.90 to scale
>> to full screen on a Pi?
>>
>> When I try to play content using the following pipeline for 1.3.90, it
>> complain about being to slow:
>>
>> gst-launch-1.0 tcpclientsrc host2.168.10.50 portP10 ! decodebin !
>> glimagesink
>>
>> The pipeline works well for 1.0.10 and eglglessink or autovideosink
>>
>> WHen I try to play the following pipeline for 1.3.90, it fails:
>>
>> gst-launch-1.0 tcpclientsrc host2.168.10.50 portP10 ! matroskaparse !
>> matroskademux ! h264parse ! queue ! omxh264dec ! queue ! glimagesink
>>
>> Got context from element 'glimagesink0': gst.gl.GLDisplay=ntext,
>> gst.gl.GLDisplay=stGLDisplay)"\(GstGLDisplayEGL\)\ gldisplayegl0";
>>
>> ** (gst-launch-1.0:2770): CRITICAL **: gst_video_frame_map_id: assertion
>> `GST_IS_BUFFER (buffer)' failed
>>
>> (gst-launch-1.0:2770): GStreamer-CRITICAL **: gst_mini_object_unref:
>> assertion `mini_object !=ULL' failed
>> ERROR: from element /GstPipeline:pipeline0/GstGLImageSink:glimagesink0:
>> Failed to upload buffer
>> Additional debug info:
>> gstglimagesink.c(768): gst_glimage_sink_prepare ():
>> /GstPipeline:pipeline0/GstGLImageSink:glimagesink0
>> ERROR: pipeline doesn't want to preroll.
>>
>> Where do I go from here?
>>
>> Thanks in advance for hints and pointers.
>>
>> best regards
>> Peter Maersk-Moller
>>
>>
>>
>>
>>
>> On Thu, Jul 3, 2014 at 10:52 AM, Sebastian Dröge &lt;
>> sebastian@
>> &gt;
>> wrote:
>>
>>> On Fr, 2014-06-27 at 19:33 +0200, Peter Maersk-Moller wrote:
>>>> And the debug is attached to mail ... lets see if the mail list can
>>> accept
>>>> attachments??
>>> From the logs the problem seems to be that your sink does not handle the
>>> resolution and also the decoder is outputting frames in CPU memory. This
>>> is going to be too slow for HD video on the RPi.
>>>
>>> Try a manual pipeline that does not use decodebin but instead just has
>>>
>>> ... ! h264parse ! omxh264dec ! queue ! glimagesink
>>> (or if you're using 1.2 use eglglessink).
>>>
>>> You'll ideally have gst-omx from latest GIT master, compiled for the RPi
>>> and with libgstgl support.
>>>
>>> --
>>> Sebastian Dröge, Centricular Ltd - http://www.centricular.com
>>> Expertise, Straight from the Source
>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>>
>> gstreamer-devel@.freedesktop
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>
>>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel@.freedesktop
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Full-HD-with-gst-omx-on-Raspberry-Pi-tp4667414p4680018.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
>


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (495 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Re: Full HD with gst-omx on Raspberry Pi?

munezbn.dev
Matthew Waters wrote
On 13/10/16 06:40, munezbn.dev wrote:
> Hi Any luck with this? I am also in same boat. I have two videos 720p and
> 1080p
> 720p video plays but it drops frames once in a while. But 1080p video is
> doesnt smooth at all.
>
> I have used gst-omx version 1.2.0 and the latest version 1.9.90 ..
> I have set gpu_mem =86MB also i have tried playing using gst-launch
> playbin..

1.2.0 will not perform zerocopy decoding with gst-plugins-bad 1.9.90 and
will use the CPU memory path instead.

As Sebastian mentioned below, you need 1.9.90 of both gst-omx and
gst-plugins-bad to get the best performance out of the RPi.

Also, it's very likely that your gpu_mem is not large enough for this at
the moment.
1] Ahhh something wrong with your quote? .. I had set gpu_mem = 386 MB and not 86 MB.. I think 386Mb should be sufficient for 720HD playback ? If not kindly suggest me the value.
2] My bad about gst-omx versions, What I meant to say is I have tried both the version of gst-omx 1.20 with gstreamer bundle 1.8.1  and gst-omx 1.9.90 with gstreamer bundle 1.9.90

Reply | Threaded
Open this post in threaded view
|

Re: Re: Full HD with gst-omx on Raspberry Pi?

Stuart Axon
Hi,
  I'm doing video playback with gst-omx on raspbian, and have (completely unscientifically) set my GPU memory to 256mb and everything seems to work OK.

386mb sounds like it should be fine.
 
S++


On Thursday, October 13, 2016 1:20 PM, munezbn.dev <[hidden email]> wrote:


Matthew Waters wrote

> On 13/10/16 06:40, munezbn.dev wrote:
>> Hi Any luck with this? I am also in same boat. I have two videos 720p and
>> 1080p
>> 720p video plays but it drops frames once in a while. But 1080p video is
>> doesnt smooth at all.
>>
>> I have used gst-omx version 1.2.0 and the latest version 1.9.90 ..
>> I have set gpu_mem =86MB also i have tried playing using gst-launch
>> playbin..
>
> 1.2.0 will not perform zerocopy decoding with gst-plugins-bad 1.9.90 and
> will use the CPU memory path instead.
>
> As Sebastian mentioned below, you need 1.9.90 of both gst-omx and
> gst-plugins-bad to get the best performance out of the RPi.
>
> Also, it's very likely that your gpu_mem is not large enough for this at
> the moment.

1] Ahhh something wrong with your quote? .. I had set gpu_mem = 386 MB and
not 86 MB.. I think 386Mb should be sufficient for 720HD playback ? If not
kindly suggest me the value.
2] My bad about gst-omx versions, What I meant to say is I have tried both
the version of gst-omx 1.20 with gstreamer bundle 1.8.1  and gst-omx 1.9.90
with gstreamer bundle 1.9.90





--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Full-HD-with-gst-omx-on-Raspberry-Pi-tp4667414p4680033.html

Sent from the GStreamer-devel mailing list archive at Nabble.com.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Re: Full HD with gst-omx on Raspberry Pi?

munezbn.dev
Stuart Axon wrote
Hi,  I'm doing video playback with gst-omx on raspbian, and have (completely unscientifically) set my GPU memory to 256mb and everything seems to work OK.

386mb sounds like it should be fine.
 S++
 
Not sure why it doesn't play smooth for me. What about  FULL HD ? Does it play smothly with 256MB GPU_MEM ?

Is anything wrong with my bootcmd or config.txt ? Can you please share your config ?

I am also trying to write player with gstreamer ( gst-omx). I am using custom Buildroot image. I have made changes in buildroot files to use gstreamer 1.9.90.. But STill it doesnt play smooth.

I think there is something wrong with my config.txt



Reply | Threaded
Open this post in threaded view
|

Re: Re: Full HD with gst-omx on Raspberry Pi?

Stuart Axon
Ah, just got into work + had a go on our setup.

Tried big buck bunny 30fps andyour right it does seem to be missing some frames / be a little juddery in places.

A video of this demo

Seemed to far way worse and was barely watchable at 1080p... though I've just noticed that is 60fps.

 
S++


On Monday, October 17, 2016 11:34 AM, munezbn.dev <[hidden email]> wrote:


Stuart Axon wrote
> Hi,  I'm doing video playback with gst-omx on raspbian, and have
> (completely unscientifically) set my GPU memory to 256mb and everything
> seems to work OK.
>
> 386mb sounds like it should be fine.
>  S++


Not sure why it doesn't play smooth for me. What about  FULL HD ? Does it
play smothly with 256MB GPU_MEM ?

Is anything wrong with my bootcmd or config.txt ? Can you please share your
config ?

I am also trying to write player with gstreamer ( gst-omx). I am using
custom Buildroot image. I have made changes in buildroot files to use
gstreamer 1.9.90.. But STill it doesnt play smooth.

I think there is something wrong with my config.txt







--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Full-HD-with-gst-omx-on-Raspberry-Pi-tp4667414p4680080.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Re: Full HD with gst-omx on Raspberry Pi?

munezbn.dev
Stuart Axon wrote
Ah, just got into work + had a go on our setup.
Tried big buck bunny 30fps andyour right it does seem to be missing some frames / be a little juddery in places.

A video of this demo
https://www.youtube.com/watch?v=km6TXwo1Z-Q

Seemed to far way worse and was barely watchable at 1080p... though I've just noticed that is 60fps.
So I am not alone.  I had tried with 30fps  and behaviour is same. I have two videos which almost have HD resolution (1280 x 5xx) And bot of them play fine without any frame drops. But once you play actual HD content ( 1280x720) it starts dropping frames and FULL HD , like you mentioned, it is unwatchable.

I am totally new to OpenMax so not sure if i can do something here :( .. So we have left with omxplayer  now ..

Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Full HD with gst-omx on Raspberry Pi?

Matthew Waters
On 18/10/16 19:18, munezbn.dev wrote:

> Stuart Axon wrote
>> Ah, just got into work + had a go on our setup.
>> Tried big buck bunny 30fps andyour right it does seem to be missing some
>> frames / be a little juddery in places.
>>
>> A video of this demo
>> https://www.youtube.com/watch?v=km6TXwo1Z-Q
>>
>> Seemed to far way worse and was barely watchable at 1080p... though I've
>> just noticed that is 60fps.
> So I am not alone.  I had tried with 30fps  and behaviour is same. I have
> two videos which almost have HD resolution (1280 x 5xx) And bot of them play
> fine without any frame drops. But once you play actual HD content (
> 1280x720) it starts dropping frames and FULL HD , like you mentioned, it is
> unwatchable.
I've just tried with 1080p and 720p videos and everything works fine
here, no frame drops at all.

A couple of things to note:
1. Make sure you have an updated rpi userland - there have been bugs here
2. You need gst-plugins-bad 1.9.90 configured for dispmanx, egl and
gles2 and pointing to the videocore opengl libraries.
i.e. I configure gst-plugins-bad with:
CPPFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads
-I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/IL"
LIBS="-L/opt/vc/lib"
./configure --disable-x11 --disable-opengl --disable-glx --enable-gles2
--disable-wayland --with-gles2-module-name=/opt/vc/lib/libGLESv2.so
--with-egl-module-name=/opt/vc/lib/libEGL.so

3. You need gst-omx 1.9.90.

When running applications for zerocopy, the omx decoder must output
memory:GLMemory caps:
$ gst-launch-1.0 playbin uri=file:///home/matt/test3.mp4 -v | grep omx
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src:
caps = video/x-raw(memory:GLMemory), format=(string)RGBA,
width=(int)1920, height=(int)1080, interlace-mode=(string)progressive,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)sRGB,
framerate=(fraction)30/1

and the sink should be glimagesink.

Hope that helps
-Matt

> I am totally new to OpenMax so not sure if i can do something here :( .. So
> we have left with omxplayer  now ..



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (495 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Full HD with gst-omx on Raspberry Pi?

munezbn.dev
This post was updated on .
Matthew Waters wrote
I've just tried with 1080p and 720p videos and everything works fine
here, no frame drops at all.
Can you please share your config.txt file also ?

Matthew Waters wrote
A couple of things to note:
1. Make sure you have an updated rpi userland - there have been bugs here
I am using Buildroot based image. Will update the .mk to take latest one and try.
But omxplayer plays FULL HD smoothly, so this should not be the case right ?

Matthew Waters wrote
2. You need gst-plugins-bad 1.9.90 configured for dispmanx, egl and
gles2 and pointing to the videocore opengl libraries.
i.e. I configure gst-plugins-bad with:
CPPFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads
-I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/IL"
LIBS="-L/opt/vc/lib"
./configure --disable-x11 --disable-opengl --disable-glx --enable-gles2
--disable-wayland --with-gles2-module-name=/opt/vc/lib/libGLESv2.so
--with-egl-module-name=/opt/vc/lib/libEGL.so
I am using latest versions (1.9.90) of gstreamer and gst-omx. Let me check how buildroot configures gst1-plugins-bad. If it configures differently then i can modify the files to use above configure options.

Matthew Waters wrote
3. You need gst-omx 1.9.90.
Yes.

Matthew Waters wrote
When running applications for zerocopy, the omx decoder must output
memory:GLMemory caps:
$ gst-launch-1.0 playbin uri=file:///home/matt/test3.mp4 -v | grep omx
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src:
caps = video/x-raw(memory:GLMemory), format=(string)RGBA,
width=(int)1920, height=(int)1080, interlace-mode=(string)progressive,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)sRGB,
framerate=(fraction)30/1
Let me check this and get back to you.

Matthew Waters wrote
and the sink should be glimagesink.
I can confirm that in my case it uses glimagesink.

Thanks for your suggestion I will try everything and get back to you.

Thanks & Regards
Munez
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Full HD with gst-omx on Raspberry Pi?

munezbn.dev
This post was updated on .
Ahh I think it is not using GLmemory copy .. What could be the issue ?
I checked confiure option and it has all the options which you mentioned above.

Video 1 :

# gst-launch-1.0 playbin uri=file:/mnt/tears_of_steel_1080p.mov -v | grep omx
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)4, profile=(string)main, width=(int)1920, height=(int)800, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)24/1

Video 2 :

# gst-launch-1.0 playbin uri=file:/mnt/big_buck_bunny_720p_h264.mov -v | grep omx
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)3.1, profile=(string)main, width=(int)1280, height=(int)720, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)24/1



Then I tried searching both for omx and GLmem and the output was like below


 gst-launch-1.0 playbin uri=file:/mnt/tears_of_steel_1080p.mov -v video-sink=glimagesink | grep "omx\|GLMem"
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)4, profile=(string)main, width=(int)1920, height=(int)800, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)24/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLUploadElement:gluploadelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), format=(string)I420, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)24/1, texture-target=(string)2D
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1, texture-target=(string)2D
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:src: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1, texture-target=(string)2D
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink.GstPad:sink: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1, texture-target=(string)2D
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:sink: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1, texture-target=(string)2D
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:sink: caps = video/x-raw(memory:GLMemory), format=(string)I420, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)24/1, texture-target=(string)2D


Thanks
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Full HD with gst-omx on Raspberry Pi?

Matthew Waters
On 19/10/16 12:10, munezbn.dev wrote:
> Ahh i think i is not using GLmemory copy .. What could be the issue ?

Double check that you meet the requirements set out earlier, otherwise
look through the GStreamer debug logs for why it's not negotiating
memory:GLMemory.

Cheers
-Matt

> # gst-launch-1.0 playbin uri=file:/mnt/tears_of_steel_1080p.mov -v | grep
> omx
> /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink:
> caps = video/x-h264, stream-format=(string)byte-stream,
> alignment=(string)au, level=(string)4, profile=(string)main,
> width=(int)1920, height=(int)800, framerate=(fraction)24/1,
> pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true
> /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src:
> caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)800,
> interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1,
> chroma-site=(string)mpeg2, colorimetry=(string)bt709,
> framerate=(fraction)24/1
>
>
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Full-HD-with-gst-omx-on-Raspberry-Pi-tp4667414p4680110.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
>


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (495 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Full HD with gst-omx on Raspberry Pi?

munezbn.dev
This post was updated on .
Hi Matt,

After searching both for omx and GLMem and the output was like below. So
little confused now because glupload element uses GLMemory.
regarding other requirements, I have cross checked everything excepet
latest rpi-userland and there are no issues. Only thing which I have try
now is using latest rpi-userland, I didn't try it because with same
firmware omxplayer works fine. Second point which I need to verify is
config.txt  .. t


 gst-launch-1.0 playbin uri=file:/mnt/tears_of_steel_1080p.mov -v
video-sink=glimagesink | grep "omx\|GLMem"
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink:
caps = video/x-h264, stream-format=(string)byte-stream,
alignment=(string)au, level=(string)4, profile=(string)main,
width=(int)1920, height=(int)800, framerate=(fraction)24/1,
pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src:
caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)800,
interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1,
chroma-site=(string)mpeg2, colorimetry=(string)bt709,
framerate=(fraction)24/1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLUploadElement:gluploadelement0.GstPad:src:
caps = video/x-raw(memory:GLMemory), format=(string)I420, width=(int)1920,
height=(int)800, interlace-mode=(string)progressive,
pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2,
colorimetry=(string)bt709, framerate=(fraction)24/1,
texture-target=(string)2D
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:src:
caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)1920,
height=(int)800, interlace-mode=(string)progressive,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1,
texture-target=(string)2D
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:src:
caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)1920,
height=(int)800, interlace-mode=(string)progressive,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1,
texture-target=(string)2D
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink.GstPad:sink:
caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)1920,
height=(int)800, interlace-mode=(string)progressive,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1,
texture-target=(string)2D
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:sink:
caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)1920,
height=(int)800, interlace-mode=(string)progressive,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1,
texture-target=(string)2D
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:sink:
caps = video/x-raw(memory:GLMemory), format=(string)I420, width=(int)1920,
height=(int)800, interlace-mode=(string)progressive,
pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2,
colorimetry=(string)bt709, framerate=(fraction)24/1,
texture-target=(string)2D


Thanks & Regards
munez

On Wed, Oct 19, 2016 at 12:41 PM, Matthew Waters <ystreet00@gmail.com>
wrote:

> On 19/10/16 12:10, munezbn.dev wrote:
> > Ahh i think i is not using GLmemory copy .. What could be the issue ?
>
> Double check that you meet the requirements set out earlier, otherwise
> look through the GStreamer debug logs for why it's not negotiating
> memory:GLMemory.
>
> Cheers
> -Matt
>
> > # gst-launch-1.0 playbin uri=file:/mnt/tears_of_steel_1080p.mov -v |
> grep
> > omx
> > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/
> GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:
> omxh264dec-omxh264dec0.GstPad:sink:
> > caps = video/x-h264, stream-format=(string)byte-stream,
> > alignment=(string)au, level=(string)4, profile=(string)main,
> > width=(int)1920, height=(int)800, framerate=(fraction)24/1,
> > pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true
> > /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/
> GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:
> omxh264dec-omxh264dec0.GstPad:src:
> > caps = video/x-raw, format=(string)I420, width=(int)1920,
> height=(int)800,
> > interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1,
> > chroma-site=(string)mpeg2, colorimetry=(string)bt709,
> > framerate=(fraction)24/1
> >
> >
> >
> >
> >
> > --
> > View this message in context: http://gstreamer-devel.966125.
> n4.nabble.com/Full-HD-with-gst-omx-on-Raspberry-Pi-tp4667414p4680110.html
> > Sent from the GStreamer-devel mailing list archive at Nabble.com.
> >
>
>
>

_______________________________________________
gstreamer-devel mailing list
gstreamer-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Re: Full HD with gst-omx on Raspberry Pi?

Matthew Waters
On 19/10/16 20:04, munez bn wrote:
Hi Matt,

After searching both for omx and GLMem and the output was like below. So little confused now because glupload element uses GLMemory.
regarding other requirements, I have cross checked everything excepet latest rpi-userland and there are no issues. Only thing which I have try now is using latest rpi-userland, I didn't try it because with same firmware omxplayer works fine. Second point which I need to verify is config.txt  .. Since I am buildroot

Yes, glupload is uploading the system memory from the decoder when the decoder should be producing memory:GLMemory buffers for zerocopy.  This download/reupload across the memory bus is what is killing your performance.

Cheers
-Matt

 gst-launch-1.0 playbin uri=file:/mnt/tears_of_steel_1080p.mov -v video-sink=glimagesink | grep "omx\|GLMem" 
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)4, profile=(string)main, width=(int)1920, height=(int)800, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true 
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)24/1 
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLUploadElement:gluploadelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), format=(string)I420, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)24/1, texture-target=(string)2D 
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1, texture-target=(string)2D 
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:src: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1, texture-target=(string)2D 
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink.GstPad:sink: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1, texture-target=(string)2D 
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:sink: caps = video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1, texture-target=(string)2D 
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:sink: caps = video/x-raw(memory:GLMemory), format=(string)I420, width=(int)1920, height=(int)800, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)24/1, texture-target=(string)2D 


Thanks & Regards
munez

On Wed, Oct 19, 2016 at 12:41 PM, Matthew Waters <[hidden email]> wrote:
On 19/10/16 12:10, munezbn.dev wrote:
> Ahh i think i is not using GLmemory copy .. What could be the issue ?

Double check that you meet the requirements set out earlier, otherwise
look through the GStreamer debug logs for why it's not negotiating
memory:GLMemory.

Cheers
-Matt

> # gst-launch-1.0 playbin uri=file:/mnt/tears_of_steel_1080p.mov -v | grep
> omx
> /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink:
> caps = video/x-h264, stream-format=(string)byte-stream,
> alignment=(string)au, level=(string)4, profile=(string)main,
> width=(int)1920, height=(int)800, framerate=(fraction)24/1,
> pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true
> /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src:
> caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)800,
> interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1,
> chroma-site=(string)mpeg2, colorimetry=(string)bt709,
> framerate=(fraction)24/1
>
>
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Full-HD-with-gst-omx-on-Raspberry-Pi-tp4667414p4680110.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
>




_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (495 bytes) Download Attachment
12