Salta el contingut

PR0703 — Producció en Directe amb RodeCaster Pro II i StreamYard

Informació de la pràctica

Camp Valor
Codi PR0703
Mòdul M0375 — Serveis de Xarxa i Internet
RA RA7 — Serveis d'Àudio en Xarxa
Durada estimada 3-4 hores (torn de 25-30 min amb l'equip + preparació prèvia)
Modalitat Individual
Lliurament Document PDF + captures + enllaç a la gravació
Qualificació 10 punts (rúbrica adjunta)

Objectius

En aquesta pràctica aprendràs a:

  • ✅ Configurar el mesclador RØDECaster Pro II com a font d'àudio professional
  • ✅ Gravar un episodi de pòdcast en grup directament a targeta SD
  • ✅ Utilitzar el RodeCaster com a interfície d'àudio USB per a un ordinador
  • ✅ Muntar una emissió en directe amb StreamYard utilitzant l'equip com a entrada
  • ✅ Connectar la sortida de StreamYard a un servidor Icecast propi mitjançant un pont RTMP → Icecast amb ffmpeg
  • ✅ Comprovar la recepció del directe des de diversos clients (navegador, VLC, StreamYard)

Organització de la pràctica

A diferència de les pràctiques anteriors (Icecast i Podcast amb Docker), que cada estudiant realitza individualment al seu propi ordinador, aquesta pràctica es realitza en grups de 3-4 persones, ja que el centre disposa d'una única unitat física de RodeCaster Pro II.

  • El professor organitza torns d'uns 25-30 minuts per grup amb l'equip.
  • Mentre no és el vostre torn, prepareu el guió, el docker-compose.yml del pont Icecast i el compte de StreamYard, de manera que el temps amb el maquinari s'aprofiti només per gravar/emetre.
  • El lliurament és per grup, amb els noms de tots els membres a la portada.

Substitució de GRUPX

Al llarg de la pràctica, substitueix GRUPX per un identificador del vostre grup (per exemple grup1, grupB), en minúscules i sense espais, de manera consistent a tots els fitxers i noms de mount point.

Requisits

Maquinari necessari

  • RØDECaster Pro II (equip de l'aula)
  • Micròfons XLR i auriculars (proporcionats amb l'equip)
  • Ordinador portàtil amb port USB-C i connexió a Internet estable (mínim 3-5 Mbps de pujada)

Programari necessari

  • App RODE Central (opcional, per gestionar firmware i so dels pads)
  • Navegador modern: Chrome o Edge (StreamYard hi funciona millor)
  • Compte gratuït a StreamYard
  • Docker Desktop/Engine i ffmpeg

Coneixements previs

  • Pràctica "Streaming amb Icecast i Docker" completada (es reutilitza el servidor Icecast propi)
  • Conceptes de teoria: protocols de streaming, arquitectura Icecast, RTMP (vist també al bloc de vídeo)

Part 1: Configuració del RodeCaster Pro II

Pas 1.1: Connexió i gain staging

  1. Connecta els micròfons XLR als canals 1-4 i els auriculars a la sortida de monitor.
  2. Activa cada canal i ajusta el guany (gain) de manera que el vúmetre marqui pics al voltant de -12 dB, evitant que arribi a vermell (clipping).
  3. Assigna un nom a cada canal des de la pantalla tàctil amb el nom de la persona que hi parla.

Pas 1.2: Pad de so personalitzat

  1. Grava un breu jingle d'entrada (3-5 segons) dient el nom del grup: "Sou a l'emissió de GRUPX".
  2. Assigna'l a un dels pads de so del RodeCaster per poder-lo disparar durant la gravació/emissió.

Pas 1.3: Mode d'interfície USB

  1. Ves a Settings → USB Audio i selecciona el mode Multichannel (o 2-Channel Stereo Mix si el laptop/StreamYard només admet una entrada estèreo).
  2. Connecta el RodeCaster a l'ordinador amb el cable USB-C.
  3. Al sistema operatiu, comprova que apareix com a dispositiu d'àudio: RODECaster Pro II.

AC0375/07/05 — Miniactivitat de grup

RA7 · CA7b, CA7h

Fes una captura del vúmetre de cada canal parlant a volum normal i documenta el valor de gain aplicat a cada micròfon. Explica per què és important evitar el clipping abans de comprimir/emetre l'àudio.


Part 2: Gravació d'un Episodi a la SD

Pas 2.1: Guió ràpid

Prepareu (abans del vostre torn) un guió breu de 5-8 minuts on cada membre del grup expliqui, amb les seves paraules, un concepte del RA7 (formats d'àudio, Icecast, podcasting, etc.).

Pas 2.2: Gravació local

  1. Insereix una targeta microSD al RodeCaster.
  2. Prem el botó Record per iniciar la gravació local (independent de qualsevol ordinador).
  3. Utilitza el pad d'entrada creat al Pas 1.2 per obrir l'episodi.
  4. Atura la gravació en acabar.

Pas 2.3: Extracció del fitxer

Connecta el RodeCaster en mode SD Card Reader (o utilitza l'app RODE Central) per copiar el fitxer a l'ordinador:

mkdir -p ~/rodecaster-GRUPX
cp /media/RODECASTER/RECORDINGS/*.wav ~/rodecaster-GRUPX/episodi-GRUPX.wav

Pas 2.4: Publicació com a nou episodi del podcast

Reutilitza la infraestructura de la pràctica Podcast amb Docker: converteix a MP3 i afegeix un nou <item> al podcast.xml que ja teníeu, amb l'enclosure apuntant a aquest nou episodi.

ffmpeg -i episodi-GRUPX.wav -codec:a libmp3lame -b:a 128k episodi-GRUPX.mp3

Part 3: Emissió en Directe amb StreamYard

Pas 3.1: Configurar l'entrada d'àudio a StreamYard

  1. Entra a StreamYard i crea un nou Broadcast.
  2. A Settings → Microphone, selecciona RODECaster Pro II com a dispositiu d'entrada.
  3. Comprova al vúmetre de StreamYard que l'àudio del RodeCaster arriba correctament.

Pas 3.2: Convidar participants remots (opcional)

StreamYard permet afegir convidats per enllaç. Un membre del grup pot connectar-se des d'un altre portàtil/mòbil per simular una entrevista remota, tal com es faria en un pòdcast real.

Pas 3.3: Configurar la destinació de sortida

StreamYard necessita una destinació RTMP on emetre. Teniu dues opcions:

Opció A (recomanada) — Servidor RTMP propi, reutilitzant el contenidor Nginx-RTMP de la pràctica de vídeo:

Servidor RTMP: rtmp://<IP-del-teu-ordinador>:1935/live
Clau de stream: directe-GRUPX

Si encara no tens aquest contenidor desplegat, aixeca'l amb el mateix docker-compose.yml de la pràctica "Streaming de Vídeo amb Nginx-RTMP i Docker".

Opció B — Destinació real: si algú del grup té un canal de YouTube, es pot afegir com a destinació "no llistada" des de Destinations → Add a destination.

Privadesa

Utilitza sempre emissions no llistades/privades. No publiqueu els directes de classe com a contingut públic.

Pas 3.4: Iniciar l'emissió

Fes clic a Go live a StreamYard. L'àudio del RodeCaster (i el vídeo de la càmera, si en teniu) comença a emetre's cap a la destinació RTMP configurada.


Part 4: Pont de Protocols — de RTMP a Icecast

StreamYard emet en RTMP (contingut audiovisual), però Icecast és un protocol específic per a àudio en xarxa. Per tancar el cercle amb la pràctica d'Icecast, farem servir ffmpeg com a pont: agafa el flux RTMP, en descarta el vídeo i el reemet com a font Icecast en MP3.

Pas 4.1: Comanda del pont

Amb el servidor Icecast de la pràctica anterior ja funcionant:

ffmpeg -i rtmp://localhost:1935/live/directe-GRUPX \
  -vn -codec:a libmp3lame -b:a 128k \
  -f mp3 icecast://source:CONTRASENYA_GRUPX@localhost:8000/directe-GRUPX.mp3
  • -vn: descarta el vídeo (Icecast només transporta àudio)
  • -codec:a libmp3lame -b:a 128k: recodifica l'àudio a MP3 128 kbps
  • icecast://...: envia el resultat com a source al mount point /directe-GRUPX.mp3

Pas 4.2: Verificació

  1. Obre la interfície web d'Icecast (http://localhost:8000) i comprova que apareix el mount point /directe-GRUPX.mp3 actiu.
  2. Reprodueix'l des de VLC o des d'un element <audio> al navegador, sense passar per StreamYard.

Captura de pantalla 1: Icecast mostrant el mount point directe-GRUPX.mp3 amb almenys un oient.

Pas 4.3: Recorregut complet del senyal

flowchart LR
    A[Micròfons XLR] --> B[RodeCaster Pro II]
    B -- USB Audio --> C[StreamYard - navegador]
    C -- RTMP --> D[Nginx-RTMP :1935]
    D -- ffmpeg -vn --> E[Icecast :8000]
    E --> F[VLC / navegador]
    C --> G[Espectadors StreamYard]

Qüestions i Exercicis

Qüestió 1: Per què el pont?

Explica per què no es pot connectar StreamYard directament a Icecast sense passar per ffmpeg, i quin paper hi juga l'opció -vn. Què passaria si l'oblidéssim?

Qüestió 2: StreamYard vs. Icecast directe

Compara els dos camins de distribució d'aquest directe:

Aspecte StreamYard Icecast propi
Facilitat de configuració
Suport multi-convidat
Dependència d'un tercer
Control total del flux
Cost a escala

Qüestió 3: Amplada de banda

El pont Icecast emet a 128 kbps. Si StreamYard, per la seva banda, puja el directe (àudio+vídeo) a 2,5 Mbps:

a) Quina és l'amplada de banda de pujada total necessària a l'ordinador que executa alhora StreamYard i el pont ffmpeg?

b) Si 20 persones escolten només via Icecast i 5 ho fan des de StreamYard, on recau el cost d'amplada de banda de cada grup d'oients?

Exercici 1: Segona qualitat (Opus)

Afegeix un segon mount point /directe-GRUPX.opus al pont, executant una segona instància de ffmpeg en paral·lel des del mateix flux RTMP.

Exercici 2: Reconnexió automàtica

Escriu un script bash que reinicii automàticament la comanda ffmpeg del pont si la connexió RTMP cau:

while true; do
  ffmpeg -i rtmp://localhost:1935/live/directe-GRUPX -vn -codec:a libmp3lame -b:a 128k \
    -f mp3 icecast://source:CONTRASENYA_GRUPX@localhost:8000/directe-GRUPX.mp3
  echo "Connexió perduda, reintentant en 5 segons..."
  sleep 5
done

Exercici 3: Publicar la gravació

StreamYard permet descarregar la gravació del directe un cop finalitzat. Afegeix-la com un nou episodi al feed RSS del vostre podcast (Part 2.4), diferenciant-lo dels episodis pregravats.


Lliurament

Document PDF per grup amb:

  1. Portada: nom de tots els membres, curs i data
  2. Configuració física: captures del vúmetre i gain de cada canal (Pas 1.1)
  3. Captura StreamYard: configuració de micròfon d'entrada i destinació RTMP configurada
  4. Captura Icecast: mount point directe-GRUPX.mp3 actiu amb oients (Pas 4.2)
  5. Captura de reproducció: el directe sonant simultàniament a VLC/navegador i a StreamYard
  6. Diagrama del recorregut del senyal (pot ser el del Pas 4.3, adaptat si cal)
  7. Fitxer o enllaç a l'episodi gravat a la SD (Part 2)
  8. Respostes a les qüestions 1, 2 i 3
  9. Reflexió de grup (250-300 paraules): com heu organitzat els torns, dificultats de coordinació amb l'equip compartit, i diferències percebudes entre gravar en local i emetre en directe

Criteris d'avaluació

Criteri Puntuació
Configuració correcta del RodeCaster (canals, gain, pad) 15%
Episodi gravat a SD i publicat al feed RSS 15%
Emissió StreamYard funcional amb entrada del RodeCaster 20%
Pont RTMP → Icecast funcionant i verificat 25%
Captures de pantalla completes 10%
Respostes a qüestions 10%
Reflexió de grup 5%

Total: 100%

Penalitzacions: - -15% si el mount point Icecast del pont no arriba a funcionar - -10% si falta alguna captura obligatòria - -10% si l'emissió és pública/llistada en lloc de privada


Solució de Problemes

El RodeCaster no apareix com a dispositiu d'àudio

Comprova que el mode USB configurat (Pas 1.3) és compatible amb el sistema operatiu i que el cable USB-C admet transmissió de dades (no només càrrega).

StreamYard no rep so del RodeCaster

Revisa els permisos de micròfon del navegador i que cap altra aplicació (Zoom, Teams, RODE Central) tingui el dispositiu obert en exclusiva.

ffmpeg no es connecta al RTMP

Verifica que el contenidor Nginx-RTMP està en marxa (docker ps) i que la clau de stream (directe-GRUPX) coincideix exactament entre StreamYard i la URL que llegeix ffmpeg.

El mount point d'Icecast apareix sense oients però amb so

És normal si encara no heu obert cap client: el source pot estar actiu encara que ningú l'escolti.


Recursos Addicionals


Conclusió

Amb aquesta pràctica heu tancat el cicle complet d'un servei d'àudio en xarxa: producció professional amb maquinari real (RodeCaster Pro II), emissió en directe amb una eina moderna basada en navegador (StreamYard) i distribució oberta mitjançant un servidor Icecast propi, connectant-los amb un pont de protocols fet amb ffmpeg. Aquestes són exactament les peces que trobaríeu en una ràdio o un pòdcast professional real.

Bona feina, GRUPX!