# Video playback

Source: [https://docs.qualcomm.com/doc/80-70022-50/topic/gst-video-playback-example.html](https://docs.qualcomm.com/doc/80-70022-50/topic/gst-video-playback-example.html)

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-70022-50/topic/gst-video-playback-example.html#gst-video-playback-example__section_op1_zwh_4bc).

Figure : gst-video-playback-example pipeline
            
            <?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" width="1060" height="240" viewbox="0 0 1060 240">
  <g>
    <rect x=".499809265136719" y=".500148773193359" width="1059.00048828125" height="239" rx="7.500000000000004" ry="7.500000000000004" style="fill: #fafafa;"></rect>
    <path d="M1051.999931335449219.999996185302734c3.85986328125,0,7,3.14013671875,7,7v224c0,3.85986328125-3.14013671875,7-7,7H7.999931335448309c-3.85986328125,0-7-3.14013671875-7-7V7.999996185302734C.999931335448309,4.140132904052734,4.140068054198309.999996185302734,7.999931335448309.999996185302734h1044.000000000000909M1051.999931335449219-.000003814697266H7.999931335448309C3.581657409667969-.000003814697266-.000068664551691,3.581722259521484-.000068664551691,7.999996185302734v224C-.000068664551691,236.418270111083984,3.581657409667969,239.999996185302734,7.999931335448309,239.999996185302734h1044.000000000000909c4.41827392578125,0,8-3.58172607421875,8-8V7.999996185302734C1059.999931335449219,3.581722259521484,1056.418205261230469-.000003814697266,1051.999931335449219-.000003814697266h0Z" style="fill: #d2d7e1;"></path>
  </g>
  <g>
    <text transform="translate(18.053581237792969 115.19877815246582)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">gstlaunch-1.0 pipeline/ </tspan><tspan x="39.6640625" y="24">eos-on-shutdown </tspan></text>
    <rect x="215.08442371055844" y="92.522723350741217" width="100" height="59.999992741379174" rx="3.999999516090611" ry="3.999999516090611" style="fill: #007884;"></rect>
    <text transform="translate(226.931953430175781 127.19861805299297)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Video data</tspan></text>
    <text transform="translate(243.166328430175781 85.325067637953907)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">filesrc</tspan></text>
    <g>
      <line x1="315.3726806640625" y1="122.522731781006769" x2="329.631690979003906" y2="122.522731781006769" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="328.464500427246094 126.511775970458984 335.3726806640625 122.522731781006769 328.464500427246094 118.533657073974609 328.464500427246094 126.511775970458984"></polygon>
    </g>
    <g>
      <rect x="465.64852813656762" y="92.522723350741217" width="100" height="59.999992741379174" rx="3.999999516090611" ry="3.999999516090611" style="fill: #007884;"></rect>
      <text transform="translate(492.851524353027344 127.118150828871876)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Queue</tspan></text>
    </g>
    <g>
      <line x1="445.372673034667969" y1="122.522731781006769" x2="459.631690979003906" y2="122.522731781006769" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="458.464500427246094 126.511775970458984 465.372673034667969 122.522731781006769 458.464500427246094 118.533657073974609 458.464500427246094 126.511775970458984"></polygon>
    </g>
    <line x1="565.280721323142643" y1="122.522719721431713" x2="580.280721323139005" y2="122.522719721431713" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <rect x="335.372678111601999" y="92.522723350741217" width="110" height="59.999992741379174" rx="3.999999516090611" ry="3.999999516090611" style="fill: #007884;"></rect>
    <text transform="translate(348.337364196777344 127.118150828871876)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Demultiplex</tspan></text>
    <text transform="translate(359.075645446777344 85.325067637953907)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">qtdemux</tspan></text>
    <rect x="858.557505845597916" y="92.522723350741217" width="120" height="59.999992741379174" rx="3.999999516090611" ry="3.999999516090611" style="fill: #007884;"></rect>
    <text transform="translate(892.678337097167969 117.59845936158672)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Display</tspan><tspan x="-7.78125" y="19.200195312500014">rendering</tspan></text>
    <text transform="translate(873.526542663574219 85.325067637953907)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Waylandsink</tspan></text>
    <text transform="translate(616.749504089355469 28.393045543227345)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">h264parse</tspan></text>
    <rect x="604.542572582795401" y="35.590733470229679" width="100" height="59.999992741380083" rx="3.999999516090611" ry="3.999999516090611" style="fill: #007884;"></rect>
    <text transform="translate(634.073722839355469 70.186159251723439)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Parse</tspan></text>
    <text transform="translate(729.059379577636719 28.393045543227345)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">v4l2h264dec</tspan></text>
    <rect x="724.680497595280031" y="35.590733470229679" width="100" height="59.999992741380083" rx="3.999999516090611" ry="3.999999516090611" style="fill: #007884;"></rect>
    <text transform="translate(747.696098327636719 70.266412852797657)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Decode</tspan></text>
    <polyline points="823.667166707477008 65.590729840920176 841.069241437595338 65.590729840920176 841.069241437595338 179.294343122170176 823.667166707477008 179.294343122170176" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
    <g>
      <line x1="704.542564392089844" y1="179.294338226318359" x2="718.801597595214844" y2="179.294338226318359" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="717.634391784667969 183.283412933349609 724.542564392089844 179.294338226318359 717.634391784667969 175.305294036865234 717.634391784667969 183.283412933349609"></polygon>
    </g>
    <g>
      <line x1="704.542564392089844" y1="65.590724945068359" x2="718.801597595214844" y2="65.590724945068359" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="717.634391784667969 69.579799652099609 724.542564392089844 65.590724945068359 717.634391784667969 61.601665496826172 717.634391784667969 69.579799652099609"></polygon>
    </g>
    <text transform="translate(616.749504089355469 142.09666263917461)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">h265parse</tspan></text>
    <rect x="604.542572582795401" y="149.294346751479679" width="100" height="59.999992741380083" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(634.073722839355469 183.8897615657188)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Parse</tspan></text>
    <text transform="translate(729.059379577636719 142.09666263917461)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">v4l2h265dec</tspan></text>
    <rect x="724.680497595280031" y="149.294346751479679" width="100" height="59.999992741380083" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(747.696098327636719 183.970021365676075)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Decode</tspan></text>
    <g>
      <g>
        <rect x="1005.946207324050192" y="109.848961349569436" width="35.999999999992724" height="25.200000000002547" rx="4" ry="4" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></rect>
        <line x1="1016.746207324045827" y1="142.248961349570891" x2="1031.146207324043644" y2="142.248961349570891" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
      </g>
      <line x1="1023.946207324050192" y1="135.048961349571982" x2="1023.946207324050192" y2="142.248961349570891" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
    </g>
    <g>
      <polyline points="598.801597595214844 179.294338226318359 580.280723571777344 179.294338226318359 580.280723571777344 65.590724945068359 598.801597595214844 65.590724945068359" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
      <polygon points="597.634391784667969 175.305294036865234 604.542564392089844 179.294338226318359 597.634391784667969 183.283412933349609 597.634391784667969 175.305294036865234"></polygon>
      <polygon points="597.634391784667969 69.579799652099609 604.542564392089844 65.590724945068359 597.634391784667969 61.601665496826172 597.634391784667969 69.579799652099609"></polygon>
    </g>
    <g>
      <line x1="841.069267272949219" y1="123.957332611083984" x2="852.816520690917969" y2="123.957332611083984" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="851.649345397949219 127.946407318115234 858.557487487792969 123.957332611083984 851.649345397949219 119.968257904052734 851.649345397949219 127.946407318115234"></polygon>
    </g>
    <g>
      <line x1="182.083159199948568" y1="122.522719721431713" x2="214.08442371055844" y2="122.522719721431713" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 3px;"></line>
      <g>
        <line x1="182.083160400390625" y1="122.522731781006769" x2="208.343439102172852" y2="122.522731781006769" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="207.176248550415039 126.511775970458984 214.084423065185547 122.522731781006769 207.176248550415039 118.533657073974609 207.176248550415039 126.511775970458984"></polygon>
      </g>
    </g>
    <g>
      <line x1="978.557505845597916" y1="122.522719721429894" x2="1004.310823545867606" y2="122.522719721429894" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 3px;"></line>
      <line x1="978.557505845597916" y1="122.522719721429894" x2="1004.310823545867606" y2="122.522719721429894" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    </g>
    <g>
      <text transform="translate(963.455680847167969 221.385829925537109)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Open source</tspan></text>
      <rect x="943.204636027367087" y="209.294339492859763" width="16" height="16" rx="2" ry="2" style="fill: #007884;"></rect>
    </g>
  </g>
</svg>

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-70022-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=<input-file>.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw,format=NV12 ! waylandsink enable-last-sample=false fullscreen=trueCopy to clipboard

The following table provides a description of the command-line
                            parameters:    | Command-line parameter | Description |
    | --- | --- |
    | `<input-file>` | Specifies the MP4 input file to playback. |
    | `<video-parser>` | Specifies the video parser.<ul class="ul" id="gst-video-playback-example__ul_rgw_nyh_4bc"><br>                                            <li class="li"><code class="ph codeph">h264parse</code> for H.264.</li><br><br>                                            <li class="li"><code class="ph codeph">h265parse</code> for H.265.</li><br><br>                                        </ul> |
    | `<video-decoder>` | Specifies the video decoder.<ul class="ul" id="gst-video-playback-example__ul_rjm_qyh_4bc"><br>                                            <li class="li"><code class="ph codeph">v4l2h264dec</code> for H.264.</li><br><br>                                            <li class="li"><code class="ph codeph">v4l2h265dec</code> for H.265.</li><br><br>                                        </ul> |

For example, run the following commands for different video playback
                        use cases:
    - Playback AVC (H.264)
                                video:

            gst-video-playback-example -e filesrc location=<avc_file>.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! waylandsink enable-last-sample=false fullscreen=trueCopy to clipboard
    - Playback HEVC (H.265)
                                video:

            gst-video-playback-example -e filesrc location=<hevc_file>.mp4 ! qtdemux ! queue ! h265parse ! v4l2h265dec capture-io-mode=4 output-io-mode=4 ! waylandsink enable-last-sample=false fullscreen=trueCopy 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 --helpCopy to clipboard

## Expected output

The video is captured, decoded, and played on the local display.

Figure : Expected output for gst-video-playback-example application
                
                ![](data:image/png;base64,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)

## 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-70022-50/topic/v4l2h264dec.html) | Decodes the video stream for H.264 format. |
| [v4l2h265dec](https://docs.qualcomm.com/doc/80-70022-50/topic/v4l2h265dec.html) | Decodes the video stream for H.265 format. |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50/topic/waylandsink.html) | Displays the video in full-screen mode on a Wayland<br>                                display. |

## Known issue

The rewind playback option isn't supported

## Related information

- [Video transformation using OpenCV](https://docs.qualcomm.com/doc/80-70022-50/topic/video-playback-using-opencv.html)
- [Video playback use cases](https://docs.qualcomm.com/doc/80-70022-50/topic/video-playback-use-cases.html)

**Parent Topic:** [Run sample applications for video and audio](https://docs.qualcomm.com/doc/80-70022-50/topic/audio-sample-applications.html)

Last Published: Feb 20, 2026

[Previous Topic
Video transcoding](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/gst-video-transcode-example.md) [Next Topic
Audio and video encode](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/gst-audio-video-encode.md)