Multimedia APIs

The Multimedia API is a collection of low-level APIs that support flexible application development. These low-level APIs enable flexibility by providing better control over the underlying hardware blocks.

The Multimedia API includes:

  • libargus for imaging applications

  • V4L2 API for encoding, decoding, scaling, and other media functions

  • NVOSD for On-Screen display

  • Buffer Utility for buffer allocation, management, and sharing, transform, composition, and blending

Example applications are provided to demonstrate:

  • Video decode (dual decode support with NVDEC)

  • Video encode (dual encode support with NVENC)

  • Video decode and DRM based render

  • Video convert

  • Video decode with multi-channels

  • Multivideo decode (decoding of multiple video streams in parallel)

  • JPEG decode and JPEG encode

  • Image and video processing with NVIDIA® CUDA®

  • Camera JPEG capture and video record

  • Camera capture and CUDA processing

  • Multicamera capture with composition

  • Object detection and classification with cuDNN

  • NVIDIA® TensorRT and OpenCV usage

The Multimedia API provides another application development path for those not using a framework such as GStreamer, or for developers leveraging custom frameworks.

The multimedia API is described in the Jetson Linux API Reference, available for download from the Jetson Download Center.

Installing GStreamer

Download and install GStreamer directly on the target. The wrapper library, gst-openmax, is an interface between GStreamer and OpenMAX. It enables accelerated NVIDIA plug-ins to operate in the GStreamer framework.

For more information about GStreamer, see the GStreamer web site sponsored by freedesktop.org.

Multimedia Demo Applications

NvGstPlayer and NvGstCapture are applications that demonstrate and test GStreamer-based multimedia functionality. NvGstPlayer is a multimedia player. NvGstCapture is a multimedia capture application that generates image and video output files.

Before you run NvGstPlayer and NvGstCapture, complete the prerequisite steps and install GStreamer as directed in the README file included in the release.

About NvGstPlayer

NvGstPlayer is a media file player that runs from the command line. It plays audio and video files encapsulated in these formats:

  • MP4

  • 3GP

  • AVI

  • ASF

  • WMA

  • MKV

  • M2TS

  • WEBM

  • MOV

NvGstPlayer supports local file playback and playback over RSTP, HTTP, and UDP.

For more information about NvGstPlayer, see the README nvgstplayer-1.0_README.txt.

Note

The gst-omx plugin is deprecated as of NVIDIA® Jetson™ Linux release 32.1. Use the gst-v4l2 plugin for development instead.

About NvGstCapture

NvGstCapture is a command line camera capture application. NvGstCapture captures video data using a camera and encapsulates encoded video data in a container file.

NvGstCapture supports the ARGUS API using the nvarguscamerasrc plugin.

Note

Use of the legacy nvcamerasrc plugin with NvGstCapture is deprecated.

For more information about NvGstCapture, see the README nvgstcapture-1.0_README.txt.