Last active
July 5, 2020 09:37
-
-
Save vo/0fbd56ba1f36e6fd6f9c4c614c69d8bb to your computer and use it in GitHub Desktop.
basic gstreamer quad video wall.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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?