GStreamer Ducati on BBAI

30 views
Skip to first unread message

Damon Tarry

unread,
Feb 26, 2021, 3:27:36 PM2/26/21
to BeagleBoard
I'm trying to get hardware accelerated video encoding/decoding working on the Beaglebone AI. I copied the following libraries from TI's Processor SDK:
  • /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstvpe.so
  • /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstlibav.so
  • /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstducati.so
  • /usr/lib/arm-linux-gnueabihf/libdce.so.1.0.0
  • /usr/lib/arm-linux-gnueabihf/libgstdrm-1.0.so.0.1404.0
With these libraries, I am able to do hardware accelerated video processing, using the following command:
  • gst-launch-1.0 filesrc location=vid.mp4 ! qtdemux ! h264parse ! ducatih264dec ! vpe ! 'video/x-raw, format=(string)NV12, width=(int)640, height=(int)480' ! ducatih264enc ! h264parse ! mp4mux ! filesink location=test.mp4

However, it must be run as root. If I try and run it as a regular user, it fails with the following error:

(gst-launch-1.0:26334): GStreamer-CRITICAL **: 12:10:20.275: gst_buffer_add_meta: assertion 'buffer != NULL' failed
ERROR: from element /GstPipeline:pipeline0/GstQTDemux:qtdemux0: Internal data stream error.
Additional debug info:
../gst/isomp4/qtdemux.c(6545): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstQTDemux:qtdemux0:
streaming stopped, reason error (-5)

Running Debian with kernel 4.19.94-ti-r59

I've tried to make sure that the user has access to all relevant files in /dev (and even tried chmod a+rw /dev/*), but still cannot get it to work. Has anyone been able to get this to work as a non-root user?

Thanks,
Damon

Reply all
Reply to author
Forward
0 new messages