# Sample applications

The Qualcomm IM SDK includes sample applications that enable you to explore the AI/ML and multimedia features. Additionally, Python-based samples are available for common use cases. These applications function as a reference to run custom use cases on Qualcomm Linux and Ubuntu Server.

Important

- Ensure that the host computer uses Ubuntu 22.04.
- [Get started with the Qualcomm IM SDK](https://docs.qualcomm.com/bundle/publicresource/topics/80-70029-51/install-sdk.html) for your Qualcomm Linux 1.8 or Ubuntu Server.
- This document includes commands that you must invoke either on the Linux host computer or on the Qualcomm Dragonwing^™^ Development Kits (also referred to as the target device):

    - **In the terminal of the target device**: Refers to the commands that you must run inside the target device
    - **In the terminal of the host computer**: Refers to the commands that you must run on the Linux host computer
- The sample applications and AI procedures in this guide are compatible with Qualcomm AI^®^ Runtime SDK v2.43 and LiteRT (or TFLite) v2.16.1. Ensure that you download the matching SDKs to your host computer before starting AI/ML development.

Note

- This guide isn’t applicable to Qualcomm Dragonwing^TM^ IQ-615.
- For information about new features, sample applications, resolved issues, and limitations, see [Qualcomm Intelligent Multimedia (IM SDK) Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/80-70029-52/qim-sdk-release-1-8.html).

Use the following sample applications to run different use cases related to retail, Qualcomm^®^ Edge AI Box Solutions, IP camera, drones, and robotics.

- AI/ML applications focus on the AI and ML capabilities.
- Multimedia applications use the camera, video, and audio features.
- Python-based applications use Python to run the AI/ML and multimedia use cases. For more information, see Run Python-based applications.

To run the AI/ML and multimedia sample applications using a GUI-based application without any host setup, see [Run sample applications using Qdemo](https://docs.qualcomm.com/bundle/publicresource/topics/80-70029-253/run-sample-apps-qdemo.html#run-sample-applications-using-qdemo).

## AI/ML sample applications

| Application | CodeLinaro Git - source path | Description | QCS6490 | Qualcomm Dragonwing^™^ IQ-8275 | Qualcomm Dragonwing^™^ IQ-9075 |
| --- | --- | --- | --- | --- | --- |
| Image classification | [gst-ai-classification](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-classification?ref_type=heads) | Classification on streams from a camera, file source, or Real-Time Streaming Protocol (RTSP). | ✔ | ✔ | ✔ |
| Object detection | [gst-ai-object-detection](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-object-detection?ref_type=heads) | Object detection on streams from a camera, file source, or RTSP. | ✔ | ✔ | ✔ |
| Pose detection | [gst-ai-pose-detection](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r1-rel/gst-sample-apps/gst-ai-pose-detection?ref_type=heads) | Pose detection on streams from a camera, file source, or RTSP. | ✔ | ✔ | ✔ |
| Image segmentation | [gst-ai-segmentation](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-segmentation?ref_type=heads) | Image segmentation on streams from a camera, file source, or RTSP. | ✔ | ✔ | ✔ |
| Parallel inferencing | [gst-ai-parallel-inference](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-parallel-inference?ref_type=heads) | Many AI/ML models run in parallel on streams from a camera, file source, or RTSP. | ✔ | ✔ | ✔ |
| Multi input/output object detection | [gst-ai-multi-input-output-object-detection](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-multi-input-output-object-detection?ref_type=heads) | Use cases for Edge AI boxes, which provide inputs through sources such as camera, file source, or RTSP. | ✔ | ✔ | ✔ |
| Daisy chain detection and classification | [gst-ai-daisychain-detection-classification](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-daisychain-detection-classification?ref_type=heads) | Cascaded object detection and classification on images streamed from sources such as camera, file source, or RTSP. | ✔ | ✔ | ✔ |
| Daisy chain detection and pose estimation | [gst-ai-daisychain-detection-pose](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-daisychain-detection-pose?ref_type=heads) | Cascaded object detection and pose detection from sources such as camera, file source, or RTSP. | ✔ | ✔ | ✔ |
| Monodepth from video | [gst-ai-monodepth](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-monodepth?ref_type=heads) | Monodepth on images streamed from a camera, file source, or RTSP. | ✔ | ✔ | ✔ |
| Video super-resolution | [gst-ai-superresolution](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-superresolution?ref_type=heads) | High resolution video frames from low-resolution input. | ✔ | ✔ | ✔ |
| Multistream inference | [gst-ai-multistream-inference](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-multistream-inference?ref_type=heads) | AI inference (object detection and classification) from sources such as camera, file source, or RTSP. | ✔ | ✔ | ✔ |
| Multistream batch inference (Alpha release) | [gst-ai-multistream-batch-inference](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-multistream-batch-inference?ref_type=heads) | Batched AI inference (object detection and segmentation) from file source. | ✔ | ✔ | ✔ |
| AI smart codec | [gst-ai-smartcodec-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-smartcodec-example?ref_type=heads) | Reduce the network bandwidth or storage for input feed from camera or file source. | ✔ | ✔ | ✔ |
| Face detection | [gst-ai-face-detection](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-face-detection?ref_type=heads) | Takes inputs from a camera, file, or an RTSP stream and uses the Qualcomm^®^ AI Hub detection model to produce a preview. | ✔ | ✔ | ✔ |
| Face recognition | [gst-ai-face-recognition](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-face-recognition?ref_type=heads) | Takes inputs from a camera or an RTSP stream for face recognition. | ✔ | ✔ | ✔ |
| Audio classification | [gst-ai-audio-classification](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-audio-classification?ref_type=heads) | Classification on streams from audio source. | ✔ | ✔ | ✔ |
| Metadata parsing | [gst-ai-metadata-parser-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-metadata-parser-example?ref_type=heads) | Parses metadata using appsink plugin on streams from camera, file, or RTSP sources. Also, it provides the human count from the stream. | ✔ | ✔ | ✔ |
| AI USB camera | [gst-ai-usb-camera-app](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-usb-camera-app?ref_type=heads) | USB single camera streaming for preview, video encoder, or network (RTSP) along with object detection and preview | ✔ | ✔ | ✔ |
| Image segmentation using Python with container (Alpha release) | [snpe_segmentation_app.py](https://git.codelinaro.org/clo/le/sdk-tools/-/blob/imsdk-tools.lnx.1.0/snpe-container-python/src/python/snpe/test_snpe/snpe_segmentation_app.py?ref_type=heads) | Segmentation using python bindings from a Docker. | ✔ | ✔ | ✔ |
| Hardware benchmarking application | [QCS6490-Vision-AI-Demo](https://github.com/Avnet/QCS6490-Vision-AI-Demo/tree/QLI-1.5-and-1080p-support) | A GUI application to monitor hardware utilization with sample applications | ✔ | ✔ | ✔ |
| AI event encoder | [gst-ai-event-encoder](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-event-encoder?ref_type=heads) | Identifies humans in live video stream and encodes the stream to a MP4 file. | ✔ | ✔ | ✔ |

## Multimedia sample applications

| Application | CodeLinaro Git–source path | Description | QCS6490 | Dragonwing IQ-8275 | Dragonwing IQ-9075 |
| --- | --- | --- | --- | --- | --- |
| **Camera applications** |
| Single camera streaming | [gst-camera-single-stream-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-camera-single-stream-example?ref_type=heads) | Single camera streaming to preview, video encoder, or network (RTSP). | ✔ | ✔ | ✔ |
| Multi-camera streaming | [gst-multi-camera-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-multi-camera-example?ref_type=heads) | Concurrent streaming from two cameras. Use cases such as stereo and dash camera. | ✔ | ✔ | ✔ |
| Multistream | [gst-multi-stream-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-multi-stream-example?ref_type=heads) | Single camera data duplicated into two streams using [tee](https://gstreamer.freedesktop.org/documentation/coreelements/tee.html). | ✔ | ✔ | ✔ |
| Live snapshot | [gst-snapshot-stream-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-snapshot-stream-example?ref_type=heads) | Snapshot generation along with active video recording. Use cases such as using a surveillance camera that needs snapshots created based on events (such as intruder alerts). | ✔ | ✖ | ✖ |
| RTMP camera streaming | gst-rtmp-stream-example | Camera feed from ISP and RTSP sources is converted to RTMP stream. Used in security systems and media broadcasting. | ✔ | ✔ | ✔ |
| Activate-deactivate streams at runtime | [gst-activate-deactivate-streams-runtime-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-activate-deactivate-streams-runtime?ref_type=heads) | Camera resolution modifications on-the-fly without sensor restart. | ✔ | ✔ | ✔ |
| Add-remove streams at runtime | [gst-add-remove-streams-runtime](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-add-remove-streams-runtime) | Addition and removal of many streams dynamically. | ✔ | ✔ | ✔ |
| Camera frame processing | [gst-appsink-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-appsink-example?ref_type=heads) | Application of transformations and other algorithms to a camera frame before encoding. | ✔ | ✔ | ✔ |
| Camera metadata | [gst-camera-metadata-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-camera-metadata-example?ref_type=heads) | Metadata such as scene mode, white balance, and bit rate. Used for advanced imaging information in surveillance and drone cameras. | ✔ | ✔ | ✔ |
| Camera stream configuration | [gst-add-streams-as-bundle-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-add-streams-as-bundle-example?ref_type=heads) | Configuration of camera streams as a bundle, thus saving on time. | ✔ | ✔ | ✔ |
| Camera burst capture | [gst-camera-burst-capture-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-camera-burst-capture-example?ref_type=heads) | Snapshot capture in Burst mode. | ✔ | ✖ | ✖ |
| Camera switch | [gst-camera-switch-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-camera-switch-example?ref_type=heads) | Switch between two cameras. | ✔ | ✔ | ✔ |
| Wide dynamic range and electronic image stabilization | [gst-camera-shdr-ldc-eis-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-camera-shdr-ldc-eis-example?ref_type=heads) | Super high dynamic range (sHDR), Low Dynamic Range (LDR), and electronic image stabilization (EIS) camera imaging techniques. | ✔ | ✖ | ✖ |
| Decode JPEG images | [gst-jpg-decode-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-jpg-decode-example?ref_type=heads) | Decode the JPEG images and preview them on a screen. | ✔ | ✔ | ✔ |
| **Video applications** |
| Video Wall | [gst-concurrent-videoplay-composition](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-concurrent-videoplay-composition?ref_type=heads) | Play back the videos composed on a device. The use cases provide scenarios on using a video wall in retail spaces and digital signage. | ✔ | ✔ | ✔ |
| Smart codec | [gst-smartcodec-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-smartcodec-example?ref_type=heads) | Reduce the network bandwidth or storage for a camera input. | ✔ | ✔ | ✔ |
| Multiformat encode/decode | [gst-videocodec-concurrent-playback](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-videocodec-concurrent-playback?ref_type=heads) | Decoding and playback of many formats concurrently. Use cases for AI box and videoconferencing system, which sends video inputs in different formats. | ✔ | ✔ | ✔ |
| Audio-video playback | [gst-audio-video-playback](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r1-rel/gst-sample-apps/gst-audio-video-playback?ref_type=heads) | Audio and video playback capabilities. Build of different multimedia products that require audio and video. | ✔ | ✔ | ✔ |
| Video transcoding | [gst-video-transcode-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-video-transcode-example?ref_type=heads) | Video transcoding of AVC-to-HEVC or HEVC-to-AVC format. | ✔ | ✔ | ✔ |
| Video playback | [gst-video-playback-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r1-rel/gst-sample-apps/gst-video-playback-example?ref_type=heads) | Decoding and playback of a video file. | ✔ | ✔ | ✔ |
| Record and preview transformed video stream | [gst-transform-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-transform-example?ref_type=heads) | Transform a video stream (rotate, flip, and scale). | ✔ | ✔ | ✔ |
| Video composition using Weston | [gst-weston-composition-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-weston-composition-example?ref_type=heads) | Composition of various sources like a live camera input and an offline file. | ✔ | ✔ | ✔ |
| Encode audio and video streams | [gst-audio-video-encode](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-audio-video-encode?ref_type=heads) | Encoding of audio and video data, which is then stored into a user-specified output file. | ✔ | ✔ | ✔ |
| **Audio applications** |
| Audio playback | [gst-audio-decode-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-audio-decode-example?ref_type=heads) | Playback of an audio file. | ✔ | ✔ | ✔ |
| Audio recording | [gst-audio-encode-example](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-audio-encode-example?ref_type=heads) | Records and encodes captured audio in FLAC or WAV formats. | ✔ | ✔ | ✔ |

- Run AI/ML sample applications
Use Qualcomm AI/ML features with Qualcomm AI Runtime SDK (Qualcomm Neural Processing SDK and Qualcomm^®^ AI Engine direct), and LiteRT (formerly TFLite) models.
- Run multimedia sample applications
The multimedia sample applications provide custom use cases that realize the camera, video, audio, graphics, and display capabilities of Qualcomm Linux.
- Run Python-based applications
Qualcomm Linux integrates support for Python through the [gstreamer1.0-python](https://git.codelinaro.org/clo/le/meta-qti-gst/-/blob/imsdk.lnx.2.0.0.r2-rel/recipes-gst/packagegroups/packagegroup-qcom-gst.bb?ref_type=heads#L45) package. Qualcomm IM SDK supports Python bindings that allow you to create GStreamer-based applications using Python. The Python bindings for all the GST plugins are enabled through the `gst-python` utility.

Last Published: Apr 02, 2026

Previous Topic
 
Qualcomm IM SDK environment overview Next Topic

Run AI/ML sample applications