# Sample applications

Source: [https://docs.qualcomm.com/doc/80-70023-50/topic/example-applications.html](https://docs.qualcomm.com/doc/80-70023-50/topic/example-applications.html)

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-70023-51/install-sdk.html) for your Qualcomm Linux 1.7 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.41 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 for 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-70023-52/qim-sdk-release-1-7.html).

Use the following sample applications to run different use cases related to retail, AI
            Edge Box, 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-70023-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<br>                                Real-Time Streaming Protocol (RTSP). | ✔ | ✔ | ✔ |
| Object<br>                                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<br>                                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<br>                                RTSP. | ✔ | ✔ | ✔ |
| Image<br>                                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<br>                                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<br>                                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<br>                                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<br>                                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<br>                                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<br>                                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<br>                                such as camera, file source, or RTSP. | ✔ | ✔ | ✔ |
| Multistream batch inference (Alpha<br>                                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<br>                                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<br>                                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<br>                                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<br>                                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,<br>                                file, or RTSP sources. Also, it provides the human count from the<br>                                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<br>                                network (RTSP) along with object detection and preview | ✔ | ✔ | ✔ |
| Image segmentation using Python with container (Alpha<br>                                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<br>                                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<br>                                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<br>                                (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<br>                                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<br>                                such as using a surveillance camera that needs snapshots created<br>                                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<br>                                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<br>                                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<br>                                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<br>                                for advanced imaging information in surveillance and drone<br>                                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<br>                                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<br>                                electronic image stabilization (EIS) camera imaging<br>                                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<br>                                    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<br>                                scenarios on using a video wall in retail spaces and digital<br>                                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<br>                                input. | ✔ | ✔ | ✔ |
| Multiformat<br>                                    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<br>                                AI box and videoconferencing system, which sends video inputs in<br>                                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<br>                                multimedia products that require audio and video. | ✔ | ✔ | ✔ |
| Video<br>                                    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<br>                                    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<br>                                    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<br>                                    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<br>                                offline file. | ✔ | ✔ | ✔ |
| Encode audio and video<br>                                    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<br>                                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<br>                                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: Mar 27, 2026

Previous Topic
 
Qualcomm IM SDK environment overview Next Topic

Run AI/ML sample applications