domingo, 22 de septiembre de 2013

Script para hacer scripts


Para hacer scripts bash creamos un script base que genera scripts.
La idea es que muchas veces utilizamos varios scripts que tienen la misma base y muchas veces utilizan la misma configuración. Eso nos llevó a pensar un sistema que sea facil de configurar y mantener. Cada actualización debería ser simple.

Creamos un script llamado basesh.sh el cual lo ubicamos en el directorio que utilizara nuestro sistema. Al ejecutarlo crea un link simbólico con el nuevo nombre. Por cada script que generemos se creará un link hacia el mismo script.

El script genera una serie de archivos de configuración. Algunos en comun y otros para el propio script. Tambien entra en un loop infinito hasta que no se borre un archivo puntual del /tmp/
La idea es que lo medular del script se incluya en el archivo generado con extensión .inc

Hemos colocado el script en Google Code con el nombre basesh y una wiki en el mismo sitio.

viernes, 20 de septiembre de 2013

Planeta Young



Planeta Young fué una productora de contenidos multimedios creada por RB Video Digital y KrabTV en 2009.

Durante el corto tiempo creamos algunos programas para el Canal Local de TVCable Young.

Para emitir programas en vivo y grabados, usabamos lo que luego sería el sistema S.A.S. pero en forma híbrida con PCs con otros sistemas operativos.
Se transmitía en forma análoga por la banda aerea de VHF hasta el Canal y un operador nos switcheaba en nuestros horarios.

Los programas emitidos durante el período que duró Planeta Young fueron: Plan B, Teve Music, ChatTV, Webeando en la web, Sol de verano, Litoral 2010 y Cine seleccionado.


Parte del staff de Plan B


Video Institucional de Planeta Young 2010
con la locución de Gabriela Silva


Presentación del programa ChatTV


Promo del programa Teve Music


Desde aquí se gestaba lo que a futuro sería el sistema S.A.S.
El sistema ya era controlado remotamente y con algunos automatismos.


S.A.S. Sistema Automatico de Secuencias



Descripción

Es un sistema para emisión de video en tiempo real controlado por web. Se instala en GNU/Linux y requiere una serie de aplicaciones claves pero básicamente los paquetes ffmpeg e imagemagick.
Actualmente S.A.S. está siendo utilizado por 3 canales de Cable de Young. El sistema emite programas en vivo, graba automáticamente y reitera sin necesidad de operador. Puede ser manejado desde la web y es muy facil de operar.

Un poco de historia

En Abril de 2009 quedamos encargados del Canal Local de Young. Luego de una rápida evaluación decidimos comenzar a implementar varios cambios tecnológicos. Justo es decir que el presupuesto era cero.
Lo primero fué reemplazar los sistemas operativos utilizados por Ubuntu Desktop. Para la edición de los videos utilizabamos Kino y Kdenlive. Para la parte gráfica GIMP y Xaralx, y para la edición de audio Audacity.
El producto final se emitía con un script que enviaba el video en formato RAWDV a un DVDRW que oficiaba de conversor DA.
Justo es decir que estudiamos mucho el maravilloso formato RAWDV para poder utilizarlo al máximo.
El corazón del script hacía algo muy simple:

cat archivo.dv > /dev/raw1394

Con el descubrimiento de que un simple CAT podía enviar video a un equipo externo las ideas comenzaron a fluir.

Manos a la obra

Esa línea tan simple hacía la maravillosa tarea de enviar un video al puerto firewire para que el DVDRW externo lo tome y transforme en video compuesto. De ahi se iba al modulador.

El siguiente paso fué agregar una captura firewire para completar la trama digital. Como las cámaras y consolas estaban basadas en video compuesto, compramos una Canopus ADVC110. La captura la hacía con dvgrab y podia alternar el envío de señal en vivo con archivos del mismo formato.

Se hacía casi indispensable contar con una consola por software que switcheara posibles fuentes de video. Ahi fué cuando descubrimos el paquete dvswitch.
A partir de ahí el sistema quedaba formado con una serie de programas que iban interconectando las entradas y las salidas para poder enviar videos al aire.
Lo que hace básicamente S.A.S. es generar y controlar secuencias de videos. Pudiendose programar eventos a dispararse a diferentes horas. Controlado desde un entorno WEB para dar la flexibilidad de ser manejado desde cualquier punto a donde llegue la red.



Primeras versiones (1 y 2):










Version 4:



 



Con la digitalización de la señal de Cable, hubo que adaptar la salida al formato TS. Mas adelante entraremos en estos detalles.
El sistema ha ido evolucionando hasta convertirse en un gran manejador que genera un stream directo al multiplexor que emite al cable.


Reconocimientos

El proyecto fué presentado en la Feria de Clubes de Ciencias a nivel Departamental, obteniendo Mención Especial. Lo que nos permitió presentarlo a nivel Nacional obteniendo también Mención Especial. Descargar Libro Resumen de Menciones Especiales.



Salida al aire con la versión 2



Nota para Cable Noticias


Y los sobreimpresos?

A esta altura teníamos una señal limpia pero faltaba el agregado de sobreimpresos. Es muy dificil explicarle a colegas acostumbrados a utilizar tecnología análoga el por que es importante solucionar estos detalles en el ámbito digital. Probamos con varios productos (VLC, Gstreamer, Melt) pero no encontraba un software que fuera tan flexible, potente y liviano como ffmpeg y a la vez nos permitiera interconectarse a lo que ya teniamos armado. Es aquí donde nuevamente triunfa el software libre. Gracias a que ffmpeg es licencia GPL, alguien generó una compilación con soporte de filter complex. A partir de ahí fué posible la inclusión de moscas y zócalos.


El proyecto actualmente

Hace pocos dias pudimos estabilizar la emisión en H264 superando la molestia de la incompatibilidad de ffmpeg con las box receptoras. La versión 5 de SAS emite una secuencia única, de ésta manera soluciono el problema de los cambios del reloj. Uno de los temas pendientes es lograr generar un stream  con PCR real ya que el ffmpeg no logra rellenar con paquetes vacios la diferencia de cuadros.
En esta versión estamos manejando el stream a nivel de cuadro a cuadro logrando cosas como camara lenta en tiempo real. En otras entradas iré publicando lo medular de los scripts que estamos utilizando y como hemos ido mejorando y optimizando el sistema.




jueves, 19 de septiembre de 2013

Que es KrabTV ??


KrabTV es mi emprendimiento laboral dedicado, básicamente, al audio y video digital.

Actualmente trabajo en varios proyectos simultáneos que iré compartiendo poco a poco.

Uso básicamente software libre y GNU/Linux en todos mis proyectos.

Mi intención es compartir experiencias generadas con mis trabajos que puedan ser útiles a la comunidad de entusiastas del software libre.