Haciendo Streaming con OBS y servidor icecast2

Estabamos @zorrito y yo buscando una manera de usar la suite de OBS, para el que no lo conozca, un software para grabar y/o hacer streaming, en este caso contra un servidor icecast2 y por el camino me encontré este script de alguien que se le ocurrió usar un sockfile y que he probado con éxito. Aparentemente OBS está pensado para hacer retransmisiones en rtmp en plataformas como Twitch.tv o You2be y no para icecast. Sin embargo OBS es el software más utilizado para los streamers de esas plataformas, ya sea para emitir como para grabar o ambas al mismo tiempo, por eso nos interesaba hacerlo funcionar contra un servidor de icecast2, en principio, aunque también es factible montar un servidor rtmp en el futuro, quien sabe, en elbinario.net todo es factible.

iceobs.sh

ICE_HOST="example.net"
ICE_PORT="8000"
ICE_PASS="hackme"
ICE_MOUNT="/obs.ogg"
FILE="/tmp/iceobs.ogg.sock"

# Requirements: obs oggfwd

rm -f $FILE
mkfifo $FILE
#obs > /dev/null 2>&1 &

echo "Please configure your OBS — in Settings > Output > Recording:"
echo ""
echo "       Output Type: URL"
echo "         File Path: $FILE"
echo "         Container: ogg"
echo "    Rescale Output: 872x490 (or lower)"
echo ""
echo "Click [Start Recording], then press Enter here"
read

echo "Okay, ready to stream now!"
echo "Open your stream at: http://$ICE_HOST:$ICE_PORT$ICE_MOUNT"
oggfwd "$ICE_HOST" "$ICE_PORT" "$ICE_PASS" "$ICE_MOUNT" < "$FILE"

Como se puede leer, tenemos que configurar la grabación de OBS como:

Salida a URL
La ruta de archivo o URL /tmp/iceobs.ogg.sock
Formato Contenedor ogg
Cambiar la escala de salida a 872x490 o menos, en mi caso me funcionó a 680x384

Este script utiliza oggfwd para hacer el streaming, así que instalalo antes

sudo apt install oggfwd

¿Quieres saber más sobre OBS estudio? Pues comenta y veremos si os interesa el tema y me animo a escribir otro post sobre él.

Compartir

4 Comentarios

Deja una respuesta a enjey Cancelar respuesta

Your email address will not be published. Required fields are marked *