# 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).
**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)