# RTMP camera streaming The **gst-rtmp-stream-example** application uses the input from ISP or RTSP camera source to generate RTMP streams on a Waylandsink. You can use this application as a reference to develop and configure new applications. This application is primarily targeted for security systems and media broadcasting, where a video from RTSP source or camera source streams across a network. You can either view the stream or archive it for future review. The following figure shows the pipeline involved in RTMP streaming with different sources. For more information about the elements used in this pipeline, see [Pipeline flow](https://docs.qualcomm.com/doc/80-80021-50/topic/gst-rtmp-stream-example.html#section-jtb-hvv-ngc). Qualcomm Open source qtiqmmfsrc capsfilter v4l2h264enc h264parse flvmux rtspsrc rtph264 depay h264parse flvmux rtmp2sink rtmp2sink waylandsink **Figure : gst-rtmp-stream-example pipeline** ## 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. In the terminal of the target device, download and run the RTMP server: docker pull tiangolo/nginx-rtmp docker run -d -p 1935:1935 --name nginx-rtmp tiangolo/nginx-rtmp Copy to clipboard 3. In the terminal of the target device, select any of the following use cases and run the respective command: - **RTSP camera AVC to RTMP use case:** gst-rtmp-stream-example -u 0 -d rtmp://<192.168.1.171/>live/01 -r Copy to clipboard - **ISP camera to RTMP use case:** gst-rtmi-camera-stream-example -u 1 -d rtmp://192.168.1.171/live/01 Copy to clipboard 4. In the terminal of the target device, run the following command to connect VLC to the stream: rtmp://192.168.1.171/live/01 Copy to clipboard In this command, replace `rtmp://192.168.1.171/live/01` with the IP address of your device. 5. In the terminal of the target device, run the following commands to stop the RTMP server: docker stop nginx-rtmp docker rm nginx-rtmp Copy to clipboard 6. To stop the use case, use **CTRL + C**. 7. In the terminal of the target device, run the following command in the SSH shell to display the available help options: gst-rtmp-stream-example --help Copy to clipboard ## Expected output The output is displayed on a Waylandsink. ## Pipeline flow The following table lists the plugins used in the RTMP stream pipeline: | Plugin | Description | | --- | --- | | [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-80021-50/topic/qtiqmmfsrc.html) | Captures the camera feed and sends it into the capsfilter. | | Capsfilter | Passes the feed to [Waylandsink](https://docs.qualcomm.com/doc/80-80021-50/topic/waylandsink.html) for display. | | Capsfilter | If display option isn’t provided, passes the feed to appsink. | | [v4l2h264enc](https://docs.qualcomm.com/doc/80-80021-50/topic/v4l2h264enc.html) | Encodes the video for AVC (H.264) format. | | h264parse | Parses the H.264 video. | | flvmux | Wraps the video into an FLV container | | rtmp2sink | Transmits to an RTMP server for live streaming. | | | | Last Published: Mar 26, 2026 [Previous Topic Live snapshot](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/gst-snapshot-stream-example.md) [Next Topic Dynamic configuration](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/dynamic-configuration.md) Source: [https://docs.qualcomm.com/doc/80-80021-50/topic/gst-rtmp-stream-example.html](https://docs.qualcomm.com/doc/80-80021-50/topic/gst-rtmp-stream-example.html)