Ho uno script di shell che gira sul mio mac ( ./go
), apre una sessione ssh su un raspberry pi quindi esegue uno script che trasmette il video dal raspberry pi a una porta UDP sul mac.
Ho anche bisogno del Mac per eseguire uno script di ricezione ( ./tsplay
) in modo che possa visualizzare il video in streaming.
Il problema è che ho provato a usare il comando open -a Terminal.app ./tsplay
prima che venga avviata la sessione SSH, si apre una nuova finestra di terminale ma non attende l'arrivo dei dati di flusso ed esce - [Processo completato]
#!/bin/bash
source network.conf
rm remote.conf
if [ "$1" != "" ]
then
sed "s/FRAMERATE=25/FRAMERATE=$1/" video.conf > remote.conf
else
cp video.conf remote.conf
fi
open -a Terminal.app ./tsplay
date
echo "###### Network Settings ######" >> remote.conf
echo export TCPPORT=$TCPPORT >> remote.conf
echo export UDPPORT=$UDPPORT >> remote.conf
echo export RX_IP=$RX_IP >> remote.conf
echo export NOW=\"'date +%F" "%T'\" >> remote.conf
#echo exit >> remote.conf
chmod +x remote.conf
echo Copy script to $TX_IP
scp remote.conf $USER@$TX_IP:/home/pi
echo Run Script
ssh $USER@$TX_IP ./ustream
ssh $USER@$TX_IP