Codificación en vivo y streaming Vorbis y MP3 en Linux


Para los impacientes, el stream en Vorbis
(como lista de
reproducción
, winamperos, ver el plugin
vorbis
), y el stream en MP3
(lista de reproducción).
El encoder (mp3 y vorbis) y el servidor, es software libre
y funcionando en un Linux sobre un P2 400

Actualización: estoy modificando el servidor de Ogg Vorbis
(parches ya enviados a los autores), básicamente controla mejor el ancho
de banda, recupera buffers y fuerza “prebuffering” en el cliente.
Al menos en mis pruebas, se ha
mejorado muchísimo la estabilidad. Por favor,
probad
el Ogg Vorbis
y comentadme como va. Gracias…

Terminó, o casi, mi búsqueda frenética de una forma de codificar simultáneamente en Ogg-Vorbis
y MP3 en el mismo ordenador y hacer streaming de buena calidad y
poco consumo de ancho de banda. No fue fácil, tiene sus trucos, debido a la
incompatibilidad del icecast1 con Ogg-Vorbis y del
icecast2 con MP3. Tampoco fue fácil encontrar un encoder que
sea capaz de hacerlo simultáneamente y compatible con ambos servidores
icecast. Hasta tuve que hackear el que mejor me iba, el
darkice, parece que está abandonado hace varios meses, a pesar de ser
casi una joya. Aquí cuento brevemente la historia y os doy todas las pistas
para que lo podáis hacer. No entro en detalles, no lo terminaría hasta la
semana que viene, sin embargo están las pistas claves para el que desee
hacerlo.
MP3 + Icecast + liveice
En la primera prueba que hice fue
con MP3 usando el icecast 1.3.11 como
servidor de streaming y el liveice
como codificador en tiempo real con la ayuda del Lame,
un software GPL que no es un encoder MP3.
Vorbis + Icecast2 + iceS
Si buscas sólo difundir en MP3, a pesar de los problemas de patentes, lo
anterior funciona muy bien. Pero yo quería codificarlo con el Ogg Vorbis. La solución
es relativamente sencilla, pero tiene su truco. Hay que bajarse el código
fuente del icecast2 y herramientas (iceS para codificar, libshout,…) desde el CVS y compilarlo en
casa.
Necesita de otras librerías de Ogg y Vorbis, pero es muy fácil en Debian:

apt-get install libogg-dev libogg0 libvorbis-dev libvorbis0

Una vez que tengas los fuentes y módulos adicionales explicados en el
fichero HACKING del icecast2, iceS y libshout, ya puedes compilar e
instalarlos siguiendo las instrucciones muy sencillas.
Cuando esté instalado, sólo necesitas ejustar el fichero de configuración
del icecast2 y del iceS.
Vorbis + MP3 + Icecast + Icecast2 + darkice
Aquí está lo interesante, ¿como hacer que el mismo encoder genere
MP3 y Vorbis simultáneamente? (no se pueden usar dos codificadores distintos
con el OSS en la misma tarjeta…). Eso lo hace el darkice, que lo tuve que
modificar levemente para que sea compatible correctamente con el icecast2
(hint: cambiar por la función vorbis_encode_init_vbr() y sus
parámetros correctos para que funcione). También hay que compilarlo con las
librerías Lame para que genere MP3.
Ahora sólo hay arrancar el icecast1, el icecast2 (en puertos distintos) y
configurar el darkice para los dos (o más) streams y voilà, a disfrutar

NOTA: en un P2 400 Mhz, con las configuraciones curradas y
con la calidad que oís, me consume un 30% de CPU en total. También veréis
que la calidad el Vorbis es mejor que el MP3…
NOTA FINAL: el zumbido de fondo es porque el walkman que uso no está bien
orientado y está cerca del ordenador. Cuando pase por mi despacho (allí está
todo) ya lo arreglaré, o usaré otra estación con mayor potencia 🙂

Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=1194 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.