Estaba investigando como realizar automaticamente la transmision de emergencia hacia Ustream desde mi Raspberry Pi de Audio y video y vi la solución con un script.
Con esto hacemos nuestro script un servicio en la Raspberry Pi y evitamos tener que acceder al iniciar la placa para ejecutar el mismo.
Lo primero que necesitamos hacer es crear un archivo en /etc/init.d/ . Yo uso "vi" para crear los archivos o podés usar "mcedit" u otro.
sudo vi /etc/init.d/stream_ustream_script
Y escribimos adentro lo siguiente:
#! /bin/sh
# /etc/init.d/stream_ustream_script
# Si queremos que algo se ejecute siempre lo pondremos aca
# Aca decimos si arrancarlo o pararlo (como los servicios normales)
case "$1" in
start)
echo "Stream hacia Ustream iniciando"
/home/scripts/ustream.sh
;;
stop)
echo "Stream hacia Ustream parando"
killall ustream.sh # forma muy rustica de parar un programa!
;;
*)
echo "Servicio: /etc/init.d/stream_ustream_script {start|stop} teclee la opcion que desee"
exit 1
;;
esac
exit 0
Salimos del editor y guardamos el archivo. Luego le asignamos permisos al mismo:
sudo chmod 755 /etc/init.d/stream_ustream_script
Lo que necesitamos ahora es crear otro archivo que es donde corremos el código que realiza la transmision. En este caso el archivo se llama ustream.sh
Creamos un archivo (en este caso lo hice en /home/scripts) con el nombre ustream.sh
sudo vi ustream.sh
Escribimos lo siguiente utilizando nuestros datos de Ustream
#! /bin/sh
#Script que inicia la transmision en Ustream desde Raspberry Pi
RTMP_URL=rtmp://1.5717947.fme.ustream.tv/ustreamVideo/5717947
KEY=uKZ15uXTQMnvNa0MuYqUSk5s7hlgSadn
while true;
do
avconv -f video4linux2 -s 320x240 -r 14 -b 350k -i /dev/video0 -vf drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSansBold.ttf:text='Transmision de emergencia':fontsize=16:fontcolor=blue:x=2:y=360" -acodec copy -metadata title="24x7 PiCam" -f flv rtmp://1.5717947.fme.ustream.tv/ustreamVideo/571xx47/UstreamKey
sleep 10
done;
Salimos y guardamos el archivo
Y ahora añadimos el fichero al arranque de la Raspberry
sudo update-rc.d stream_ustream_script defaults
Con esto ya está todo listo para arrancar la transmision hacia Ustream al iniciar la Raspberry, y tambien podemos ejecutarlo a mano con un servicio normal:
sudo /etc/init.d/stream_ustream_script start
O para pararlo
sudo /etc/init.d/stream_ustream_script stop
En caso de no necesitar que inicie al encender la Raspberry Pi:
sudo update-rc.d -f stream_ustream_script remove
Ojalá esto sea útil para alguien más.
Fuente:
No hay comentarios:
Publicar un comentario