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.ymldel 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
- Connecta els micròfons XLR als canals 1-4 i els auriculars a la sortida de monitor.
- 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).
- 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
- Grava un breu jingle d'entrada (3-5 segons) dient el nom del grup: "Sou a l'emissió de GRUPX".
- 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
- 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).
- Connecta el RodeCaster a l'ordinador amb el cable USB-C.
- 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
- Insereix una targeta microSD al RodeCaster.
- Prem el botó Record per iniciar la gravació local (independent de qualsevol ordinador).
- Utilitza el pad d'entrada creat al Pas 1.2 per obrir l'episodi.
- 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.
Part 3: Emissió en Directe amb StreamYard
Pas 3.1: Configurar l'entrada d'àudio a StreamYard
- Entra a StreamYard i crea un nou Broadcast.
- A Settings → Microphone, selecciona RODECaster Pro II com a dispositiu d'entrada.
- 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:
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 kbpsicecast://...: envia el resultat com a source al mount point/directe-GRUPX.mp3
Pas 4.2: Verificació
- Obre la interfície web d'Icecast (
http://localhost:8000) i comprova que apareix el mount point/directe-GRUPX.mp3actiu. - 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:
- Portada: nom de tots els membres, curs i data
- Configuració física: captures del vúmetre i gain de cada canal (Pas 1.1)
- Captura StreamYard: configuració de micròfon d'entrada i destinació RTMP configurada
- Captura Icecast: mount point
directe-GRUPX.mp3actiu amb oients (Pas 4.2) - Captura de reproducció: el directe sonant simultàniament a VLC/navegador i a StreamYard
- Diagrama del recorregut del senyal (pot ser el del Pas 4.3, adaptat si cal)
- Fitxer o enllaç a l'episodi gravat a la SD (Part 2)
- Respostes a les qüestions 1, 2 i 3
- 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
- RØDECaster Pro II — Documentació oficial
- StreamYard
- Nginx-RTMP Module
- ffmpeg Documentation
- Pràctiques anteriors: Streaming amb Icecast, Podcast amb Docker, Streaming de Vídeo amb Nginx-RTMP
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!