# Multi format decode Source: [https://docs.qualcomm.com/doc/80-70022-50/topic/gst-videocodec-concurrent-playback.html](https://docs.qualcomm.com/doc/80-70022-50/topic/gst-videocodec-concurrent-playback.html) The **gst-videocodec-concurrent-playback** application supports concurrent video playback for AVC (H.264) and HEVC (H.265) videos. It demonstrates the concurrent decoding capabilities of the Qualcomm Linux video engine, which can process different video codecs simultaneously. As shown in the following figure, the sample application uses H.264 and H.265 videos, both encapsulated in MP4 containers. The pipeline involves several elements for concurrent video playback. For more information about these elements, see [Pipeline flow](https://docs.qualcomm.com/doc/80-70022-50/topic/gst-videocodec-concurrent-playback.html#gst-concurrent-videoplayback__section_w2j_yvf_4bc). Figure : gst-videocodec-concurrent-playback pipeline Video data filesrc h264parse MP4 Parse Video data Parse file Display Demultiplex qtdemux Demultiplex v4l2h264dec Decode Decode waylandsink filesink Displayrendering Write Open source ## Run the application The following table lists the use cases that are supported through the gst-videocodec-concurrent-playback application:| Use case | Description | | --- | --- | | Video conferencing | | | Surveillance systems | Concurrently decodes video feeds from two separate cameras, each
employing a different encoding method. | To run the use cases, do the following: 1. Ensure that you complete the [Prerequisites](https://docs.qualcomm.com/doc/80-70022-50/topic/mm_sample_apps_prerequisites.html). 2. Input `MP4 AVC (H.264)` and `HEVC (H.265)` video files on the target device. 3. In the terminal of the target device, use the following command to run the use case: gst-videocodec-concurrent-playback -i /etc/media/.mp4 -i /etc/media/.mp4 -o /etc/media/.yuvCopy to clipboard The following table provides a description of the command-line parameters: | Command-line parameter | Description | | --- | --- | | `-i` | Specifies the absolute path to the H.264 and H.265 input
video files. Ensure that the H.264 input file is specified
before H.265. | | `-o` | Specifies the absolute path to the H.265 output YUV
file. | For example, for concurrent playback of multi-format videos, use the following command: gst-videocodec-concurrent-playback -i /etc/media/.mp4 -i /etc/media/.mp4 -o /etc/media/.yuvCopy 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-videocodec-concurrent-playback --helpCopy to clipboard Note: Due to the large size of YUV data, it's recommended to run this use case for a short duration (less than 5 seconds) to avoid exhausting the storage space. ## Expected output - The H.264 video is displayed to the Wayland display. - The H.265 HEVC video is written to the YUV file. To play the YUV file, do the following: 1. Pull the YUV dump file from the device. 2. Use a YUV player running on the host to play the video. For example, select the `YUV420planarNV12` format, and use `1920 & 1088` as the stride and scan lines. Note: If a default YUV player isn't available on the host computer, use [https://sourceforge.net/projects/raw-yuvplayer/](https://sourceforge.net/projects/raw-yuvplayer/). ## Pipeline flow The following table lists the plugins used to run the videocodec concurrent playback pipeline:| Plugin | Description | | --- | --- | | filesrc | Reads the video data. | | qtdemux | Demultiplexes the video data. | | h264parse | Parses the H.264 video stream. | | h265parse | Parses the H.265 video stream. | | [v4l2h264dec](https://docs.qualcomm.com/doc/80-70022-50/topic/v4l2h264dec.html) | Decodes the H.264 video stream using Video4Linux. | | [v4l2h265dec](https://docs.qualcomm.com/doc/80-70022-50/topic/v4l2h265dec.html) | Decodes the H.265 video stream using Video4Linux. | | [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50/topic/waylandsink.html) | Displays the H.264 video stream on Wayland display. | | filesink | Writes the H.265 video to a YUV file for playback. | **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 Smart codec](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/smart-codec.md) [Next Topic Audio-video playback](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/gst-audio-video-playback.md)