Improving the stability of the TCPSClient

This script is quite helpful when you want to run the TCPSClient (beta 3) somewhat completely unattended.

If the program hangs up, fails or anything doesn’t work as expected the CPU load increased drastically. This is taken as an indicator and the TCPSClient will be terminated and restarted.

!/bin/bash
PROCESSNAME=TCPSClient.bin
CPU_USAGE_THRESHOLD=1010
declare -i MULTIPLIER=10

killall -v $PROCESSNAME
sleep 3
while true; do
	if ps ax | grep -v grep | grep TCPSClient > /dev/null 
	then
		CPU_TEMP_USAGE=$(top -bn1 |grep TCPSClient | awk -F' ' '{print $9}')
		CPU_USAGE=$(echo "scale=2;$CPU_TEMP_USAGE*$MULTIPLIER"|bc)
		CPU_INT=${CPU_USAGE%.*}
		if [ $CPU_INT -gt $CPU_USAGE_THRESHOLD ] ; then
			echo KILLING
			killall -v $PROCESSNAME
			sleep 3
		fi
	else
		/home/pi/TCPSClient/TCPSClient.bin &
		sleep 3
	fi
done

 

This is one of the very few Linux scripts I did. Be gentle. Feel free to contact me if there are questions, suggestions, etc.

Thekenmeldesystem

Im Auftrag eines Kunden habe ich ein Thekenmeldesystem entwickelt und gebaut.

Ziel ist es, in einer Diskothek von mehreren (bis zu 10) Theken aus an zentraler Stelle Meldungen absetzen zu können (Ruf nach Security, Geschäftsführung, etc). Meldungen sollen durch einen Text und farblich entsprechendes Blinken auf einem Bildschirm dargestellt werden. Zum Beispiel: Rotes Blinken + Name der Theke, wenn es darum geht, die Security zu informieren. Für den Fall, dass von keiner Theke eine Meldung kommt, sollen Animationen abgespielt werden (Veranstaltungshinweise etc). Die Texte, Farben und Videos sollen vom Kunden angepasst werden können. Das Ganze soll Luft nach oben haben: Erweiterung um den Anschluss an ein Bussystem, mehrere Monitore, Ethernet, etc .. .

Continue reading

TCPSyphon

<TL; DR> I’ve built a TCPSyphon Server myself in Java and tried to circumvent some of the flaws of the original Version </TL; DR>

 

Maybe you heard about Syphon. “Syphon is an open source Mac OS X technology that allows applications to share frames – full frame rate video or stills – with one another in realtime” (Link). It was originally intended to only work locally and not be shared between different Hosts on a Network. Fortunately someone took care of this and built a set of applications to share “Syphon data” between multiple Computers. Actually it doesn’t: It renders local Syphon data into single images (jpeg, for example), applies a compression and sends them over the network. Anyways, this is one of the applications you don’t get around as a VJ. You just HAVE to have it: TCPSyphon.

The person behind the TCPSyphon-apps also built a client for the Raspberry Pi. The TCPSClient. Now things become really interesting.

Continue reading

Syphon to RTMP

This idea caught me a while back and it took quite some effort to rebuild it from the leftovers a few days ago. Kids don’t forget: The only difference between noodling around and being a true specialiologist (they don’t call me “Doktor Andy” for nothing) lies in a reusable form of documentation. Fortunately I got this website. What would I do without it.

<TL; DR> video from Mac to Raspberry via network</TL; DR>

The approach uses Syphon, Open Broadcaster Software (obs), nginx and Omxplayer. I guess this ain’t too revolutionary. Using RTMP is quite a common task to distribute video. But it’s a good idea to have it all written down at least once. Furthermore I couldn’t find any kind of writeup like this covering this topic so … it’s okay.

Continue reading