Skip to content

Instantly share code, notes, and snippets.

@vo
Last active July 5, 2020 09:37
Show Gist options
  • Save vo/0fbd56ba1f36e6fd6f9c4c614c69d8bb to your computer and use it in GitHub Desktop.
Save vo/0fbd56ba1f36e6fd6f9c4c614c69d8bb to your computer and use it in GitHub Desktop.
basic gstreamer quad video wall.
#!/bin/bash
# Basic gstreamer quad video wall application.
# Displays 4 videos.
# They have to be synced to eachother and playing for this to work.
PARAMS_NEEDED=4
if [ $# -ne $PARAMS_NEEDED ]
then
echo "Usage: quad_video_wall.sh [port0] [port1] [port2] [port3]"
echo " -------------"
echo " | 0 | 1 |"
echo " |-----------|"
echo " | 2 | 3 |"
echo " -------------"
exit 0
fi
gst-launch-1.0 videomixer name=mix \
sink_0::xpos=0 sink_0::ypos=0 \
sink_1::xpos=960 sink_1::ypos=0 \
sink_2::xpos=0 sink_2::ypos=540 \
sink_3::xpos=960 sink_3::ypos=540 ! videoconvert ! autovideosink sync=false \
udpsrc port=$1 ! 'application/x-rtp,payload=96,encoding-name=H264,clock-rate=(int)90000' ! rtph264depay ! h264parse ! avdec_h264 ! mix. \
udpsrc port=$2 ! 'application/x-rtp,payload=96,encoding-name=H264,clock-rate=(int)90000' ! rtph264depay ! h264parse ! avdec_h264 ! mix. \
udpsrc port=$3 ! 'application/x-rtp,payload=96,encoding-name=H264,clock-rate=(int)90000' ! rtph264depay ! h264parse ! avdec_h264 ! mix. \
udpsrc port=$4 ! 'application/x-rtp,payload=96,encoding-name=H264,clock-rate=(int)90000' ! rtph264depay ! h264parse ! avdec_h264 ! mix.
@susheelbanyal
Copy link

Hi There,
I want to use gstreamer to create video wall for 3x3 screens. I am using the gstreamer. but its not showing the cropped video in full screen.
Sender
gst-launch-1.0 filesrc location= /home/Downloads/test.mp4 ! decodebin ! tee name=t ! queue ! videocrop right=960 bottom=0 ! x264enc speed-preset=2 tune=zerolatency ! rtph264pay config-interval=1 ! udpsink host=192.168.2.112 port=5002 t. ! queue ! videocrop left=960 bottom=0 ! x264enc speed-preset=2 tune=zerolatency ! rtph264pay config-interval=1 ! udpsink host=192.168.2.101 port=5001

Receivers
gst-launch-1.0 -v udpsrc port=5002 caps="application/x-rtp, clock-rate=90000, payload=96" ! queue ! rtpjitterbuffer latency=500 ! rtph264depay ! decodebin ! autovideosink

Please suggest how you have installed gstreamer, and got the full screen?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment