Gstreamer VAAPI plugins don't run on Nvidia GTX 1080

Nicolas Dufresne nicolas at ndufresne.ca
Wed Dec 5 03:50:36 UTC 2018


Le mercredi 05 décembre 2018 à 02:42 -0500, Nihit Mody a écrit :
> Hi Nicolas,
> Thanks a lot for checking into that. It seems JPEG encoding and decoding is not realistic to do on the GTX 1080. Do you know if it is possible to run the VAAPI plugins on the Intel hardware (i7-8700k) while a GTX 1080 is being used to drive displays?

I believe there exist an env to force a specific VAAPI driver. You may want to give this a try:
LIBVA_DRIVER_NAME=i965 vainfo
Otherwise, there might be CUDA implementation for a JPEG encoder ?
Nicolas
> Thanks
> 
> 
> On Mon, Dec 3, 2018 at 6:55 PM Nicolas Dufresne <nicolas at ndufresne.ca> wrote:
> > Le lun. 3 déc. 2018 17 h 12, Nihit Mody <blinkrules0182 at gmail.com> a écrit :
> > > Hi Nicolas, 
> > > 
> > > Thank you for the response. I tried putting vaapipostproc in between and got:
> > > 
> > > gst-launch-1.0 v4l2src device=/dev/video0 do-timestamp=true ! video/x-raw,format=I420,width=1920,height=1080,framerate=60/1 ! vaapipostproc ! vaapijpegenc ! rtpjpegpay ! multiudpsink clients=192.168.0.15
> > > 
> > > libva info: VA-API version 0.39.0
> > > libva info: va_getDriverName() returns 0
> > > libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
> > > libva info: Found init function __vaDriverInit_0_39
> > > libva info: va_openDriver() returns 0
> > > Setting pipeline to PAUSED ...
> > > ERROR: Pipeline doesn't want to pause.
> > > Got context from element 'vaapipostproc0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)NULL;
> > > Setting pipeline to NULL ...
> > > Freeing pipeline ...
> > > 
> > > Then I tried videoconvert:
> > > 
> > > gst-launch-1.0 v4l2src device=/dev/video0 do-timestamp=true ! video/x-raw,format=I420,width=1920,height=1080,framerate=60/1 ! videoconvert ! vaapijpegenc ! rtpjpegpay ! multiudpsink clients=192.168.0.15
> > > 
> > > Setting pipeline to PAUSED ...
> > > libva info: VA-API version 0.39.0
> > > libva info: va_getDriverName() returns 0
> > > libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
> > > libva info: Found init function __vaDriverInit_0_39
> > > libva info: va_openDriver() returns 0
> > > Pipeline is live and does not need PREROLL ...
> > > Got context from element 'vaapiencodejpeg0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)NULL;
> > > Setting pipeline to PLAYING ...
> > > New clock: GstSystemClock
> > > ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
> > > Additional debug info:
> > > gstbasesrc.c(2948): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> > > streaming task paused, reason not-negotiated (-4)
> > > Execution ended after 0:00:00.448719003
> > > Setting pipeline to PAUSED ...
> > > Setting pipeline to READY ...
> > > Setting pipeline to NULL ...
> > > Freeing pipeline ...
> > > 
> > > For NVENC I am not seeing a JPEG encode or decode, is JPEG encode or decode supported? Also do you think there is something else to try for vaapi based on these errors?
> > 
> > Well, now that I notice, vaapi does not show up any jpeg support either. You must be running an older GStreamer since in recent version we only create the element if we detect support.
> > 
> > > Thanks
> > > On Mon, Dec 3, 2018 at 3:59 PM Nicolas Dufresne <nicolas at ndufresne.ca> wrote:
> > > > Le lundi 03 décembre 2018 à 13:07 -0600, skyline220 a écrit :
> > > > 
> > > > > skyline220 via lists.freedesktop.org 
> > > > 
> > > > >       
> > > > 
> > > > > 1:57 PM (9 minutes ago)
> > > > 
> > > > >       
> > > > 
> > > > > to gstreamer-devel
> > > > 
> > > > > Be careful with this message
> > > > 
> > > > > 
> > > > 
> > > > > This may be a spoofed message. The message claims to have been sent from
> > > > 
> > > > > your account, but Gmail couldn’t verify the actual source. Avoid clicking
> > > > 
> > > > > links or replying with sensitive information, unless you are sure you
> > > > 
> > > > > actually sent this message. (No need to reset your password, the real sender
> > > > 
> > > > > does not actually have access to your account!)
> > > > 
> > > > > Hi All,
> > > > 
> > > > > 
> > > > 
> > > > > I have installed vdpau with the hopes of enabling the G-streamer VAAPI based
> > > > 
> > > > > plugins on my graphics card. When I type in vainfo in the terminal I get:
> > > > 
> > > > > 
> > > > 
> > > > > vainfo
> > > > 
> > > > > 
> > > > 
> > > > > libva info: VA-API version 0.39.0
> > > > 
> > > > > libva info: va_getDriverName() returns 0
> > > > 
> > > > > libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
> > > > 
> > > > > libva info: Found init function __vaDriverInit_0_39
> > > > 
> > > > > libva info: va_openDriver() returns 0
> > > > 
> > > > > vainfo: VA-API version: 0.39 (libva 1.7.0)
> > > > 
> > > > > vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API -
> > > > 
> > > > > 0.7.4
> > > > 
> > > > > vainfo: Supported profile and entrypoints
> > > > 
> > > > >       VAProfileMPEG2Simple            : VAEntrypointVLD
> > > > 
> > > > >       VAProfileMPEG2Main              : VAEntrypointVLD
> > > > 
> > > > >       VAProfileMPEG4Simple            : VAEntrypointVLD
> > > > 
> > > > >       VAProfileMPEG4AdvancedSimple    : VAEntrypointVLD
> > > > 
> > > > >       VAProfileH264Baseline           : VAEntrypointVLD
> > > > 
> > > > >       VAProfileH264Main               : VAEntrypointVLD
> > > > 
> > > > >       VAProfileH264High               : VAEntrypointVLD
> > > > 
> > > > >       VAProfileVC1Simple              : VAEntrypointVLD
> > > > 
> > > > >       VAProfileVC1Main                : VAEntrypointVLD
> > > > 
> > > > >       VAProfileVC1Advanced            : VAEntrypointVLD
> > > > 
> > > > > 
> > > > 
> > > > > I then installed gstreamer1.0-vaapi plugins however when I go to run a
> > > > 
> > > > > pipeline with a vaapi plugin, for example:
> > > > 
> > > > > 
> > > > 
> > > > > gst-launch-1.0 v4l2src device=/dev/video0 do-timestamp=true !
> > > > 
> > > > > video/x-raw,format=I420,width=1920,height=1080,framerate=60/1 ! vaapijpegenc
> > > > 
> > > > > ! rtpjpegpay ! multiudpsink clients=192.168.0.15
> > > > 
> > > > > 
> > > > 
> > > > > I get:
> > > > 
> > > > > 
> > > > 
> > > > > Setting pipeline to PAUSED ...
> > > > 
> > > > > libva info: VA-API version 0.39.0
> > > > 
> > > > > libva info: va_getDriverName() returns 0
> > > > 
> > > > > libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
> > > > 
> > > > > libva info: Found init function __vaDriverInit_0_39
> > > > 
> > > > > libva info: va_openDriver() returns 0
> > > > 
> > > > > Pipeline is live and does not need PREROLL ...
> > > > 
> > > > > Got context from element 'vaapiencodejpeg0': gst.vaapi.Display=context,
> > > > 
> > > > > gst.vaapi.Display=(GstVaapiDisplay)NULL;
> > > > 
> > > > > Setting pipeline to PLAYING ...
> > > > 
> > > > > New clock: GstSystemClock
> > > > 
> > > > > ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal
> > > > 
> > > > > data flow error.
> > > > 
> > > > > Additional debug info:
> > > > 
> > > > > gstbasesrc.c(2948): gst_base_src_loop ():
> > > > 
> > > > > /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> > > > 
> > > > > streaming task paused, reason not-negotiated (-4)
> > > > 
> > > > 
> > > > 
> > > > This indicated that v4l2src and vaapijpegenc are not "compatible". You
> > > > 
> > > > may need vaapipostproc and/or videoconvert in between. On NVIDIA
> > > > 
> > > > though, it is recommended to use the new interface NVENC/NVDEC.
> > > > 
> > > > 
> > > > 
> > > > > Execution ended after 0:00:00.478047083
> > > > 
> > > > > Setting pipeline to PAUSED ...
> > > > 
> > > > > Setting pipeline to READY ...
> > > > 
> > > > > Setting pipeline to NULL ...
> > > > 
> > > > > Freeing pipeline ...
> > > > 
> > > > > 
> > > > 
> > > > > When I run this same pipeline with jpegenc the software encoder instead of
> > > > 
> > > > > vaapijpegenc it runs fine. How can I fix this? I would like to be able to
> > > > 
> > > > > use the G-Streamer VAAPI plugins.
> > > > 
> > > > > 
> > > > 
> > > > > 
> > > > 
> > > > > 
> > > > 
> > > > > --
> > > > 
> > > > > Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> > > > 
> > > > > _______________________________________________
> > > > 
> > > > > gstreamer-devel mailing list
> > > > 
> > > > > gstreamer-devel at lists.freedesktop.org
> > > > 
> > > > > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> > > > 
> > > > _______________________________________________
> > > > 
> > > > gstreamer-devel mailing list
> > > > 
> > > > gstreamer-devel at lists.freedesktop.org
> > > > 
> > > > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> > > > 
> > > 
> > > _______________________________________________
> > > 
> > > gstreamer-devel mailing list
> > > 
> > > gstreamer-devel at lists.freedesktop.org
> > > 
> > > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> > > 
> > 
> > _______________________________________________
> > 
> > gstreamer-devel mailing list
> > 
> > gstreamer-devel at lists.freedesktop.org
> > 
> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> > 
> 
> _______________________________________________gstreamer-devel mailing listgstreamer-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/20181204/5aedaa0c/attachment-0001.html>


More information about the gstreamer-devel mailing list