Added network streaming to controling laptop

This commit is contained in:
Sebastian 2014-06-06 22:31:27 +02:00
parent ae347c33bb
commit 805dd062ee
3 changed files with 14 additions and 49 deletions

2
scripts/network2screen Normal file
View File

@ -0,0 +1,2 @@
#!/bin/bash
gst-launch-0.10 -v udpsrc port=9998 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)JPEG, payload=(int)96" ! rtpjpegdepay ! jpegdec ! videoscale ! xvimagesink

View File

@ -1,47 +0,0 @@
#!/bin/bash
# Deliver mixer1 output to screen.
# Taken from the original snowmix sources
tmpfile=/tmp/output2screen.tmp.$$
echo 'system info' | nc 127.0.0.1 9999 >$tmpfile
geometry=`grep 'STAT: System geometry' $tmpfile |cut -f3 -d: |cut -f2 -d' '|tr 'x' ' '`
framerate=`grep 'STAT: Frame rate' $tmpfile |cut -f3 -d: |cut -f2 -d' '`
ctrsocket=`grep 'STAT: Output ctr socket' $tmpfile |cut -f3 -d: |cut -f2 -d' '`
rm $tmpfile
VIDEOCONVERT="ffmpegcolorspace ! x264enc ! rtph264pay"
VIDEO=video/x-raw-rgb
AUDIO=audio/x-raw-int
frameratefraction()
{
echo $1 | awk '{ rate=$1 ;
factor=1;
intrate=int(rate);
while (factor*rate > intrate) {
factor = factor * 10;
intrate = int(rate*factor);
}
printf("%d/%d\n",intrate,factor);
}'
}
ratefraction=`frameratefraction $framerate`
width=`echo $geometry |cut -f1 -d' '`
height=`echo $geometry |cut -f2 -d' '`
MIXERFORMAT=$VIDEO', bpp=(int)32, depth=(int)32, endianness=(int)4321, format=(fourcc)BGRA, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)'$width', height=(int)'$height', framerate=(fraction)'$ratefraction', pixel-aspect-ratio=(fraction)1/1, interlaced=(boolean)false'
OUTPUTFORMAT=$VIDEO', width=1024, height=768'
while true ; do
gst-launch-0.10 -v shmsrc socket-path=$ctrsocket do-timestamp=true is-live=true ! \
$MIXERFORMAT ! \
videoscale ! \
$OUTPUTFORMAT ! \
$VIDEOCONVERT ! \
udpsink host=laptop port=5000
sleep 2
done

View File

@ -38,10 +38,20 @@ OUTPUTFORMAT=$VIDEO', width=1024, height=768'
while true ; do
gst-launch-0.10 -v shmsrc socket-path=$ctrsocket do-timestamp=true is-live=true ! \
$MIXERFORMAT ! \
$MIXERFORMAT ! \
videoscale ! \
$OUTPUTFORMAT ! \
$VIDEOCONVERT ! \
ximagesink
tee name=atee ! \
queue ! \
ximagesink \
atee. !\
queue !\
timeoverlay !\
ffmpegcolorspace !\
'video/x-raw-yuv' !\
jpegenc !\
rtpjpegpay !\
udpsink host=192.168.11.90 port=9998 sync=true
sleep 2
done