# Smart codec The **gst-smartcodec-example** application reduces bandwidth and storage resources based on scene change estimate thresholds. The smart codec plugin, [qtismartvencbin](https://docs.qualcomm.com/doc/80-80021-50/topic/qtismartvencbin.html), uses smart fps, smart I-frame, smart bit rate, and smart ROI to do the following: - Decrease the bit rate without compromising the quality. - Enable efficient use of network and storage resources. The following figure shows the pipeline flow for a two-stream use case. For more information, see [Pipeline flow](https://docs.qualcomm.com/doc/80-80021-50/topic/smart-codec.html#section-rcj-tl2-ncc). qtiqmmfsrc capsfilter Sink(qtismartvencabin) v4l2h264enc h264parse mp4mux filesink capsfilter Sink(qtismartvencabin) Qualcomm Open source **Figure : gst-smartcodec-example pipeline for two streams** ## Run the application 1. Ensure that you complete the [Prerequisites](https://docs.qualcomm.com/doc/80-80021-50/topic/mm_sample_apps_prerequisites.html). 2. To access the target device from your host computer, set up SSH. For instructions, see [Sign in using SSH](https://docs.qualcomm.com/bundle/publicresource/topics/80-80021-254/how_to.html#use-ssh). 3. In the terminal of the host computer, enter the SSH shell to: - Run the use cases: ssh root@ Copy to clipboard - Push the files from host computer: scp root@:/etc/media/ Copy to clipboard 4. In the terminal of the target device, run the use case with a camera source: gst-smartcodec-example -w 1920 -h 1080 -o video.mp4 Copy to clipboard 5. To stop the use case, use **CTRL + C**. 6. In the terminal of the target device, run the following command in the SSH shell to display the available help options: gst-smartcodec-example --help Copy to clipboard ## Expected output The application generates the output as an encoded MP4 file. The following table lists the file sizes of a 1080p video with and without smart codec. Table:Smart codec–file sizes | Smart codec | File size | | --- | --- | | Enabled | 3718 KB | | Disabled | 17706 KB | ## Pipeline flow The following table lists the plugins used in the smart codec pipeline: | **Plugin** | **Description** | | --- | --- | | [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-80021-50/topic/qtiqmmfsrc.html) |

  1. Captures the video stream.


  2. Feeds the stream to capsfilter.


| | Capsfilter | Branches the source into two separate pipelines. In one pipeline, [qtismartvencbin](https://docs.qualcomm.com/doc/80-80021-50/topic/qtismartvencbin.html) processes the output. | | Capsfilter | In the other pipeline, the video undergoes the following:1. Encoded using [v4l2h264enc](https://docs.qualcomm.com/doc/80-80021-50/topic/v4l2h264enc.html). 2. Parsed with h264parse. 3. Multiplexed into an MP4 format with mp4mux. 4. Written to a file using filesink. | | | | The following table lists the plugins used in the smart codec pipeline: ## Related information [AI smart codec](https://docs.qualcomm.com/doc/80-80021-50/topic/ai-smart-codec.html) Last Published: Mar 26, 2026 [Previous Topic Video wall](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/gst-concurrent-videoplay-composition.md) [Next Topic Multi format decode](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/gst-videocodec-concurrent-playback.md) Source: [https://docs.qualcomm.com/doc/80-80021-50/topic/smart-codec.html](https://docs.qualcomm.com/doc/80-80021-50/topic/smart-codec.html)