# 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-80022-55/topic/gst-video-playback-example.html#section-op1-zwh-4bc).
**Figure : gst-video-playback-example pipeline**
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-80022-55/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
> >
> >
> > The following table provides a description of the command-line parameters:
>
>
>
>
>
>
>
> | Command-line parameter | Description |
> | --- | --- |
> | `` | Specifies the MP4 input file to playback. |
> | `` | Specifies the video parser.
h264parse for H.264.
h265parse for H.265.
|
> | `` | 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
The following table lists the plugins used to run the video playback pipeline:
| 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-80022-50/topic/v4l2h264dec.html) | Decodes the video stream for H.264 format. |
| [v4l2h265dec](https://docs.qualcomm.com/doc/80-80022-50/topic/v4l2h265dec.html) | Decodes the video stream for H.265 format. |
| [waylandsink](https://docs.qualcomm.com/doc/80-80022-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-80022-55/topic/video-playback-using-opencv.html)
- [Video playback use cases](https://docs.qualcomm.com/doc/80-80022-50/topic/video-playback-use-cases.html)
Last Published: May 17, 2026
[Previous Topic
Video transcoding](https://docs.qualcomm.com/bundle/publicresource/80-80022-55/topics/gst-video-transcode-example.md) [Next Topic
Audio and video encode](https://docs.qualcomm.com/bundle/publicresource/80-80022-55/topics/gst-audio-video-encode.md)