H264 live pipeline problems on exynos odroid4 with hardware dec

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

H264 live pipeline problems on exynos odroid4 with hardware dec

Ignas Brašiškis
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
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: H264 live pipeline problems on exynos odroid4 with hardware dec

Ignas Brašiškis
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.

On Sat, Sep 9, 2017 at 8:29 PM, Ignas Brašiškis
<[hidden email]> 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
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: H264 live pipeline problems on exynos odroid4 with hardware dec

Nicolas Dufresne-5
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
> <[hidden email]> 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
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel