> ## Documentation Index
> Fetch the complete documentation index at: https://imsdkdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Build native GStreamer applications on top of QIM SDK

## Welcome

The **QIM SDK App Builder** guides walk you through constructing your own GStreamer-based application on Qualcomm platforms — without needing deep GStreamer expertise.

IoT engineering teams span a wide spectrum of needs, so the App Builder SDKs meet developers where they are:

* **Python** — high-level interfaces for rapid prototyping and orchestration, ideal for partners and hobbyists.
* **C++** — high-performance environments for commercial product builders.

## Why These SDKs

* Allow developers to build Python-based applications with hardware acceleration across Camera, AI/NPU, Video (Encode/Decode), Audio, GPU, and Display IPs.
* Easy APIs with an extremely low learning curve.
* Easy AI model pipeline enablement, with custom pre- and post-processing.
* Hosting compiler-independent applications at AI Hub.
* Eliminate the learning curve involved with native SDKs.
* Quick prototyping to help ODMs/customers quantify SoC capabilities, including:
  * Single-model performance.
  * Single / daisy-chain / multi-stream pipeline performance — ISP camera (single/multi), video decode/encode capabilities, latencies, GPU%, CPU%, thermal readouts.

<Accordion title="Recent examples">
  - **Amazon Fleet 3.0**: 5 cameras, 13 AI streams, 2 network streams, 10 encode, overlays, WebRTC/RTSP.
  - **Geotab**: 2 cameras, two four-stage daisy-chain AI pipelines with 4 AI models running cascaded.
</Accordion>

* Help ODMs/partners in the SoC-selection process, reducing dependency on CE and Dev Engineering teams — BD/Marketing teams can share the public documentation and customers evaluate on their own.
* Help non-Edge-AI/app developers such as camera sensor tuners, AI model trainers, and data collectors.
* Meets ODM requests for Nvidia-equivalent SDKs to keep migration to Qualcomm easy, offering the same Pythonic SDK style they expect.

<img src="https://mintcdn.com/qimsdk/QarSxH4rrv0vwi-l/app-builder/images/introduction.png?fit=max&auto=format&n=QarSxH4rrv0vwi-l&q=85&s=56024522e12a2fdd1256690ace6a3820" alt="Introduction" width="934" height="609" data-path="app-builder/images/introduction.png" />

## What These SDKs Cover

The App Builder SDKs provide comprehensive building blocks to build a complete AI application, covering all possible facets:

* **Data capture** — ISP/USB camera, network camera (WebRTC/HLS/RTSP), file source, audio (mic/USB/RTSP).
* **Inference** — tensor in/out via TFLite/LiteRT, ONNXRT, QNN, SNPE.
* **Hardware-accelerated ML pre-processing** — GPU (GLES), CPU (Neo Kernels), EVA Kernels — covering a wide range of AI Hub models.
* **ML post-processing** — covering a wide range of AI Hub models.
* An easy mechanism for developers to write their own pre- and post-processing for AI model onboarding.
* **Hardware-accelerated overlays** — bounding boxes, masks, labels, privacy masks, arbitrary shapes/sizes — with full developer access to build their own.
* **Zero-copy throughout the pipeline** — multi-threaded, parallel workloads with optimal hardware acceleration utilization and no overhead.
* **Video decode/encode** — all formats supported by the SoC, including JPEG encode/decode and MJPEG.
* Wide range of muxers/parsers and file containers (200+) covering audio, video, and metadata streams.
* Wide range of software codecs (100+).
* Wide range of streaming stacks — WebRTC, RTSP, HLS, RTMP.
* **Multi-stream AI / daisy-chain** — nth-stage AI metadata cascading, JSON formatting, AI metadata streaming.
* **IoT message broker protocols** — MQTT, Kafka, and Redis.
* **Concurrent AI** — vision AI, audio AI, and sensor AI (time-series), with time synchronization.
* Support for running these SDKs in a Docker container, giving the same experience at both the platform and container level.
* Exception-based unified error handling.
* A rich set of sample applications and documentation (API documentation and blog-style content).

## Two Language Bindings

These guides cover the essential application-level concepts required to initialize GStreamer, construct and configure a pipeline programmatically, manage pipeline execution state, and handle runtime events — using QIM SDK plugins alongside standard GStreamer elements.

| Language | Guide |
| - | - |
| C/C++ | [C++ App Builder](/app-builder/cpp-app-builder) |
| Python | [Python App Builder](/app-builder/python-app-builder) |

Once you're comfortable with the core concepts, explore the **Sample Applications** section for ready-to-run C++ and Python applications demonstrating AI and multimedia use cases built on these same concepts.
