Cómo grabar video y televisión las 24 horas

9 comentarios
Linux y el Software Libre pueden asistir a emisoras comunitarias y medios del Estado, de forma muy económica. Así lo hicimos nosotros.

Trabajé en YVKE Mundial entre febrero de 2007 y julio de 2009 bajo la dirección de la prof. Cristina González, como coordinador de la página web tanto en el lado comunicacional como en el lado técnico, siendo uno de los trabajos más gratificantes que he tenido en mi carrera.


Con un excelente equipo, obtuvimos dos premios (el Premio Metropolitano de Periodismo Aquiles Nazoa 2008 y el Premio Municipal de Periodismo del Concejo Municipal de Libertador 2009 a la mejor página web), llegamos a obtener en promedio 35 mil visitantes diarios, con picos de 60 mil visitantes en un sólo día, y entablamos una excelente relación con nuestros usuarios y con otras páginas web del proceso revolucionario con las cuales trabajábamos juntos.

La nueva gestión de YVKE Mundial, presidida por el teniente José Gregorio Zambrano, echó para atrás una serie de logros técnicos y periodísticos en dicha página web. Pero lo que no podrá evitar es que aprovechemos este espacio para publicar cómo realizamos mucho del trabajo en esa página web, con la idea de que otras páginas web revolucionarias, emisoras alternativas y comunitarias puedan aprovechar estos conocimientos y fabriquen ellos mismos soluciones baratas para mejorar su labor comunicacional.

Grabando videos las 24 horas

Una de las innovaciones técnicas de la página web de YVKE fue la de presentar videos junto a las noticias publicadas, siendo la primera página web del Estado que cumplía esta función. Los videos, en la mayoría de los casos, eran tomados de la señal de Venezolana de Televisión, Ávila TV, Globovisión, y en algunos casos también realizamos videos nosotros mismos. De esta forma, la página web de YVKE Mundial fue la primera del Estado venezolano en incluir multimedios que no dejaban duda de lo que sucedía en la noticia, divulgando hechos de importancia, desmontando matrices mediáticas y reproduciendo videos de discursos y anuncios históricos.

Son muchos los ejemplos de videos que subíamos: anuncios del Presidente Chávez, sus aliados o sus subalternos, agresiones a partidarios del proceso bolivariano, videos de análisis y desmontajes de matrices mediáticas, entrevistas, documentales, videos como los de Jorge Amorín o los Pelúos con Curitas mostrando en qué cree realmente la oposición. Los videos generan miles de visitas y son enlazados por otros sitios, como Aporrea, blogs y similares.

Nada de Youtube: Plataforma propia para mostrar los videos en Internet

YVKE Mundial se abstuvo de utilizar páginas web de terceros, como Youtube o Dailymotion, para subir sus videos. Los videos relacionados con la revolución son con frecuencia eliminados de estas páginas con una diversidad de excusas (violación de derechos de autor o similares); como se recordará, a mí me borraron unos 450 videos de Youtube en el año 2007,  y a la propia página web Aporrea le han borrado más de 2.500 videos subidos a Youtube. Para ello, contamos desde el principio con una plataforma propia, inicialmente montada en la empresa estadounidense DreamHost, y luego en la empresa Cantv, donde reside actualmente.




Para hacer esto, instalamos en YVKE Mundial equipos que grababan las 24 horas los videos de Venezolana de Televisión, y los mantenían almacenados hasta por una semana. Estos equipos también permitían extraer el audio, que el personal de prensa y producción usaban para sus micros, noticias y trabajos especiales.

Me he enterado de que, en algunos entes del Estado, gente inescrupulosa ha cobrado 200 mil o 300 mil bolívares fuertes (200 millones o 300 millones de los viejos) por colocar sistemas similares para salas situacionales. En otros casos, como en Avila TV, utilizan grabadoras de DVD, que requieren de operadores las 24 horas, que cada 2 ó 3 horas cambien los DVDs que se graban en esos aparatos. El costo de los miles de DVDs vírgenes utilizados mensualmente es bastante grande. En Conatel tengo entendido que aún usan un sistema similar, pero con cintas de VHS, un medio magnético que tiende a irse degradando con el tiempo.

A nosotros, hacer este sistema nos costó unos 3 mil ó 4 mil bolívares fuertes (la mayor parte del mismo es el costo de un computador), si bien con algo más de dinero se podría montar una plataforma mucho mejor, que conserve los videos por más de 7 días o que grabe múltiples canales de TV.

Nuestros periodistas y redactores, una vez conocían a qué hora transmitió VTV un video que les interesaba, ingresaban al computador a través de la red, buscaban los archivos, los copiaban a su computador personal, los editaban usando un programa llamado Avidemux, los convertían a un formato apropiado para Internet y lo subían. Si no conocían a qué hora se transmitió un video, podían buscarlo.

Si usted no tiene formación en informática y no entiende nada de lo que dice este artículo, no hay problema; le será sencillo conseguir alguna persona que haga estos trabajos por usted, ello debido a que cualquier muchacho o muchacha que haya hecho cursos de administración de servidores Linux y sepa programar en Bash puede seguir estas instrucciones. Si entiende inglés, mucho mejor. Incluso amigos que no estudiaron formalmente la carrera de computación, como Eitan Mizrahi, licenciado en Comunicador Social y webmaster de Venezolana de Televisión, encontraron instrucciones parecidas a estas en diferentes páginas web y lograron montar sistemas similares o mejores. La Agencia Bolivariana de Noticias también estudió montar un sistema similar. 

Los equipos que utilizamos para grabar TV las 24 horas

Lo que hicimos fue colocar un computador común y corriente, básicamente un clon con una tarjeta madre decente, 1 GB de memoria, una buena tarjeta de red, un disco duro de 500 GB y una tarjeta capturadora de televisión, la Hauppauge Wintv PVR 150.

Las tarjetas capturadoras Hauppauge, pues funcionan muy bien bajo Linux y comprimen en hardware, en formato MPEG.

Si conoces otras marcas de tarjetas capturadoras de televisión que den buenos resultados bajo Linux, por favor déjanos tu experiencia en un comentario en este artículo. He experimentado con otras tarjetas capturadoras que se venden en Venezuela, pero por lo contrario, ellas no comprimen por hardware sino que entregan el video sin compresión alguna, dejando al CPU de tu computadora el trabajo de la compresión en tiempo real, lo que causa que tu computador se ponga lentísimo. O, si grabas sin compresión, ocuparás gigantescas cantidades de espacio en disco duro.

Bajo Linux, el driver para las Hauppauge PVR-150 es el ivtv-driver, que ya viene en Ubuntu y se instala con los paquetes ivtv-source e ivtv-utils. Además, hay que bajarse el firmware, e instalarlo en la carpeta /lib/firmware.

Las Hauppauge tienen la particularidad de que, una vez instalado su driver, ellas crean en Linux un dispositivo /dev/video0 que se comporta como un archivo. Si usted abre una ventana de comandos, puede escribir esto:

   cat /dev/video0 > mi-archivo.mpg


Déjela así 5 segundos, luego presione Ctrl+C. Si abre mi-archivo.mpg con cualquier programa para ver videos, ¡se dará cuenta de que el archivo es un MPEG nativo, sin necesidad de conversión alguna! Ello permite manipular la tarjeta usando scripts de Bash; no hacen falta programas especializados. De hecho, se puede enviar la salida de /dev/video0 directamente a programas como ffmpeg o mencoder, que permitirán convertir el video en tiempo real a otros formatos que compriman aún más el video.

Hauppauge en Venezuela

El principal problema lo tendrá consiguiendo la tarjeta Hauppauge en Venezuela. Nosotros no pudimos conseguir ningún importador que la trajera, pero un amigo revolucionario nos la compró vía Internet usando su cupo en Cadivi, y nos la donó. La tarjeta cuesta apenas 60 dólares. De vez en cuando aparece alguien en MercadoLibre vendiendo una.


Nuevos modelos

Actualmente, la Hauppauge PVR-150 ya no se fabrica, debido a que en Estados Unidos ya migraron a la televisión de alta definición. Su sustituto es la Hauppauge HVR-1600, que funciona también con la televisión analógica y tiene codificador de MPEG por hardware. El fabricante explica en su página web cómo instalar el driver bajo Linux (las instrucciones están en inglés); recuerde que la HVR-1600 también requiere instalar el "firmware"  en la carpeta /lib/firmware.

Otra opción podría ser la Hauppauge HVR-1950, que es externa y se conecta al computador por USB. Según el fabricante, también funciona bajo Linux. Advierto, sin embargo, que no he probado personalmente ni la HVR-1600 ni la HVR-1950, pero sí doy fe del excelente funcionamiento de la PVR-150. 

Calidad de la grabación

Si bien es posible conectar la tarjeta Hauppauge a una antena de televisión común y corriente, nosotros queríamos tener una señal de VTV con la máxima calidad y menor ruido posible. Entre otras cosas, nosotros extraíamos del video de VTV "cuadros" o "fotos" que usábamos para ilustrar las noticias en la página web, por lo que necesitábamos que el video se vieran muy bien. Por ello, contratamos una suscripción de Directv, y conectamos el decodificador a la Hauppauge para tener una señal de buena calidad. 

Si deseas grabar varios canales de TV, el usar Directv disparará los costos, pues requerirás una suscripción de Directv por cada canal que quieras grabar (en varias salas situaciones he visto que pagan por 7 u 8 decodificadores de Directv, gastando en eso más de un millón mensual). En esos casos, tal vez sea mejor pagar para que te instalen antenas de buena calidad en el techo de tu oficina, o usar servicios de televisión por suscripción tradicional vía cable coaxial (como Intercable, NetUno o Supercable), que tienen la ventaja de que su señal se puede "splittear" o dividir para alimentar varias tarjetas capturadoras pagando una sola suspcrición. Lamentablemente, esos servicios sólo están disponibles en zonas residenciales, pero si de verdad quieres grabar muchos canales de televisión, te saldrá más barato alquilar una oficina pequeña en una zona residencial, que pagar por 7 u 8 decodificadores de DirecTV.

El software y ffmpeg

Ffmpeg es considerado la "navaja suiza" para el manejo de videos y audios en Linux. Es un comando de consola que permite convertir cualquier audio o video de un formato a otro, cambiando además el tamaño físico del video, su tasa de bits, los cuadros por segundo y muchos otros parámetros.  Nosotros decidimos hacer que se grabaran los videos a través de un "cron job", es decir, un script que se invoca automáticamente cada cierto tiempo. Dicho script invoca a ffmpeg y le indica que tome el video de la tarjeta Hauppauge, lo comprima y lo guarde.

Para ser más específicos, el script se invoca cada media hora, y tiene como función:
  • Fijar los parámetros de brillo, contraste, saturación y compresión de video.
  • Indicarle a la tarjeta que utilizaremos su sintonizador de televisión, fijado en el canal  8 (Venezolana de Televisión)
  • Invocar a ffmpeg, decirle que tome video desde la capturadora de televisión, que lo recorte (pues el video viene con un espacio en negro alrededor de la imagen de televisión), que le cambie el tamaño a 480x360 píxeles (originalmente viene a 720x480), y que lo grabe en formato MPEG-4. Esto se hace para reducir el tamaño de los archivos, preservando la mejor calidad posible. Pueden usar también otros formatos, como mpeg1video o libxvid, que también son de buena calidad. 
  • Cada video dura media hora, pero en realidad se graba por 1795 segundos, es decir, 29 minutos y 55 segundos; se da un margen de 5 segundos entre video y video, ello para evitar que una grabación choque con la otra. Eitan Mizrahi me indicó que él pudo disminuir el tiempo a 2 segundos, y que él prefirió grabar los vídeos en bloques de una hora, lo que le ha funcionado mejor.
A cada archivo se le coloca un nombre dependiendo de la fecha y hora que fue grabado, de esta manera:

video-2009-08-31—16-30.avi

Donde 2009 es el año, 08 es el mes (en este caso agosto), 31 es el día, 16 es la hora (en formato militar) y 30 es el minuto (en este caso, 4:30 pm).  Por ejemplo: Si el redactor quiere colocar un video de un discurso de Chávez que dio el 4 de agosto a las 3:25 de la tarde, deberá buscar el archivo video-2009-08-04--15-00.avi

El script que utilicé es este:

        # SCRIPT PARA GRABAR VIDEO
    # POR LUIGINO BRACCI ROA
    # Lbracci @ cantv.net, Lbracci @ gmail.com
    # Parametros para brillo, contraste, rate de video
    v4l2-ctl --set-ctrl=brightness=150,contrast=82,saturation=105,hue=0,video_bitrate=12000000,video_peak_bitrate=18000000,volume=65535

    # Indicamos que vamos a grabar desde tvtuner
    v4l2-ctl -i 0

    # Nos ponemos en el canal 3, en el cual conectamos el Directv.
    ivtv-tune -c 3

    # Le colocamos al archivo la fecha y hora actual como nombre  FECHA=`date +%Y-%m-%d--%H-%M` # Borramos todos los archivos con más de 7 días, ello para evitar que se llene el disco duro. # Puedes experimentar con la cantidad de días dependiendo del espacio libre.  
    FECHA_BORRAR=`date --date "-7 days" +%Y-%m-%d--`

    # Aquí llamamos a ffmpeg para crear el video, se graba por media hora
    ffmpeg -i /dev/video0 -ab 64k -ar 44100  -croptop 20 -cropbottom 20 -cropleft 20 -cropright 20 -vcodec mpeg4 -b 1600k -s 480x360 -t 1797 /home/Samba/video/video-${FECHA}.avi  >> /home/Samba/video/nuevolog.txt &

    # Se borran videos de mas de 7 dias
    rm /home/Samba/video/video-${FECHA_BORRAR}*

Nota: En Ubuntu 12.04, ffmpeg está siendo sustituido por un programa llamado avconv. En ese caso, cambia la línea de ffmpeg mostrada arriba en negritas, por esta:

avconv -i /dev/video0 -ar 44100 -c:v mpeg4 -b:v 1600k -b:a 64k -s 480x360 -t 1797 /home/Samba/video/video-${FECHA}.avi >> /home/Samba/video/nuevolog.txt &

Los videos son grabados en una carpeta del servidor, que compartimos en la red a través de Samba. De esa forma, todos los trabajadores de la emisora podían entrar allí, bajarse los videos y usarlos en su día a día.

Una vez un periodista ubica un video, lo copia a su computador y entonces lo puede editar con el programa avidemux, que le permite seleccionar un fragmento del mismo donde se encuentra la noticia. Entonces le puede dar “Guardar” para grabar el video (siempre en formato AVI).

Para subirlo a la página web, el archivo debía ser convertido a los formatos FLV o MP4. El formato FLV (Flash Video) es el formato de videos de Flash, el mismo que usa Youtube. Es el necesario para mostrar videos en una página web. MP4 brinda mayor calidad, pero tarda más en hacerse la conversión y era más pesado. Lo usábamos para colocar videos de conciertos o de videos de agresiones, golpizas y todos aquellos donde hubieran movimientos rápidos y muy bruscos, que el formaro FLV no podía manejar adecuadamente.

Este es el script "Convertir-a-FLV.sh" que usábamos para convertir videos a FLV, usando nuevamente ffmpeg. La periodista lo invocaba haciéndole click al archivo AVi con el botón derecho, y seleccionando "Abrir con... -> Convertir-a-FLV.sh".

    xterm -e "ffmpeg -i $1 -ab 48k -ar 44100 -ac 1 -b 220k -s 320x240 -acodec libmp3lame  $1.flv ; echo '... TERMINADO' ; sleep 10;"

Con xterm nos asegurábamos que apareciera una ventanita negra que le mostraba al periodista que la conversión estaba en curso. Al terminar, aparecía un mensaje "TERMINADO".

Con ffmpeg también hacíamos conversiones al formato MP4, de mejor calidad. Era necesario complementarlo con el comando qt-faststart, que hace ciertas modificaciones al archivo necesarias para que empiece a reproducirse en Internet apenas comience a cargarse.
Calidad regular de 400k
ffmpeg -i $1 -acodec libfaac -ab 128kb -vcodec libx264 -b 400kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x240 $1-400k.mp4  
qt-faststart $1-400k.mp4 $1-400k-final.mp4  
rm $1-400k.mp4

Calidad alta de 600k  
ffmpeg -i $1 -acodec libfaac -ab 128kb -vcodec libx264 -b 600kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 480x360 $1-600k.mp4 
qt-faststart $1-600k.mp4 $1-600k-final.mp4 
rm $1-600k.mp4 

Calidad baja de 250k 
ffmpeg -i $1 -acodec libfaac -ab 64kb -vcodec libx264 -b 250kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x240 $1-250k.mp4  
qt-faststart $1-250k.mp4 $1-250k-final.mp4 
rm $1-250k.mp4
Es de recordar que, si usas Debian GNU/Linux en el servidor que graba las 24 horas, asegúrate de instalar la versión de ffmpeg disponible en Debian Multimedia (Marillat), que está mucho más actualizada y tiene más codecs que la que viene con Debian por defecto.

Manejador de contenidos

Nuestro manejador de contenidos, hecho por nosotros mismos a partir del software de foros phpBB, fue modificado para aceptar archivos MP4 y FLV, y al detectarlos automáticamente usaba el JW Flash Player para mostrarlo. Habrá quien se queje de que el usar soluciones basadas en Adobe Flash no es una solución libre, pero queríamos usar una forma sencilla de que todos pudieran ver videos sin importar su plataforma y sistema operativo, y Flash había logrado una omnipresencia casi total debido a que era el reproductor necesario para ver videos en Youtube y páginas similares.

Cuando el estándar HTML 5 sea adoptado por todos los navegadores, será posible dejar de usar soluciones basadas en Flash para mostrar videos.
Si a usted le gusta este artículo, ¡compártalo!
Digg it StumbleUpon del.icio.us Google Yahoo! reddit

9 Response to Cómo grabar video y televisión las 24 horas

lunes, 3 de mayo de 2010, 13:15:00 GMT-4:30

Seria interesante que publicaras tu manejador de contenido y su codigo php.... tambien me gustaria saber sobre algun automatizador para una canal de tv que maneje mas de 4 fuentes y trabaje con preview externo.... pronto estare publicando alternativas para lo ultimo lastimosamente en software propietario pero corriendo en ubuntu... muy bueno tu blog

domingo, 18 de julio de 2010, 6:38:00 GMT-4:30

Excelente artículo, gracias por compartirlo. Me lo voy a copiar :-)

miércoles, 10 de noviembre de 2010, 17:31:00 GMT-4:30

Excelente, muy buen articulo.
Tengo una duda. Porque comprimir los videos en flv y mp3 y nos h264 y aacplus..??

de nuevo gracias por la guia, bastante buena

lunes, 3 de enero de 2011, 14:58:00 GMT-4:30

Muy Buen articulo.
Una pregunta, se puede grabar varios canales de tv analógica con una sola tarjeta?

domingo, 19 de junio de 2011, 23:21:00 GMT-4:30

Muy buena info, gracias

domingo, 4 de septiembre de 2011, 20:46:00 GMT-4:30

TITULO CADA NOCHE UN AMOR,

cada noche un amor,
distinto amanecer
diferente vision,
cada noche un amor,
pero dentro de mi
solo tu amor quedo,
oye te digo en secreto
que te amo de veras
que sigo de cerca tus paso;
aunque no me quieras,
que siento tu vida
por mas que te alejes de mi,
que nada ni nadie hara que
me olvide de ti,oye te digo
en secreto,que te amo de veras
que sigo de lejos tus pasos,
aunque tu no quieras,que siento
tu vida por mas que te alejes de mi,
que nada ni nadie,hara que mi pecho
se olvide de ti,hara que mi pecho
se olvide de ti

domingo, 18 de septiembre de 2011, 23:02:00 GMT-4:30

Hola Luigino.
Me gustaría poder contactar contigo, ya que tengo un pequeño proyecto en el cual realizaríamos monitoreo de TV.
Y por lo que estoy leyendo en tu blog tienes todas las bases para poder realizarlo.
Ojala podamos estar en contacto, te dejo mis datos.
Cesar Fabila.
cfabila@live.com.mx

Gracias.

sábado, 20 de abril de 2013, 11:47:00 GMT-4:30

Gracias, Luigino.

miércoles, 13 de abril de 2016, 16:25:00 GMT-4:30

Buen proyecto. de verdad felicitaciones.
Una duda,
Ustedes en las pruebas no se encontraron que el vídeo dejaba de grabar? O se le va el audio a los pocos minutos de la grabación?
tengo este falla y quería saber si me podía ayudar gracias

Publicar un comentario en la entrada