Tengo un script de shell que se ejecuta en mi mac ( ./go
), abre una sesión ssh en una raspberry pi y luego ejecuta un script que transmite video desde la raspberry pi a un puerto UDP en la mac.
También necesito que Mac ejecute un script de recepción ( ./tsplay
) para que pueda ver el video transmitido.
El problema es que intenté usar el comando open -a Terminal.app ./tsplay
antes de que se inicie la sesión SSH, se abre una nueva ventana de terminal pero no espera a que ingresen los datos de transmisión y sale - [Proceso completado]
#!/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
¿ Por qué quieres ejecutar tsplay
en una Terminal de todos modos? ¿Seguramente es una aplicación gráfica si muestra video? ¿Por qué no dormir un rato para que Pi comience a enviar y luego tsplay
a recibir?
fi
...
(sleep 5; ./tsplay ) &
...
date
pablojamon