Gstreamer VAAPI plugins don't run on Nvidia GTX 1080

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

Gstreamer VAAPI plugins don't run on Nvidia GTX 1080

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

Re: Gstreamer VAAPI plugins don't run on Nvidia GTX 1080

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

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

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

Re: Gstreamer VAAPI plugins don't run on Nvidia GTX 1080

skyline220
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?

Thanks

On Mon, Dec 3, 2018 at 3:59 PM Nicolas Dufresne <[hidden email]> 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
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
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: Gstreamer VAAPI plugins don't run on Nvidia GTX 1080

Nicolas Dufresne-5


Le lun. 3 déc. 2018 17 h 12, Nihit Mody <[hidden email]> 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 <[hidden email]> 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
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
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

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

Re: Gstreamer VAAPI plugins don't run on Nvidia GTX 1080

skyline220
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?

Thanks

On Mon, Dec 3, 2018 at 6:55 PM Nicolas Dufresne <[hidden email]> wrote:


Le lun. 3 déc. 2018 17 h 12, Nihit Mody <[hidden email]> 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 <[hidden email]> 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
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
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
_______________________________________________
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: Gstreamer VAAPI plugins don't run on Nvidia GTX 1080

Nicolas Dufresne-5
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 <[hidden email]> wrote:


Le lun. 3 déc. 2018 17 h 12, Nihit Mody <[hidden email]> 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 <[hidden email]> 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
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
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
_______________________________________________
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


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