2005/Streaming

De Hackmeeting

A estas alturas con las tecnologías de las que disponemos ya podemos hacer difusión unicast y multicast de video en vivo a La Red con muy buena calidad y herramientas GNU.

Para visualizar el stream es necesario cualquier reproductor capaz de reproducir codecs libres.


Tabla de contenidos

Contenidos

Las charlas son dos a la vez, lo ideal sería grabarlas todas con cámara de vídeo, entrando a la cámara dv desde la mesa de mezcla de audio para evitar los ruidos, o alternativamente tener un buen mic direccional. Estos son dos setup audio/video, luego hay otro setup para la fiesta y la ceremonia tecnopagana, durante la cual se va a recibir también un stream audio/vídeo desde el bek (noruega), okupa donde tendrá lugar un evento sobre multimedia y freesoftware. Se podrían recibir otros streams, y también buscar contactos para que lo reciban, sobretodo en países de habla hispana.

STREAMS

INTERFICIE


http://giss.labbs.net/player/hm05.html


en detalle:


AUDIO/VIDEO (ffmpeg2theora+icecast2):


http://hackitectura.net:8000/menorhack.ogg


AUDIO (ices2+icecast2):


http://hackitectura.net:8000/menorhack_audio.ogg



para pillar audio/video y audio con todas plataformas utilizar vlc(si sois capaces de configurarlo, claro).

para pillar audio/video en plataformas linux tb mplayer y xine.

para pillar audio en plataformas linux tb xmms

Herramientas

ffmpeg2theora me parece la mejor solución en cuanto se pueden utilizar libs theora-mmx:

http://lists.xiph.org/pipermail/theora/2005-August/000953.html

que acceleran el encodeo video arreglando en parte el problema de los recursos (en cpu) que el mismo proceso de encodeo conlleva.


Para instalar ffmpeg2theora de la manera más sencilla se puede bajar el binario de la ultima versión:

http://www.v2v.cc/~j/ffmpeg2theora/download.html

o tb el paquete debian de la versión anterior (está en main)


Ffmpeg2theora es un tool para encodear, si se quiere hacer streaming entrando desde una camera dv, por ejemplo, se utilizerán:

dvgrab (para entrar la señal desde firewire) [cuidado con la versión 2.0]

http://www.kinodv.org/article/view/98/1/7/

o tb el paquete debian de la versión 1.8 (está en main)


y oggfwd para pasar el encodeo al server (icecast2_kh) que es el que streamea:

http://www.v2v.cc/~j/ffmpeg2theora/oggfwd/


tb las librerias libshout:

http://downloads.us.xiph.org/releases/libshout/

o tb los paquetes debian: libshout3 y libshout3-dev (está en main)


Una resolución 320X240 son 100/120kbits de ancho de banda requeridos (para un flujo stream)

Componentes necesarios

Cárama de video MiniDV con puerto FireWire. Ancho de banda de subida dedicado de unos 164kbits para un stream de 640x480, calidad muy buena. El stream se envia al servidor Icecast con soporte para video Ogg Theora y a este servidor, con buena conexión a La Red, se conectan los clientes que quieran ver la difusión en vivo.

También se pueden usar cámaras convencionales y capturadoras sencillas (cualquiera soportada por V4L). La conexión de la cámara al ordenador es analógica (posibilidad de pérdida de señal), pero en contrapartida son mucho más baratas.


Lado cliente, tres soluciones

Una que funciona pero se puede mejorar. El sistema se lanza desde un script que va llamando a diferentes programas que se van pasando los datos usando tuberías (pipes)

Componentes:

* dvgrab
* ffmpeg2theora
* oggfwd

Otra que personalmente, a mi deal, me gusta más que es VideoLAN. Consume bastante menos CPU, a la hora de la codificación en vivo, que la solución anterior. El tema se maneja desde interface gráfico GTK, que dispone de numerosas opciones de configuración de la difusión de forma sencilla, también es posible usarlo via línea de comandos o mediante scripting. Tiene soporte de IPv6 y difusión unicast, multicast, RealTimeProtocol (RTP), posibilidad de programar parrillas fácilmente, etc.

Además de transcodificación, VideoLAN dispone de múltiples filtros (duplicar streams, volcar a archivo - protocolo file -, transformar la señal, etc.) De todas las soluciones de video streaming, es la única que soporta codecs no libres (DivX, MP3, etc.). La codificación a Theora utiliza mucha CPU.

Por último, pero seguro que hay 20 más :), es Flumotion. Entre sus características están las de tener un conjunto de herramientas gráficas e intuitivas de administración, que hacen posible la tarea de puesta en marcha y manipulación del audio/video bastante fácil para cualquier administrador sin demasiados conocimientos técnicos.

Lado servidor

  • Icecast2 / Flumotion / VideoLAN
  • Buena conexión a LaRed.
  • Para servidores con gran carga se podria usar relays pero no creo que en este caso sea necesario, se dispone de 100mbits simétricos. Para temas que lo requieran, la gente de giss/labbs tiene todo el sarao montado.

Grabación del material

Este se deberia hacer en dos puntos, por si las moscas. Uno en el Hackmeeting y otro en el servidor de Internet. La idea de esto sería producir un DVD con el material producido en el Hackmeeting 2005.

Las grabaciones para producir un dvd (encodeo a mpeg2) no pueden (almenos en mi opinion) ser las grabaciones de los streams, en cuanto las primeras son lossless compression mientras las segundas son lossy, y yo no encodaria nunca, por ejemplo un ogg o mpeg2. Los streams se pueden grabar (en el server y en local) y luego uploadarlas. El dvd requiere grabaciones en cintas de todas charlas + encodeo + autoria_dvd, como minimo (pq el ideal seria editar un minimo las charlas o hacer las tomas muy, muy bien bien). Todo se puede hacer con freesoftware (tengo experiencia directa, es decir, yo lo he hecho). Pero es un super-curro y habria que hacerlo en contemporanea, es decir, en los dias mismos del evento.(valentina)

wiki-navigation
project-navigation