# Video split use cases

Source: [https://docs.qualcomm.com/doc/80-70022-50/topic/video-split-use-cases.html](https://docs.qualcomm.com/doc/80-70022-50/topic/video-split-use-cases.html)

This use case shows how to split one video into nine streams and then perform the
        composition.

1. Complete the preconditions mentioned in [GStreamer command-line use cases](https://docs.qualcomm.com/doc/80-70022-50/topic/gstreamer-application-use-cases.html).
2. Run the use case on the target
                    device:

        gst-launch-1.0 filesrc location=/opt/<input_file>.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! video/x-raw, format=NV12 ! queue ! qtivsplit name=split \
        split. ! queue ! mixer. \
        split. ! queue ! mixer. \
        split. ! queue ! mixer. \
        split. ! queue ! mixer. \
        split. ! queue ! mixer. \
        split. ! queue ! mixer. \
        split. ! queue ! mixer. \
        split. ! queue ! mixer. \
        split. ! queue ! mixer. \
        qtivcomposer name=mixer sink_0::position="<0, 0>" sink_0::dimensions="<640, 360>" \
        sink_1::position="<640, 0>" sink_1::dimensions="<640, 360>" \
        sink_2::position="<1280, 0>" sink_2::dimensions="<640, 360>" \
        sink_3::position="<0, 360>" sink_3::dimensions="<640, 360>" \
        sink_4::position="<640, 360>" sink_4::dimensions="<640, 360>" \
        sink_5::position="<1280, 360>" sink_5::dimensions="<640, 360>" \
        sink_6::position="<0, 720>" sink_6::dimensions="<640, 360>" \
        sink_7::position="<640, 720>" sink_7::dimensions="<640, 360>" \
        sink_8::position="<1280, 720>" sink_8::dimensions="<640, 360>" mixer. ! queue ! waylandsink fullscreen=trueCopy to clipboard

    The
                    figure shows the flow of the pipeline execution:

Figure : Pipeline for qtivsplit composing 9 1080p streams from one input video
                        file
                    
                    <?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="1190" height="166" viewbox="0 0 1190 166">
  <g id="Layer_1" data-name="Layer 1">
    <g>
      <rect x=".5" y=".499893188476562" width="1189" height="165" rx="7.499999999999996" ry="7.499999999999996" style="fill: #fafafa;"></rect>
      <path d="M1182,1c3.85986328125,0,7,3.140153884887695,7,7v150c0,3.859848022460938-3.14013671875,7-7,7H8c-3.859846115112305,0-7-3.140151977539062-7-7V8c0-3.859846115112305,3.140153884887695-7,7-7h1174M1182,0H8C3.581692695617676,0,0,3.581691741943359,0,8v150c0,4.418304443359375,3.581692695617676,8,8,8h1174c4.418334960939319,0,8-3.581695556640625,8-8V8c0-4.418308258056641-3.581665039060681-8-8-8h0Z" style="fill: #d2d7e1;"></path>
    </g>
    <g>
      <g>
        <text transform="translate(988.3568115234375 142.091476440429688)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Qualcomm </tspan></text>
        <rect x="968.105831011225746" y="130" width="16" height="16" rx="2" ry="2" style="fill: #2a2aea;"></rect>
      </g>
      <g>
        <text transform="translate(1086.93865966796875 142.091476440429688)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Open source</tspan></text>
        <rect x="1066.687612424084364" y="130" width="16" height="16" rx="2" ry="2" style="fill: #007884;"></rect>
      </g>
    </g>
  </g>
  <g id="Layer_2" data-name="Layer 2">
    <g>
      <rect x="447.433628318583942" y="19.203542463224949" width="122.123893805310217" height="91.592920353981754" rx="4" ry="4" style="fill: #007884;"></rect>
      <text transform="translate(462.875 69.759658813476562)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">v4l2h264dec</tspan></text>
      <rect x="589.911504424781015" y="19.203542463224949" width="122.123893805306579" height="91.592920353981754" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <text transform="translate(622.8876953125 69.759658813476562)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">qtivsplit</tspan></text>
      <rect x="762.920353982301094" y="19.203542463224949" width="122.123893805308398" height="91.592920353981754" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <text transform="translate(775.1240234375 69.759658813476562)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">qtivcomposer</tspan></text>
      <rect x="905.398230088494529" y="19.203542463224949" width="122.12389380530476" height="91.592920353981754" rx="4" ry="4" style="fill: #007884;"></rect>
      <text transform="translate(944.6162109375 69.759658813476562)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">queue</tspan></text>
      <rect x="1047.876106194689783" y="19.203542463224949" width="122.123893805310217" height="91.592920353981754" rx="4" ry="4" style="fill: #007884;"></rect>
      <text transform="translate(1065.0361328125 69.759658813476562)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">waylandsink</tspan></text>
      <rect x="162.477876106195254" y="19.203542463224949" width="122.123893805308398" height="91.592920353981754" rx="4" ry="4" style="fill: #007884;"></rect>
      <text transform="translate(192.2431640625 69.759658813476562)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">qtdemux</tspan></text>
      <g>
        <line x1="142.123901367188409" y1="65" x2="156.736892700195312" y2="65" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="155.569702148438409 68.989067077636719 162.477874755859375 65 155.569702148438409 61.010940551757812 155.569702148438409 68.989067077636719"></polygon>
      </g>
      <g>
        <line x1="284.601776123046875" y1="65" x2="299.21478271484375" y2="65" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="298.047576904296875 68.989067077636719 304.95574951171875 65 298.047576904296875 61.010940551757812 298.047576904296875 68.989067077636719"></polygon>
      </g>
      <g>
        <line x1="427.07965087890625" y1="65" x2="441.692657470703125" y2="65" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="440.52545166015625 68.989067077636719 447.433624267578125 65 440.52545166015625 61.010940551757812 440.52545166015625 68.989067077636719"></polygon>
      </g>
      <g>
        <line x1="569.5574951171875" y1="65" x2="584.1705322265625" y2="65" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="583.00335693359375 68.989067077636719 589.9114990234375 65 583.00335693359375 61.010940551757812 583.00335693359375 68.989067077636719"></polygon>
      </g>
      <g>
        <g>
          <line x1="712.035400390625" y1="22.595870971679688" x2="757.89697265625" y2="22.595870971679688" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="756.87567138671875 26.0863037109375 762.92034912109375 22.595870971679688 756.87567138671875 19.105442047119141 756.87567138671875 26.0863037109375"></polygon>
        </g>
        <g>
          <line x1="712.035400390625" y1="32.988933563232422" x2="757.89697265625" y2="32.988933563232422" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="756.87567138671875 36.479366302490234 762.92034912109375 32.988933563232422 756.87567138671875 29.498500823974609 756.87567138671875 36.479366302490234"></polygon>
        </g>
        <g>
          <line x1="712.035400390625" y1="43.381996154785156" x2="757.89697265625" y2="43.381996154785156" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="756.87567138671875 46.872428894042969 762.92034912109375 43.381996154785156 756.87567138671875 39.891563415527344 756.87567138671875 46.872428894042969"></polygon>
        </g>
        <g>
          <line x1="712.035400390625" y1="53.775054931640625" x2="757.89697265625" y2="53.775054931640625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="756.87567138671875 57.265487670898438 762.92034912109375 53.775054931640625 756.87567138671875 50.284622192382812 756.87567138671875 57.265487670898438"></polygon>
        </g>
        <g>
          <line x1="712.035400390625" y1="64.168113708496094" x2="757.89697265625" y2="64.168113708496094" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="756.87567138671875 67.658546447753906 762.92034912109375 64.168113708496094 756.87567138671875 60.677680969238281 756.87567138671875 67.658546447753906"></polygon>
        </g>
        <g>
          <line x1="712.035400390625" y1="74.561180114747003" x2="757.89697265625" y2="74.561180114747003" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="756.87567138671875 78.051605224609375 762.92034912109375 74.561180114747003 756.87567138671875 71.070747375488281 756.87567138671875 78.051605224609375"></polygon>
        </g>
        <g>
          <line x1="712.035400390625" y1="84.954238891601562" x2="757.89697265625" y2="84.954238891601562" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="756.87567138671875 88.444671630859375 762.92034912109375 84.954238891601562 756.87567138671875 81.46380615234375 756.87567138671875 88.444671630859375"></polygon>
        </g>
        <g>
          <line x1="712.035400390625" y1="95.347297668456122" x2="757.89697265625" y2="95.347297668456122" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="756.87567138671875 98.837730407714844 762.92034912109375 95.347297668456122 756.87567138671875 91.856864929199219 756.87567138671875 98.837730407714844"></polygon>
        </g>
        <g>
          <line x1="712.035400390625" y1="105.7403564453125" x2="757.89697265625" y2="105.7403564453125" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="756.87567138671875 109.230789184570312 762.92034912109375 105.7403564453125 756.87567138671875 102.249923706054688 756.87567138671875 109.230789184570312"></polygon>
        </g>
      </g>
      <g>
        <line x1="885.04425048828125" y1="65" x2="899.6572265625" y2="65" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="898.49005126953125 68.989067077636719 905.39825439453125 65 898.49005126953125 61.010940551757812 898.49005126953125 68.989067077636719"></polygon>
      </g>
      <g>
        <line x1="1027.522094726560681" y1="65" x2="1042.135131835939319" y2="65" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1040.967895507810681 68.989067077636719 1047.876098632810681 65 1040.967895507810681 61.010940551757812 1040.967895507810681 68.989067077636719"></polygon>
      </g>
      <rect x="304.955752212388688" y="19.203542463224949" width="122.123893805310217" height="91.592920353981754" rx="4" ry="4" style="fill: #007884;"></rect>
      <text transform="translate(328.22509765625 69.759658813476562)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">h264parse</tspan></text>
      <rect x="20" y="19.203542463224949" width="122.123893805308398" height="91.592920353981754" rx="4" ry="4" style="fill: #007884;"></rect>
      <text transform="translate(59.14453125 69.759658813476562)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">filesrc</tspan></text>
    </g>
  </g>
</svg>

**Parent Topic:** [Run multimedia use cases](https://docs.qualcomm.com/doc/80-70022-50/topic/multimedia-use-cases.html)

Last Published: Feb 20, 2026

[Previous Topic
Video overlay use cases](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/overlay-use-cases.md) [Next Topic
Qualcomm GStreamer architecture and plugins](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/gst-plugin-architecture.md)