Streaming freezes (vaapi or v4l2src)

Nicolas Dufresne nicolas at ndufresne.ca
Thu Jul 16 12:32:34 UTC 2020


Le jeu. 16 juill. 2020 04 h 00, Timtchenko, Michael <
Michael.Timtchenko at agcocorp.com> a écrit :

> Hello guys,
>
>
>
> i’ve encountered a very strange behavior while streaming from a v4l2src to
> a kmssink (or glimagesink) by using vaapi-components for decoding. The
> problem is, that the streaming starts for 2 seconds, then freezes for 2
> seconds and continues again for 2 seconds and so on. This effect is only
> noticeable when using vaapi-components. If I use a pipeline with simply
> software decoding, the stream is displayed fluently.
>
Two seconds could be the key frame distance ?



>
> My sending pipeline is constructed as follows:
>
>
>
> gst-launch-1.0 v4l2src io-mode=dmabuf device=/dev/video$(($1+4)) !
> video/x-raw,format=YV12,width=720,height=576  ! v4l2h264enc ! rtph264pay !
> udpsink host=${IP} port=55555
>
v4l2h264enc has this extra-controls property that let you genetically
change he specific configuration, just an information.



>
> Setting pipeline to PAUSED ...
>
> Pipeline is live and does not need PREROLL ...
>
> Setting pipeline to PLAYING ...
>
> New clock: GstSystemClock
>
> Redistribute latency...
>
>
>
> The erroneous reading pipeline looks like this:
>
>
>
> gst-launch-1.0 udpsrc port=55555
> caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,
> encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! vaapih264dec
> ! vaapipostproc width=720 height=576 ! glimagesink
>

One thing to note is the absence of rtpjitterbuffer element, which would
allow adding some latency to remove network jitter. So that is one thing to
try.

Another possibility is that the issue is cause by vaaph264dec having more
latency then avdec_h264. Perhaps give the low-latency property a try ?

Let's hope one of these suggestions helps.


>
> Setting pipeline to PAUSED ...
>
> Pipeline is live and does not need PREROLL ...
>
> Got context from element 'vaapipostproc0': gst.vaapi.Display=context,
> gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayDRM\)\
> vaapidisplaydrm1";
>
> Setting pipeline to PLAYING ...
>
> New clock: GstSystemClock
>
> Redistribute latency...
>
> WARNING: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: A lot of
> buffers are being dropped.
>
> Additional debug info:
>
> ../libs/gst/base/gstbasesink.c(3005): gst_base_sink_is_too_late ():
> /GstPipeline:pipeline0/GstKMSSink:kmssink0:
>
> There may be a timestamping problem, or this computer is too slow.
>
> WARNING: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: A lot of
> buffers are being dropped.
>
> Additional debug info:
>
> ../libs/gst/base/gstbasesink.c(3005): gst_base_sink_is_too_late ():
> /GstPipeline:pipeline0/GstKMSSink:kmssink0:
>
> There may be a timestamping problem, or this computer is too slow.
>
>
>
> If I run the following pipeline on the same system, the stream is
> presented fluently without any problems:
>
>
>
> gst-launch-1. 0 udpsrc port=55555 caps=\"application/x-rtp,
> media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264,
> payload=(int)96\" ! rtph264depay ! avdec_h264 ! decodebin ! videoconvert !
> kmssink
>
>
>
> I’m not sure what exactly the problem is. Maybe the timestamping mechanism
> in vaapi has a different behavior then in the avdec_h264 as the log message
> says?  I’ve also changed log levels but I couldn’t find anything helpful.
>
>
>
> Any help for further diagnostics is highly appreciated.
>
>
>
> Kind regards
>
> Michael
>
>
>
>
>
>
>
>
> Bitte beachten / Please note!
>
> *******************************************************************************
>
>
> AGCO GmbH
> Sitz der AGCO GmbH: Johann-Georg-Fendt-Str.4, 87616 Marktoberdorf, Germany
> Registergericht Amtsgericht Kempten HRB 10327
> Geschäftsführer: Christoph Groeblinghoff, Ingrid Bussjaeger-Martin, Dr.
> Heribert Reiter, Ekkehart Glaeser
> Vorsitzender des Aufsichtsrates: Torsten Dehner
> *******************************************************************************
>
>
> Diese E-Mail ist nur für den Empfänger bestimmt, an den es gerichtet ist
> und kann vertrauliches
> bzw. unter das Berufsgeheimnis fallendes Material enthalten. Jegliche
> darin enthaltene Ansicht
> oder Meinungsäußerung ist die des Autors und stellt nicht notwendigerweise
> die Ansicht oder
> Meinung von AGCO dar. Sind Sie nicht der Empfänger, so haben Sie diese
> E-Mail irrtümlich
> erhalten und jegliche Verwendung, Veröffentlichung, Weiterleitung,
> Abschrift oder jeglicher
> Druck dieser E-Mail ist strengstens untersagt. Weder AGCO noch der
> Absender übernehmen die
> Haftung für Viren; es obliegt Ihrer Verantwortung, die E-Mail und deren
> angehängte
> Dateien (sofern vorhanden) auf Viren zu überprüfen.
> *******************************************************************************
>
>
> This email is intended solely for the use of the individual to whom it is
> addressed and may contain
> confidential and/or privileged material. Any views or opinions presented
> are solely those of the
> author and do not necessarily represent those of AGCO. If you are not the
> intended recipient, be
> advised that you have received this email in error and that any use,
> dissemination, forwarding,
> printing or copying of this email is strictly prohibited. Neither AGCO nor
> the sender accepts any
> responsibility for viruses and it is your responsibility to scan and virus
> check the email and its
> attachment(s) (if any).
> *******************************************************************************
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200716/289c5d4a/attachment.htm>


More information about the gstreamer-devel mailing list