# Local use cases Source: [https://docs.qualcomm.com/doc/80-70014-50/topic/local-use-cases.html](https://docs.qualcomm.com/doc/80-70014-50/topic/local-use-cases.html) ## Prerequisites Enable display: vi /etc/default/gstd OPTARGS=" -a 0.0.0.0" XDG_RUNTIME_DIR=/dev/socket/weston WAYLAND_DISPLAY=wayland-1 systemctl daemon-reload systemctl restart gstdCopy to clipboard ## Single stream encode 1. Create the pipeline: gst-client-1.0 pipeline_create enc1 qtiqmmfsrc name=camsrc ! video/x-raw\(memory:GBM\),format=NV12,width=1920,height=1080,framerate=30/1,compression=ubwc,interlace-mode=progressive,colorimetry=bt601 ! v4l2h264enc capture-io-mode=5 output-io-mode=5 ! h264parse ! queue ! mp4mux ! queue ! filesink location=/tmp/enc1.mp4Copy to clipboard 2. Control the pipeline: gst-client-1.0 pipeline_play enc1Copy to clipboard - Send end of stream (EOS): gst-client-1.0 event_eos enc1Copy to clipboard - Stop the pipeline: gst-client-1.0 pipeline_stop enc1Copy to clipboard ## Multistream encode 1. Create the pipeline: gst-client-1.0 pipeline_create enc2 qtiqmmfsrc name=camsrc video_0::type=preview ! video/x-raw\(memory:GBM\),format=NV12,width=1920,height=1080,framerate=30/1,compression=ubwc,interlace-mode=progressive,colorimetry=bt601 ! queue ! v4l2h264enc capture-io-mode=5 output-io-mode=5 ! queue ! h264parse ! mp4mux ! queue ! filesink location="/tmp/mux1.mp4" \ camsrc. ! video/x-raw\(memory:GBM\),format=NV12,width=1920,height=1080,framerate=30/1,compression=ubwc,interlace-mode=progressive,colorimetry=bt601 ! queue ! v4l2h264enc capture-io-mode=5 output-io-mode=5 ! queue ! h264parse ! mp4mux ! queue ! filesink location="/tmp/mux2.mp4"Copy to clipboard 2. Control the pipeline: gst-client-1.0 pipeline_play enc2Copy to clipboard - Send EOS: gst-client-1.0 event_eos enc2Copy to clipboard - Stop the pipeline: gst-client-1.0 pipeline_stop enc2Copy to clipboard ## Single display 1. Create the pipeline: gst-client-1.0 pipeline_create dis1 qtiqmmfsrc name=camsrc video_0::type=preview ! video/x-raw\(memory:GBM\),format=NV12,width=1920,height=1080,framerate=30/1,compression=ubwc ! waylandsink fullscreen=true async=true sync=falseCopy to clipboard 2. Control the pipeline: - Play the pipeline: gst-client-1.0 pipeline_play dis1Copy to clipboard - Pause the pipeline: gst-client-1.0 pipeline_pause dis1Copy to clipboard - Stop the pipeline: gst-client-1.0 pipeline_stop dis1Copy to clipboard ## Multi display 1. Create the pipeline: gst-client-1.0 pipeline_create dis2 qtiqmmfsrc name=camsrc video_0::type=preview ! video/x-raw\(memory:GBM\),format=NV12,width=1920,height=1080,framerate=30/1,compression=ubwc ! waylandsink x=0 y=0 width=500 height=400 async=true sync=false camsrc. ! video/x-raw\(memory:GBM\),format=NV12,width=1920,height=1080,framerate=30/1,compression=ubwc ! waylandsink x=510 y=0 width=500 height=400 async=true sync=falseCopy to clipboard 2. Control the pipeline: - Play the pipeline: gst-client-1.0 pipeline_play dis2Copy to clipboard - Pause the pipeline: gst-client-1.0 pipeline_pause dis2Copy to clipboard - Stop the pipeline: gst-client-1.0 pipeline_stop dis2Copy to clipboard **Parent Topic:** [GStreamer daemon](https://docs.qualcomm.com/doc/80-70014-50/topic/gstreamer-daemon.html) Last Published: Oct 27, 2025 [Previous Topic GStreamer daemon](https://docs.qualcomm.com/bundle/publicresource/80-70014-50/topics/gstreamer-daemon.md) [Next Topic TCP use cases](https://docs.qualcomm.com/bundle/publicresource/80-70014-50/topics/tcp-use-cases.md)