Habilitar el soporte para webcams en Freej 0.10

Imagen de RazaMetaL

Tema: 

Freej es una herramienta para mezclar video que podemos utilizar además para enviar audio/video a Icecast2.

El paquete que viene en Debian no soporta el uso de webcams. Para habilitarlo debemos crear un paquete que si lo soporte.

Instalamos dependencias:

aptitude install apt-build
apt-get build-dep freej
aptitude install libunicap2-dev libmozjs-dev libfreej0

Descargamos el fuente:

cd /usr/src
apt-get source freej

Creamos los enlaces simbólicos hacia mozjs:

LIBS=`ls /usr/include/mozjs`
for FILE in $LIBS; do
ln -s /usr/include/mozjs/$FILE /usr/include/$FILE
done

Creamos el paquete deb a partir del fuente:

cd /usr/src/freej-0.10git20090824/
dpkg-buildpackage
cd ..

Instalamos el paquete generado:

dpkg -i dpkg -i freej_0.10git20090824-1_i386.deb

Ahora podemos conectar una webcam, e iniciar Freej:

freej /dev/video0

Para hacer streaming necesitamos crear un script que será ejecutado desde Freej con ctrl+j para ilustrar el ejemplo llamaré a este archivo stream.js y estará ubicado en el raiz de mi home:

audio = new AudioJack("alsaplayer", 2048, 44100);

// values 1-100 video quality video bitrate audio quality audio_bitrate
encoder = new VideoEncoder(10, 64000, 0, 24000);

encoder.add_audio(audio);

encoder.stream_host("servidor.icecast.org");
encoder.stream_port(8000);
encoder.stream_title("Titulo del stream");
encoder.stream_username("source");
encoder.stream_password("password");
encoder.stream_mountpoint("mountpoint.ogg");

register_encoder(encoder);
encoder.start_stream();
// Si queremos grabar el stream descomentamos
//encoder.start_filesave('/media/hd/record/mountpoint.ogg');

También podemos arrancar Freej y que automáticamente empieze a transmitir con el comando:

freej /dev/video0 -j /home/usuario/stream.js

Comentarios

Olvidé comentar que para

Imagen de RazaMetaL

Olvidé comentar que para hacer este pequeño instructivo utilizé Debian SID. Los paquetes libunicap2-dev y libfreej0 no se encuentran en los repositorios stable/testing. Sería necesario configurar apt pinning para instalar estos paquetes.

Por ejemplo para un debian stable agregamos en /etc/apt/sources.list :

deb http://http.us.debian.org/debian stable main contrib non-free
deb-src http://http.us.debian.org/debian stable main contrib non-free

deb http://http.us.debian.org/debian sid main contrib non-free

Creamos un archivo /etc/apt/preferences que contenga los dos repositorios y el nivel de preferencia de cada uno, en este caso estoy usando stable y voy a dar la mayor preferencia a los paquetes de stable:

Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release a=sid
Pin-Priority: 600

Si queremos instalar un paquete de Sid en Stable hacemos:

aptitude -t sid pidgin

Y listo, tendremos la versión de Sid de pigdin en nuestro Debian Stable.

Para instalar las librerías que nos hacen falta para poder compilar Freej ejecutamos:

aptitude install libunicap2-dev libfreej0

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

Una gran duda

Disculpa amigo, estoy tratando de hacer streaming desde ubuntu con icecast2 y freej pero cuando inicio freej me marca un error de Video4Linux layer support not compiled, este tutorial me servirá para resolver mi problema? Gracias Saludos desde México