Jump to content

Getting Started With Multimedia on Your Yocto Build

From RidgeRun Developer Wiki

Follow us on: YouTube Twitter LinkedIn Email Share this page

Share This Page

Preferred Partner Logo 3 Partner Program Banner



One of the first questions developers usually ask when starting to integrate multimedia applications into Yocto is: How do I do it? Another common question is whether there are multiple ways to approach the integration.

This wiki will guide you through the two main approaches available for integrating and building your first multimedia application in Yocto. By the end of this section, you will have a clearer understanding of the available workflows and when to use each one depending on your project requirements.

What Options Do I have to Integrate Multimedia Support?

When working with Yocto, there are two common approaches for enabling multimedia support:

  1. Using the Pre Configured Multimedia Image: Start from an image that already includes multimedia frameworks, plugins, and demo applications. This is the fastest way to validate multimedia features and begin development quickly.
  2. Adding Multimedia Packages Manually: Integrate only the multimedia components required by your application. This approach is recommended for production systems where image size and dependency control are important.

1) Using the Pre-Configured Multimedia Image

For rapid prototyping and evaluation, this wiki uses the following pre configured image:

demo-image-full

The following diagram summarizes the main multimedia components already included in the image:

Main multimedia components included in the image

After following the Flashing the Board section and booting the image, the system should provide a ready-to-use multimedia environment for accelerated multimedia development and validation.

2) Adding Multimedia Packages Manually

As mentioned, some projects may prefer starting from a smaller image and integrating only the required multimedia components manually.

This approach is commonly used to:

  • Reduce image size
  • Limit installed packages
  • Control which multimedia features are enabled

The simplest way to include all NVIDIA GStreamer plugins is via the metapackage:

IMAGE_INSTALL:append = " gstreamer1.0-plugins-tegra"

This pulls in all hardware accelerated plugins including video encode/decode, CSI camera capture, color conversion, JPEG, compositing, and video output.

Alternatively, the hwcodecs image feature only installs the video encode/decode plugin (gstreamer1.0-plugins-nvvideo4linux2):

IMAGE_FEATURES += "hwcodecs"

For individual plugin selection:

IMAGE_INSTALL:append = " \
    gstreamer1.0-plugins-nvvideo4linux2 \
    gstreamer1.0-plugins-nvarguscamerasrc \
    gstreamer1.0-plugins-nvvidconv \
    gstreamer1.0-plugins-nvjpeg \
    gstreamer1.0-plugins-nvcompositor \
    gstreamer1.0-plugins-nveglgles \
    gstreamer1.0-plugins-nvdrmvideosink \
    gstreamer1.0-plugins-nvvideosinks \
    gstreamer1.0-plugins-nvtee \
    gstreamer1.0-plugins-nvv4l2camerasrc \
    gstreamer1.0-plugins-nvipcpipeline \
    gstreamer1.0-plugins-nvunixfd \
    gstreamer1.0-plugins-tegra-binaryonly \
"

Minimal-image-add-on

Verifying Installed Multimedia Packages

After booting the target system, confirm that the multimedia stack is available before running more advanced pipelines.

Verify that the NVIDIA accelerated plugins are installed:

gst-inspect-1.0 <plugin-name>

For example:

gst-inspect-1.0 nvarguscamerasrc

A successful output will display the plugin details (factory name, rank, capabilities). If the plugin is not found, verify that the corresponding package is installed in the image.

Verify that the multimedia applications are present:

which nvgstcapture-1.0
which nvgstplayer-1.0

Additional Resources



Cookies help us deliver our services. By using our services, you agree to our use of cookies.