# Video playback
The **gst-video-playback-example** application allows you to decode and playback a video file. The standard playback options such as play, pause, resume, and fast forward are supported.
The following figure shows the pipeline workflow of the video playback GStreamer application. The file is read, demultiplexed, parsed, decoded, and displayed on a screen. For more information about the plugins, see [Pipeline flow](https://docs.qualcomm.com/doc/80-80021-50/topic/gst-video-playback-example.html#section-op1-zwh-4bc).
To use this application effectively, you should be aware of the GStreamer pipeline construction.
## 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. Input the `AVC.mp4 (H.264)` and `HEVC.mp4 (H.265)` video files on the target device.
3. In the terminal of the target device, play back the video file:
gst-video-playback-example -e filesrc location=.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! waylandsink enable-last-sample=false fullscreen=true
Copy to clipboard
| Command-line parameter | Description |
| --- | --- |
| `` | Specifies the MP4 input file to playback. |
| `` | Specifies the video parser. - `h264parse` for H.264. - `h265parse` for H.265. |
| `h264parse` | Specifies the video decoder.- `v4l2h264dec` for H.264. - `v4l2h265dec` for H.265. |
For example, run the following commands for different video playback use cases:
- **Playback AVC (H.264) video:**
gst-video-playback-example -e filesrc location=.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! waylandsink enable-last-sample=false fullscreen=true
Copy to clipboard
- **Playback HEVC (H.265) video:**
gst-video-playback-example -e filesrc location=.mp4 ! qtdemux ! queue ! h265parse ! v4l2h265dec capture-io-mode=4 output-io-mode=4 ! waylandsink enable-last-sample=false fullscreen=true
Copy to clipboard
4. To stop the use case, use **CTRL + C**.
5. In the terminal of the target device, run the following command in the SSH shell to display the available help options:
gst-video-playback-example --help
Copy to clipboard
## Expected output
The video is captured, decoded, and played on the local display.

**Figure : Expected output for gst-video-playback-example application**
## Pipeline flow
| Plugin | Description |
| --- | --- |
| filesrc | Reads the AVC or HEVC MP4 file. |
| qtdemux | Demultiplexes the AVC or HEVC MP4 file. |
| h264parse | Parses the video stream for H.264 format. |
| h265parse | Parses the video stream for H.265 format. |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-80021-50/topic/v4l2h264dec.html) | Decodes the video stream for H.264 format. |
| [v4l2h265dec](https://docs.qualcomm.com/doc/80-80021-50/topic/v4l2h265dec.html) | Decodes the video stream for H.265 format. |
| [Waylandsink](https://docs.qualcomm.com/doc/80-80021-50/topic/waylandsink.html) | Displays the video in full-screen mode on a Wayland display. |
## Known issue
The rewind playback option isn’t supported
## Related information
- [Video transformation using OpenCV](https://docs.qualcomm.com/doc/80-80021-50/topic/video-playback-using-opencv.html)
- [Video playback use cases](https://docs.qualcomm.com/doc/80-80021-50/topic/video-playback-use-cases.html)
Last Published: Mar 26, 2026
[Previous Topic
Video transcoding](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/gst-video-transcode-example.md) [Next Topic
Audio and video encode](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/gst-audio-video-encode.md)