Skip to content

Hardware acceleration

Rafał Dzięgiel edited this page Jul 7, 2021 · 15 revisions

Clapper uses hardware acceleration by default, when available both CPU and RAM usage should be much lower.

AMD/Intel

GStreamer now has two different plugins that provide hardware acceleration vaapi (provided by gstreamer-vaapi) and newer va (part of gst-plugins-bad). By default older vaapi plugins are used, you can try new va experimental decoders in Clapper Preferences->Advanced->GStreamer by changing their default rank (e.g. apply rank 300 to vah264dec and so on).

On some older GPUs you might need to export GST_VAAPI_ALL_DRIVERS=1 environment variable.

Nvidia

Hardware acceleration on Nvidia GPUs is supported through NVDEC. This requires Nvidia proprietary GPU drivers.

Mobile devices (V4L2 codecs)

V4L2 stateless decoders are gradually added to GStreamer during 1.19 development and are used by default on mobile/embedded devices. Mobile devices usually use GL ES instead of OpenGL, so users should manually tell GStreamer to use it by exporting GST_GL_API=gles2 environment variable.

Due to a bug in GStreamer playbin2 element, GstVideoMeta is not passed through pipeline which causes the v4l2 decoders to copy frames and reduce performance. In order to workaround this bug you can use newer playbin3 element with GST_CLAPPER_USE_PLAYBIN3=1 environment variable.

Clone this wiki locally