# Object detection and encode with TFLite

Source: [https://docs.qualcomm.com/doc/80-70015-50/topic/single-camera-stream-with-object-detection-and-encode.html](https://docs.qualcomm.com/doc/80-70015-50/topic/single-camera-stream-with-object-detection-and-encode.html)

The use cases use a YOLOv5 TFLite model to identify the object in a scene and either
        overlay or compose the bounding boxes over the detected objects, and then encode this stream
        as a H.264 bitstream.

## Variant 1: Use qtioverlay plugin to apply bounding box overlay

Run the use case:

    setprop persist.overlay.use_c2d_blit 2Copy to clipboard

    gst-launch-1.0 -e qtiqmmfsrc name=camsrc ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=30/1,compression=ubwc ! queue ! tee name=split split. ! queue ! qtimetamux name=metamux ! queue ! qtioverlay ! queue ! v4l2h264enc capture-io-mode=5 output-io-mode=5 ! h264parse ! queue ! mp4mux ! queue ! filesink location=/opt/video.mp4 split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/opt/yolov5.tflite ! queue ! qtimlvdetection threshold=75.0 results=10 module=yolov5 labels=/opt/yolov5.labels constants="YoloV5,q-offsets=<3.0>,q-scales=<0.005047998391091824>;" ! text/x-raw ! queue ! metamux.Copy to clipboard

To stop the use case, press CTRL + C.

Figure : Pipeline for bounding box overlay and encode
                
                ![](data:image/png;base64,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)

The figure shows the flow of the use case execution:

1. Identify the object scenes from a video stream, which is coming through a camera
                    source.
2. Overlay bounding boxes over the detected objects using overlaylib.
3. Encode the stream as a H.264 bitstream.
4. Multiplex the stream in an MP4 container and stored as an MP4 file.

The table provides the sequential processing stages of the pipeline execution:

| Process | Description |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70015-50/topic/qtiqmmfsrc.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-encode__ol_l2f_zgm_vbc"><br>                                    <li class="li">Collects the video stream (source) and creates two copies of<br>                                        the source:<ul class="ul" id="single-camera-stream-with-object-detection-and-encode__ol_m2f_zgm_vbc"><br>                                            <li class="li">One stream is sent to qtimetamux plugin to retain<br>                                                the video stream.</li><br><br>                                            <li class="li">The other stream is sent to an ML inferencing<br>                                                pipeline.</li><br><br>                                        </ul><br></li><br><br>                                </ol> |
| **Preprocessing** | **Preprocessing** |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimlvconverter.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-encode__ol_xsf_q5l_vbc"><br>                                    <li class="li">Receives the video stream on its sink pad.</li><br><br>                                    <li class="li">Performs preprocessing:<ul class="ul" id="single-camera-stream-with-object-detection-and-encode__ul_ff2_twl_vbc"><br>                                            <li class="li">Color conversion</li><br><br>                                            <li class="li">Scaling down/up</li><br><br>                                            <li class="li">Normalization on the stream data when the model<br>                                                expects the floating point values as an input</li><br><br>                                        </ul><br></li><br><br>                                    <li class="li">Converts the video stream to a tensor stream on its source<br>                                            pad.<p class="p">The object detection model uses this tensor<br>                                            stream for inferencing.</p><br></li><br><br>                                </ol> |
| **Inferencing** | **Inferencing** |
| [qtimltflite](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimltflite.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-encode__ol_ufn_2lm_vbc"><br>                                    <li class="li">Loads the object detection model.</li><br><br>                                    <li class="li">Modifies the graph for the chosen delegate.</li><br><br>                                    <li class="li">Receives the tensor stream on its sinkpad.</li><br><br>                                    <li class="li">Runs the inference and produces a tensor stream with the<br>                                        object detection results on its source pad.</li><br><br>                                </ol> |
| **Postprocessing** | **Postprocessing** |
| [qtimlvdetection](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimlvdetection.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-encode__ol_ky5_grn_vbc"><br>                                    <li class="li"> Receives the inference tensors from the object detection<br>                                        model. </li><br><br>                                    <li class="li">Converts the inference tensors on its sinkpad into formats<br>                                        like video or text that the multimedia plugins can process<br>                                        later.</li><br><br>                                    <li class="li">Applies the threshold to the chosen number of results. </li><br><br>                                    <li class="li">Loads the corresponding modules for detection models. <p class="p">In<br>                                            this use case, qtimlvdetection does the following:<br>                                            </p><ol class="ol" type="a" id="single-camera-stream-with-object-detection-and-encode__ol_jcd_wnk_5bc"><br>                                            <li class="li">Loads the YOLOv5 submodule. </li><br><br>                                            <li class="li">Produces results as structures of text.</li><br><br>                                            <li class="li">Sends them to the sinkpad of qtimetamux.</li><br><br>                                        </ol><br></li><br><br>                                </ol> |
| [qtimetamux](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimetamux.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-encode__ol_ll3_x5l_vbc"><br>                                    <li class="li">Receives video stream and text stream with bounding box<br>                                        results corresponding to the video stream on its<br>                                        sinkpads.</li><br><br>                                    <li class="li">Produces GST buffers with contents of the video stream from<br>                                        its sink pad.</li><br><br>                                    <li class="li">Adds bounding boxes as GstVideoRegionOfInterest from data<br>                                        sinkpad to GST buffers meta (meta muxing) on its source<br>                                        pad.</li><br><br>                                </ol> |
| [qtioverlay](https://docs.qualcomm.com/doc/80-70015-50/topic/qtioverlay.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-encode__ol_wst_y5l_vbc"><br>                                    <li class="li">Receives the multiplexed stream.</li><br><br>                                    <li class="li">Overlays the bounding boxes on the VideoFrame using CL. </li><br><br>                                    <li class="li">Produces GST buffers with overlays in its source pad.</li><br><br>                                </ol> |
| [v4l2h264enc](https://docs.qualcomm.com/doc/80-70015-50/topic/v4l2h264enc.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-encode__ol_wsc_bsn_vbc"><br>                                    <li class="li">Applies parameters to each frame of the video stream it is<br>                                        receiving on its sinkpad.</li><br><br>                                    <li class="li">Encodes it into bitstream and sends it over its<br>                                        sourcepad.</li><br><br>                                </ol> |
| h264parse | Adds additional information corresponding to the bitstream to<br>                                GStreamer buffer meta. |
| mp4mux | Receives these buffers and creates containers with format<br>                                specification buffers. |
| **Output** | **Output** |
| Filesink | Stores the resulting stream in a<br>                                    /opt/video.mp4 file. |
| Playback | Pull video.mp4 from the host machine and<br>                                play it on a media player:<br>`scp root@<IP address of<br>                                        target device>:/opt/ <destination<br>                                directory>` |

## Variant 2: Use qtivcomposer to mix original frame with bounding box mask

Run the use case:

    gst-launch-1.0 -e \
    qtiqmmfsrc name=camsrc ! video/x-raw\(memory:GBM\),format=NV12,width=1280,height=720,framerate=30/1,compression=ubwc ! queue ! tee name=split \
    split. ! queue ! qtivcomposer name=mixer ! queue ! video/x-raw\(memory:GBM\),format=NV12,width=1920,height=1080,interlace-mode=progressive,colorimetry=bt601 ! v4l2h264enc capture-io-mode=5 output-io-mode=5 ! h264parse ! queue ! mp4mux ! queue ! filesink location=/opt/video.mp4 \
    split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp;" model=/opt/yolov5.tflite ! queue ! qtimlvdetection threshold=75.0 results=10 module=yolov5 labels=/opt/yolov5.labels constants="YoloV5,q-offsets=<3.0>,q-scales=<0.005047998391091824>;" ! video/x-raw,format=BGRA,width=640,height=360 ! queue ! mixer.Copy to clipboard

To
                stop the use case, press CTRL + C.

Figure : Pipeline for bounding box mask and encode with qtivcomposer
                
                ![](data:image/png;base64,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)

The figure shows the flow of the use case execution:

1. Identify object scenes from a video stream, which is coming through a camera
                    source.
2. Using qtivcomposer, compose bounding boxes over the objects detected and the
                    original video stream.
3. Encode this stream as a nH.264 bitstream.
4. Multiplex the stream in an MP4 container and stored as an MP4 file.

The table provides the sequential processing stages of the pipeline execution:

| Process | Description |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70015-50/topic/qtiqmmfsrc.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-encode__ol_wqx_ntn_vbc"><br>                                    <li class="li">Collects the video stream (source) and creates two copies of<br>                                        the source:<ul class="ul" id="single-camera-stream-with-object-detection-and-encode__ol_xqx_ntn_vbc"><br>                                            <li class="li">One stream is sent to qtimetamux plugin to retain<br>                                                the video stream.</li><br><br>                                            <li class="li">The other stream is sent to an ML inferencing<br>                                                pipeline.</li><br><br>                                        </ul><br></li><br><br>                                </ol> |
| **Preprocessing** | **Preprocessing** |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimlvconverter.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-encode__ol_yqx_ntn_vbc"><br>                                    <li class="li">Receives the video stream on its sink pad.</li><br><br>                                    <li class="li">Performs preprocessing:<ul class="ul" id="single-camera-stream-with-object-detection-and-encode__ul_zqx_ntn_vbc"><br>                                            <li class="li">Color conversion</li><br><br>                                            <li class="li">Scaling down/up</li><br><br>                                            <li class="li">Normalization on the stream data when the model<br>                                                expects the floating point values as input</li><br><br>                                        </ul><br></li><br><br>                                    <li class="li">Converts the video stream to a tensor stream on its source<br>                                            pad.<p class="p">The object detection model uses this tensor<br>                                            stream for inferencing.</p><br></li><br><br>                                </ol> |
| **Inferencing** | **Inferencing** |
| [qtimltflite](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimltflite.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-encode__ol_arx_ntn_vbc"><br>                                    <li class="li">Loads the object detection model.</li><br><br>                                    <li class="li">Modifies the graph for the chosen delegate.</li><br><br>                                    <li class="li">Receives the tensor stream on its sinkpad.</li><br><br>                                    <li class="li">Runs the inference and produces a tensor stream with the<br>                                        object detection results on its source pad.</li><br><br>                                </ol> |
| **Postprocessing** | **Postprocessing** |
| [qtimlvdetection](https://docs.qualcomm.com/doc/80-70015-50/topic/qtimlvdetection.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-encode__ol_brx_ntn_vbc"><br>                                    <li class="li"> Receives the inference tensors from the object detection<br>                                        model. </li><br><br>                                    <li class="li">Converts the inference tensors on its sinkpad into formats<br>                                        like video or text that the multimedia plugins can process<br>                                        later.</li><br><br>                                    <li class="li">Applies the threshold to the chosen number of results. </li><br><br>                                    <li class="li">Loads the corresponding modules for detection models. <p class="p">In<br>                                            this use case, qtimlvdetection does the following:<br>                                            </p><ol class="ol" type="a" id="single-camera-stream-with-object-detection-and-encode__ol_crx_ntn_vbc"><br>                                            <li class="li">Loads the YOLOv5 submodule. </li><br><br>                                            <li class="li">Produces video frames with only bounding boxes that<br>                                                can be overlaid on objects.</li><br><br>                                            <li class="li">Sends them to the sinkpad of qtivcomposer.</li><br><br>                                        </ol><br></li><br><br>                                </ol> |
| [qtivcomposer](https://docs.qualcomm.com/doc/80-70015-50/topic/qtivcomposer.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-encode__ol_wgh_rtn_vbc"><br>                                    <li class="li">Receives the original video stream and video stream with<br>                                        bounding boxes on its sinkpads</li><br><br>                                    <li class="li">On its sourcepads, produces content that is composed of<br>                                        video streams processed from its sinkpads.</li><br><br>                                </ol> |
| [v4l2h264enc](https://docs.qualcomm.com/doc/80-70015-50/topic/v4l2h264enc.html) | <ol class="ol" id="single-camera-stream-with-object-detection-and-encode__ol_frx_ntn_vbc"><br>                                    <li class="li">Applies parameters to each frame of the video stream it is<br>                                        receiving on its sinkpad.</li><br><br>                                    <li class="li">Encodes it into bitstream and sends it over its<br>                                        sourcepad.</li><br><br>                                </ol> |
| h264parse | Adds additional information corresponding to the bitstream to<br>                                GStreamer buffer meta. |
| mp4mux | Receives these buffers and creates containers with format<br>                                specification buffers. |
| **Output** | **Output** |
| Filesink | Stores the resulting stream in a<br>                                    /opt/video.mp4 file. |
| Playback | Pull video.mp4 from the host machine and<br>                                play it on a media player:<br>`scp root@<IP address of<br>                                        target device>:/opt/ <destination<br>                                directory>` |

**Parent Topic:** [TensorFlow Lite use cases](https://docs.qualcomm.com/doc/80-70015-50/topic/tensorflow-lite-use-cases.html)

Last Published: Oct 27, 2025

[Previous Topic
Object detection and display with TFLite](https://docs.qualcomm.com/bundle/publicresource/80-70015-50/topics/single-camera-stream-with-object-detection-and-display.md) [Next Topic
Image segmentation and display with TFLite](https://docs.qualcomm.com/bundle/publicresource/80-70015-50/topics/single-camera-stream-with-image-segmentation-and-display.md)