Hi,
Until a few days ago I was successfully using gstreamer v1.14 with vaapi to decode up to 4 rtsp h264 streams each of which of resolution 3840x2160 exploiting the Intel dedicated module. Gstreamer was installed from Ubuntu repositories. A sample working pipeline was:
gst-launch-1.0 rtspsrc location="rtsp://root:root@192.168.0.91:554/axis-media/media.amp?videocodec=h264&resolution=3840x2160&fps=25" protocols=GST_RTSP_LOWER_TRANS_TCP latency=0 ! rtph264depay ! queue ! vaapih264dec ! videoconvert ! fpsdisplaysink sync=false
But the requirements have changed and the streams should become 5K (4864x3248). My investigations led to the following conclusions:
Sent from the GStreamer-devel mailing list archive at Nabble.com. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Sorry, Cerbero, not Cerberus.
Any suggestions? -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le mer. 8 mai 2019 06 h 56, Andressio <[hidden email]> a écrit : Sorry, Cerbero, not Cerberus. I don't remember if VAAPI/nvdec has been integrated. Look in the recipes folder to see if GStreamer-vaapi is present (if so, it might be under a variant, see -v command argument). For nvenc, check in the file list of -bad reciepe. Both have dependencies that might not be met yet.
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
With Cerbero I have nvdec and nvenc but I am not able to set up a decoding pipeline that uses nvdec and generates raw rgb frames in memory that I can access via appsink. Can you provide an example? For what concerns VAAPI I will look as soon as I can Sent from the GStreamer-devel mailing list archive at Nabble.com. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Andressio
You can decode videos up to 8K with intel video cards and vaapi using the new
intel-media-driver https://github.com/intel/media-driver nvdec would also work, if you manage to build it -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I was able do build nvdec. Can you provide a sample working gstreamer pipeline that uses nvdec? Sent from the GStreamer-devel mailing list archive at Nabble.com. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
After installing the iHD driver following the steps you provided, I've set the following environment variables:
DRM_IOCTL_I915_GEM_APERTURE failed: Invalid argument
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [22]
param: 4, val: 0
and repeatedly the following error lines while decoding a sample 4k video:
** (gst-launch-1.0:5765): CRITICAL **: 15:09:29.695: gst_vaapi_mini_object_unref: assertion 'object != NULL' failed
** (gst-launch-1.0:5765): CRITICAL **: 15:09:29.727: gst_vaapi_surface_associate_subpicture: assertion 'subpicture != NULL' failed
anyway the video is displayed. All the above messages where not printed when I used the older stock driver i965. I am trying the iHD because I need to decode a video with resolution 5472x3648. I have a sample video recorded directly from a h265 camera with that resolution and I am able to decode and see frames using a software decoder like this:
gst-launch-1.0 filesrc location="sample.h265" ! video/x-h265 ! h265parse ! avdec_h265 ! autovideosink sync=true
but switching to the vaapi version with new intel-media-driver iHD:
gst-launch-1.0 filesrc location="sample.h265" ! video/x-h265 ! h265parse ! vaapih265dec ! autovideosink sync=true
I get the following error:
DRM_IOCTL_I915_GEM_APERTURE failed: Invalid argument
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [22]
param: 4, val: 0
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'autovideosink0-actual-sink-vaapi': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx1";
ERROR: from element /GstPipeline:pipeline0/GstVaapiDecode_h265:vaapidecode_h265-0: No valid frames decoded before end of stream
Additional debug info:
../../../../gst-libs/gst/video/gstvideodecoder.c(1139): gst_video_decoder_sink_event_default (): /GstPipeline:pipeline0/GstVaapiDecode_h265:vaapidecode_h265-0:
no valid frames found
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
When with the older i965 driver I got the following:
Pipeline is PREROLLING ...
Got context from element 'autovideosink0-actual-sink-vaapi': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx1";
ERROR: from element /GstPipeline:pipeline0/GstVaapiDecode_h265:vaapidecode_h265-0: Decoding error
Additional debug info:
../../../gst/vaapi/gstvaapidecode.c(764): gst_vaapidecode_handle_frame (): /GstPipeline:pipeline0/GstVaapiDecode_h265:vaapidecode_h265-0:
Decode error -1
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
Any advice on how to setup gstreamer to decode h265 videos of that size (5472x3648) in hardware?
My specs: Ubuntu 18.01 | GStreamer 1.14 from repo | Intel i7-8700 | Nvidia RTX 2080
Sent from the GStreamer-devel mailing list archive at Nabble.com. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |