1. Camera
1.1 Single 1080p YUV stream from live source
Description Captures a live feed from a camera device (e.g., USB via V4L2 or MIPI camera via qticamsrc) and displays it on the screen using Wayland. Pipeline Diagram This Pipeline diagram for USB camera
Try me
Try me
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| qticamsrc | ISP camera source plugin for capturing raw video frames from MIPI camera. |
| v4l2src | V4L2-based video capture source for USB cameras. |
| videoconvert | Converts video between different color formats. |
| qtivtransform | Hardware-accelerated video transformation (format conversion, scaling). |
| waylandsink | Renders video frames to a Wayland display surface. |
In case of an Internal data stream error for USB camera, ensure that the USB camera device node or for RTSP camera RTSP stream location are correctly configured.
1.2 Three 1080p YUV streams from live source
Description Captures three 1080p streams from a single multi-stream capable camera source (qticamsrc) and displays them at different positions on the same screen.
Pipeline Diagram

Try me
Try me
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| qticamsrc | ISP camera source plugin supporting multiple simultaneous output streams. |
| qtivcomposer | Hardware video compositor that blends multiple input streams into one output. |
| waylandsink | Renders video frames to a Wayland display surface. |
2. Camera and Video Encode
2.1 One Stream — 1080p AVC Video Record
Description This pipeline captures a single 1080p live camera stream, encodes it to H.264 (AVC) using hardware acceleration, muxes it into an MP4 container, and saves it to the device filesystem. Pipeline Diagram
Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| qticamsrc | ISP camera source plugin for capturing raw video frames. |
| v4l2h264enc | Hardware-accelerated H.264 video encoder. |
| h264parse | Parses H.264 bitstream and adds framing metadata. |
| mp4mux | Muxes encoded streams into an MP4 container. |
| filesink | Writes pipeline data to a file on the filesystem. |
2.2 One Stream - 1080p AVC RTSP from live source
Description Captures 1080p video, encodes it to H.264, and streams it over RTSP usinggst-rtsp-server (via UDP sink).
Pipeline Diagram

Try me
Try me
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| qticamsrc | ISP camera source plugin for capturing raw video frames. |
| v4l2h264enc | Hardware-accelerated H.264 video encoder. |
| h264parse | Parses H.264 bitstream and adds framing metadata. |
| rtph264pay | Payloads H.264 video into RTP packets. |
| udpsink | Sends RTP packets over UDP for RTSP streaming. |
2.3 Two streams - 4K AVC and 480p AVC from live source
Description Simultaneously captures and records two streams: one 4K and one 480p, both encoded in H.264 and saved as MP4. Pipeline Diagram
Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| qticamsrc | ISP camera source supporting multiple simultaneous output streams. |
| v4l2h264enc | Hardware-accelerated H.264 video encoder. |
| h264parse | Parses H.264 bitstream and adds framing metadata. |
| mp4mux | Muxes encoded streams into an MP4 container. |
| filesink | Writes pipeline data to a file on the filesystem. |
2.4 Three 1080p AVC streams from live source
Description Records 1080p AVC (H.264), 1080p HEVC (H.265), and displays a live 1080p preview simultaneously. Pipeline Diagram
Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| qticamsrc | ISP camera source supporting multiple simultaneous output streams. |
| v4l2h264enc | Hardware-accelerated H.264 video encoder. |
| h264parse | Parses H.264 bitstream and adds framing metadata. |
| v4l2h265enc | Hardware-accelerated H.265/HEVC video encoder. |
| h265parse | Parses H.265 bitstream and adds framing metadata. |
| mp4mux | Muxes encoded streams into an MP4 container. |
| filesink | Writes pipeline data to a file on the filesystem. |
| waylandsink | Renders video frames to a Wayland display surface. |
2.5 Three stream - 4K JPEG Snapshot, 1080p AVC MP4, 1080p YUV from live source
Description Captures 4K JPEG snapshots, records 1080p video, and displays a preview simultaneously. Pipeline Diagram
Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| qticamsrc | ISP camera source supporting video, preview, and image output streams. |
| v4l2h264enc | Hardware-accelerated H.264 video encoder. |
| h264parse | Parses H.264 bitstream and adds framing metadata. |
| mp4mux | Muxes encoded streams into an MP4 container. |
| filesink | Writes pipeline data to a file on the filesystem. |
| multifilesink | Writes a sequence of JPEG snapshot files to disk. |
| waylandsink | Renders video frames to a Wayland display surface. |
3. Multi Camera/Multi client use cases
3.1 Two streams: Main camera: 4K AVC MP4, 1080p YUV Preview and Secondary Camera: 720p AVC, 720p YUV
Description Uses two camera sensors. Main camera provides 4K recording and 1080p preview. Secondary camera provides 720p recording and 720p preview. Pipeline Diagram
Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| qticamsrc | ISP camera source plugin; one instance per camera sensor. |
| v4l2h264enc | Hardware-accelerated H.264 video encoder. |
| h264parse | Parses H.264 bitstream and adds framing metadata. |
| mp4mux | Muxes encoded streams into an MP4 container. |
| filesink | Writes pipeline data to a file on the filesystem. |
| waylandsink | Renders video frames to a Wayland display surface. |
3.2 Two streams - both 720p - one from each camera with Side-By-Side stitching sent to display
Description Stitches two 720p streams (one from each camera) into a single side-by-side frame usingqtivcomposer. The result is recorded and streamed via RTSP.
Pipeline Diagram

Try me
Try me
export command
pipeline command
3.3 Two streams - both 720p - one from each camera with Picture in Picture composition and sent to display
Description Composes two streams (Picture-in-Picture) usingqtivcomposer. The result is recorded and streamed via RTSP.
Pipeline Diagram

Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| qticamsrc | ISP camera source plugin; one instance per camera sensor. |
| qtivcomposer | Hardware video compositor composing Picture-in-Picture layout. |
| v4l2h264enc | Hardware-accelerated H.264 video encoder. |
| h264parse | Parses H.264 bitstream and adds framing metadata. |
| mp4mux | Muxes encoded streams into an MP4 container. |
| filesink | Writes pipeline data to a file on the filesystem. |
| rtph264pay | Payloads H.264 video into RTP packets. |
| udpsink | Sends RTP packets over UDP for RTSP streaming. |
4. Transform and Transcode use-cases
4.1 Rotate, Flip, and Scale
Description Demonstrates hardware-accelerated transformations (Rotation, Flip, Downscale) usingqtivtransform.
Pipeline Diagram

Try me
Try me
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| qticamsrc | ISP camera source plugin for capturing raw video frames. |
| qtivtransform | Hardware-accelerated video transformation: rotation, flip, and scaling. |
| waylandsink | Renders video frames to a Wayland display surface. |
5. Video Playback use cases
5.1 Single stream video playback
Description The pipeline demonstrates playback of Video stream from a file of media container format like mp4. Pipeline Diagram
Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| filesrc | Reads a media file from the local filesystem. |
| qtdemux | Demultiplexes MP4/QuickTime container into audio and video streams. |
| h264parse | Parses H.264 bitstream and adds framing metadata. |
| v4l2h264dec | Hardware-accelerated H.264 video decoder. |
| waylandsink | Renders video frames to a Wayland display surface. |
5.2 Two 1080p streams video playback simultaneously
Description Plays two 1080p video files simultaneously to the screen. Pipeline Diagram
Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| filesrc | Reads a media file from the local filesystem. |
| qtdemux | Demultiplexes MP4/QuickTime container into audio and video streams. |
| h264parse | Parses H.264 bitstream and adds framing metadata. |
| v4l2h264dec | Hardware-accelerated H.264 video decoder. |
| waylandsink | Renders video frames to a Wayland display surface. |
5.3 8-Stream Grid Playback
Description Decodes 8 1080p video files simultaneously and composes them into a 4x2 grid on the display. Pipeline Diagram
Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| filesrc | Reads a media file from the local filesystem. |
| qtdemux | Demultiplexes MP4/QuickTime container into audio and video streams. |
| h264parse | Parses H.264 bitstream and adds framing metadata. |
| v4l2h264dec | Hardware-accelerated H.264 video decoder. |
| qtivcomposer | Hardware video compositor arranging decoded streams in a 4×2 grid. |
| waylandsink | Renders composed video frames to a Wayland display surface. |
5.4 16-Stream Grid Playback
Description Decodes 16 1080p video files simultaneously and composes them into a 4x4 grid on the display. Pipeline Diagram
Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| filesrc | Reads a media file from the local filesystem. |
| qtdemux | Demultiplexes MP4/QuickTime container into audio and video streams. |
| h264parse | Parses H.264 bitstream and adds framing metadata. |
| v4l2h264dec | Hardware-accelerated H.264 video decoder. |
| qtivcomposer | Hardware video compositor arranging decoded streams in a 4×4 grid. |
| waylandsink | Renders composed video frames to a Wayland display surface. |
16 hardware decode is supported only on IQ‑9075.
6. Audio use cases
Prerequisites for Audio Use Cases:Before running audio pipelines, ensure the correct audio source is configured:
6.1 PCM Audio Capture
Description Captures audio from the microphone via PulseAudio, converts it, encodes it to WAV, and saves it to a file. Pipeline Diagram
Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| pulsesrc | Captures audio from a PulseAudio input device (microphone). |
| audioconvert | Converts audio between different formats/rates. |
| wavenc | Encodes raw PCM audio into WAV format. |
| filesink | Writes pipeline data to a file on the filesystem. |
6.2 PCM Audio Playback
Description A basic audio playback pipeline that reads a WAV file and routes the PCM stream to the PulseAudio sink. Pipeline Diagram
Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| filesrc | Reads a WAV file from the local filesystem. |
| wavparse | Parses WAV container and extracts PCM audio stream. |
| audioconvert | Converts audio between different formats/rates. |
| pulsesink | Plays audio through a PulseAudio output device (speaker). |
6.3 MP3 Audio Playback (Software Decode)
Description Reads an MP3 file and decodes it usingmpg123audiodec to PulseAudio.
Pipeline Diagram

Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| filesrc | Reads an MP3 file from the local filesystem. |
| mpegaudioparse | Parses MPEG audio bitstream framing. |
| mpg123audiodec | Software MP3 audio decoder. |
| pulsesink | Plays audio through a PulseAudio output device (speaker). |
6.4 Record 1080p Video with Audio (AVC/MP3 Capture)
Description Captures 1080p video from the camera and audio from the microphone.- Video: Hardware encoded (H.264).
- Audio: Software encoded (MP3) using
lamemp3enc. - Muxing: Muxed into an MP4 container.

Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| qticamsrc | ISP camera source plugin for capturing raw 1080p video. |
| v4l2h264enc | Hardware-accelerated H.264 video encoder. |
| h264parse | Parses H.264 bitstream and adds framing metadata. |
| pulsesrc | Captures audio from a PulseAudio input device (microphone). |
| audioconvert | Converts audio between different formats/rates. |
| lamemp3enc | Software MP3 audio encoder. |
| aacparse | Parses AAC/MP3 audio bitstream for muxing. |
| mp4mux | Muxes video and audio streams into an MP4 container. |
| filesink | Writes the muxed AV file to the filesystem. |
6.5 1080p AVC/MP3 Video Playback
Description Reads an MP4 file and demuxes it into separate audio and video streams.- Video: H.264 decoded via hardware and rendered to display.
- Audio: MP3 decoded via software (
mpg123audiodec) and sent to speaker.

Try me
Try me
export command
pipeline command
Plugins used in Pipeline
Plugins used in Pipeline
| Plugin | Description |
|---|---|
| filesrc | Reads an MP4 file from the local filesystem. |
| qtdemux | Demultiplexes MP4 container into video and audio streams. |
| h264parse | Parses H.264 video bitstream. |
| v4l2h264dec | Hardware-accelerated H.264 video decoder. |
| waylandsink | Renders decoded video to a Wayland display surface. |
| mpegaudioparse | Parses MPEG audio bitstream framing. |
| mpg123audiodec | Software MP3 audio decoder. |
| pulsesink | Plays decoded audio through PulseAudio speaker output. |
