Emitir vídeo en streaming con icecast2 y linux
Para emitir con el codec theora se puede usar ffmpeg, oggfwd y icecast2. ffmpeg cambia el formato de vídeo para que oggfwd lo envíe al servidor icecast2, el cual esperará a todos los clientes que quieran verlo.
Emitir la señal en directo en formato theora con Icecast 2
Éste es un ejemplo para emitir vídeo en formato OGG Theora a un servicor Icecast 2.
Una tarjeta capturadora de vídeo que utilice el chip BT8x8 tiene varias entradas, entre ellas TV, vídeo compuesto, S-Video, etc. Para seleccionar la entrada se debería utilizar v4l2-ctl:
root@wasge-ubuntu:~# v4l2-ctl -d /dev/video0 -i 0
Pero en mi caso ésto no ha funcionado. Parece que ffmpeg no hace caso a ésta configuración. Sin embargo, al utilizar ffplay para visualizar la imagen, ffmpeg sí que recuerda esa configuración.
root@wasge-ubuntu:~# ffplay -f video4linux2 -i /dev/video0 -channel 1
Gracias a ese comando se puede visualizar la imagen en directo, pero ahora habrá que emitirla a un servidor. En el ejemplo voy a utilizar un servidor Icecast 2 sin configurar (por eso tiene la contraseña hackme).
root@wasge-ubuntu:~# ffmpeg -f video4linux2 -i /dev/video0 -f ogg -codec:v libtheora -vb 300k - | oggfwd localhost 8000 hackme directo.ogg
Gracias al parámetro -vb se puede especificar el bitrate (bits por segundo) del vídeo.