Noticia Grabar un canal de televisión tdt con Videolan de forma automatizada

En el tema Videolan: ver televisión tdt se explicó como ver canales de tdt con Videolan, y como grabarlos con un click sobre el icono adecuado, aunque para ello debemos estar presentes en el momento en el que queremos empezar a grabar el canal tdt.
En este tema vamos a explicar como poder grabar un canal tdt a una hora determinada, durante un tiempo determinado, sin que tengamos que estar presentes en ese momento para hacer manualmente click sobre el icono adecuado.
Para llevar a cabo lo que se indica en este tema se da por sentado que se ha realizado previamente lo indicado en el enlace de la primera línea de este tema.

1) Debemos asegurarnos de que el sistema esta configurado para que no se active el protector de pantalla, ni se apague nunca la pantalla.

2) Debemos editar el archivo Channels.conf para que en él aparezca en primer lugar el canal de tdt que queremos grabar.
Abrimos Videolan y abrimos el archivo Channles.conf para confirmar que se empieza a ver el canal que queremos. Nos aseguramos de que Videolan se ejecuta siempre ocupando el mismo espacio en la pantalla, por ejemplo que se vea siempre a Pantalla Completa ( abrimos Videolan y tecleamos la tecla F11) y que por lo tanto el botón de grabación esta siempre en las mismas coordenadas.

3) Creamos un script ( http://hatteras-blog.blogspot.com.es/2008/04/como-crear-un-script-basico.html) que hará que 1) se inicie Videolan reproduciendo el canal tdt que hemos puesto en primer lugar en el archivo Channels.conf, 2) al cabo de un tiempo determinado, el cursor del ratón se mueva hasta situarse sobre el botón Grabar de la barra de herramientas de Videolan



, y 3) a continuación se empiece a grabar el canal tdt durante un tiempo determinado. Mientras se esta grabando el fondo del icono Grabar cambia ligeramente de color, y cuando se acaba de grabar vuelve a cambiar a su fondo de color original.
Dicho script tiene el siguiente contenido:

#!/bin/bash
vlc /home/usuario/Canales-TDT/Channels.conf && sleep 1m && \
xte 'mousemove 22 775' && xte 'mouseclick 1' && \
sleep 1m && \
xte 'mousemove 22 775' && xte 'mouseclick 1'

Donde:
a) /home/usuario/Canales-TDT/Channels.conf es la dirección en donde esta el archivo Channels.conf
b) sleep 1m indica el tiempo, 1 minuto, que pasa desde que ejecutamos el script hasta que el cursor del ratón se mueve hasta la posición que le indicamos con las coordenadas, y empieza la grabación.
c) 22 688' son las coordenadas en las que se localiza el puntero del ratón, a donde queremos que se mueva hasta estar encima del icono Grabar de la barra de herramientas de Videolan. Estas coordenadas las iremos adecuando a la pantalla de nuestro pc, con Videolan en pantalla completa, mediante la ejecución del script y a base de ir probando hasta que veamos que el cursor del ratón acaba moviendose hasta quedar situado por encima del botón Grabar de la barra de herramientas de Videolan.
El establecimiento de estas coordenadas es lo que mas tiempo nos va a costar calcular, pero una vez calculado ya no tenemos que volver a calcularlas.
d) sleep 1m es el comando que hace que se grabe durante 1 minuto

Guardamos dicho script con el nombre grabar-vlc.sh en la dirección que queramos, por ejemplo en la carpeta en la que tenemos nuestros scripts particulares: /home/usuario/scripts

Lo ejecutamos para comprobar que efectivamente abre Videolan, se reproduce el canal que queremos, y que lo graba durante el tiempo que hemos indicado en el script.

Una vez que ya hemos comprobado que efectivamente funciona, podemos reeditar el script para acomodar los tiempos. Como ejemplo vamos a suponer que son las 22h y que queremos grabar durante 45 minutos un programa que empieza a las 24h ( es decir 120 minutos después de la hora en la que estamos ), y que a esa hora no estaremos en casa pues nos vamos a cenar. En el script modificaremos los tiempos, para que una vez ejecutado el script el cursor de ratón se mueva a su posición sobre el icono Grabar 120 minutos despues de iniciarse el script, y para que la grabación se realice durante 45 minutos.

#!/bin/bash
vlc /home/usuario/Canales-TDT/Channels.conf && sleep 120m && \
xte 'mousemove 22 775' && xte 'mouseclick 1' && \
sleep 45m && \
xte 'mousemove 22 775' && xte 'mouseclick 1'

Una vez configurado el script, lo ejecutamos, y dejamos tranquilo el pc, y nos vamos a donde tenemos previsto ir.
Por defecto el archivo resultante de la grabación se guarda en la carpeta /home/usuario/Descargas en un archivo con formato .ts que podremos posteriormente reproducir también con el programa Videolan.
----------------------------
Alternativamente podemos modificar en el script solo el tiempo durante el que queremos que se haga la grabación: en el ejemplo, sleep 45m dejando en 1 minuto, sleep 1m ,el tiempo que transcurrirá desde que se inicie el script y hasta que se inicie la grabación, y con el programa gnome-schedule ( http://hatteras-blog.blogspot.com.es/2010/12/programarautomatizar-tareas-no_26.html ) o con el comando at ( http://hatteras-blog.blogspot.com.es/2010/12/programarautomatizar-tareas-no.html ) creamos una "tarea no repetitiva", para que ella, a la hora que queramos, ejecute el script anterior, y 1 minuto después se inicie la grabación, durante 45 minutos.

Enlace a la fuente original: Grabar un canal de televisión tdt con Videolan de forma automatizada

Continúar leyendo...