H264 live pipeline problems on exynos odroid4 with hardware dec

Nicolas Dufresne nicolas at ndufresne.ca
Sun Sep 10 12:14:37 UTC 2017


Le samedi 09 septembre 2017 à 20:33 +0300, Ignas Brašiškis a écrit :
> Is there Anything I can try to improve situation? Non live pipelines
> work, but performance is barelly acceptable on full HD. BTW I am
> using
> linux with gst-uninstalled not android here.

For the first aspect, live vs non-live, describe how it fails, I have
no clue otherwise. Note that the latency estimation is quite buggy at
the moment. The drivers don't explicitly expose their latency.

For the second aspect, performance. Don't rely on videoconvert, choose
a specific display sink. This depends on your setup really. Good result
can be achieved on X11 with:

GST_GL_PLATFORM=egl ... ! v4l2h264dec capture-io-mode=dmabuf ! glimagesink

On wayland you'll need to add GST_GL_WINDOW=wayland for this one. On
wayland (like Weston) you will also get decent performance out of:

... ! v4l2h264dec capture-io-mode=dmabuf ! waylandsink

If you don't have any compositor or display manager, there is kmssink
that also support zero-copy / dmabuf. If you really need color
conversion, then try to enable the gscaler driver, this will show up as
v4l2videoNconvert where N is the /dev/videoN device node number. Those
have not gain constant element names yet. Enaling dmabuf exportation by
default is planed, but not done yet.

I hope this will be useful.

regards,
Nicolas

> 
> On Sat, Sep 9, 2017 at 8:29 PM, Ignas Brašiškis
> <ignas.brasiskis at gmail.com> wrote:
> > Hello I have problem with live pipeline.
> > Software pipeline works fine:
> > gst-launch-1.0 -v udpsrc port=10000 caps='application/x-rtp,
> > media=(string)video, clock-rate=(int)90000,
> > encoding-name=(string)H264' ! rtpjitterbuffer ! rtph264depay !
> > h264parse ! avdec_h264 !  videoconvert !  autovideosink
> > But hardware one, creates scrambled image:
> > gst-launch-1.0 -v udpsrc port=10000 caps='application/x-rtp,
> > media=(string)video, clock-rate=(int)90000,
> > encoding-name=(string)H264' ! rtpjitterbuffer ! rtph264depay !
> > h264parse ! v4l2h264dec !  videoconvert !  autovideosink
> > 
> > 
> > My source pipeline is simple:
> > gst-launch-1.0 -v v4l2src ! decodebin ! videoconvert ! x264enc
> > tune=zerolatency ! rtph264pay  ! udpsink host=192.168.1.195
> > port=10000
> > Zero latency tune does not change situation either way.
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


More information about the gstreamer-devel mailing list