TechSomething

Soluzione [quasi] completamente libera (ed economica) per lo streaming/registrazione live

Il Problema: #

Dopo 4 anni di riprese ai LinuxDay di ERLUG dove a volte il risultato migliore che si riusciva ad ottenere a livello video era questo:

description

ho iniziato a cercare una soluzione per acquisire l’output del monitor del relatore in modo che fosse utilizzabile per una successiva consultazione dei video registrati.

Requisiti: #

La mia ricerca mi ha portato alle schede di acquisizione USB o Pci ma spesso violavano tutti i punti.

La Soluzione: #

L’epifania e’ arrivata leggendo questo articolo dove Danman, l’autore, ha preso un extender HDMI che trasporta il segnale via ethernet, ne ha reversato il protocollo e ha creato uno script per poter ricevere lo stream audiovideo con VLC.

Dato che la coppia di ripetitori (TX e RX) e’ costa circa 70euri su Amazon, il punto 4 e’ perfettamente rispettato.

I primi test con l’extender si e’ rivelato un fallimento, vedevo lo stream con tcpdump ma non ricevevo niente, il problema era legato al fatto che gli adattatori su cui Danman ha fatto lo script erano v1, i miei v3.
Dopo qualche ricerca capito sull’aggiornamento del blog di Danman, e magia e stupore, gli adattatori sono stati aggiornati al protocollo HDbitT, in sintesi lo stream UDP creato dal trasmettitore e’ nativamente interpretabile da vlc:

vlc udp://@239.255.42.42:5004

description

La scritta “Please check the TX input signal” e’ normale dato che non avevo ancora attaccato una sorgente HDMI al tramsettitore, vuol dire che funziona!

La qualita’ e’ buona, un fattore da considerare e’ che il segnale audiovideo arriva con un ritardo di 1,5secondi circa, va compensato in caso si usino altre fonti audio.

Uno dei vantaggi del fatto che gli adattatori lavorino su ethernet con uno stream multicast udp e’ quello che il cavo di collegamento tra l’adattatore e il pc che ne prende lo stream e’ fino a 120mt.
Oppure e’ possibile attaccarlo ad uno switch o ad un bridge wireless.

Gli adattatori: #

Gli adattatori che ho provato io sono gli AGPteck LKV373 e gli ESYNiC.

I secondi sono stati presi alla cieca in quanto di forma nettamente diversa dai primi, che sono stati reversati da Danman,
la cosa da guardare e’ che nella descrizione del prodotto la massima estensione di segnale su cavo CAT5/CAT6 sia di 120/125mt e NON di 60mt, poiche’ nel primo caso si tratta di adattatori ethernet, nel secondo di adattatori che usano il cavo CAT5/CAT6 solo come media di trasmissione ma NON usano il protocollo ethernet.

in fondo al post ci sono le foto dell’adattatore ESYNiC.

Come bonus dovrebbe essere possibile usare il ricevitore semplicemente mandandogli uno stream udp come farebbe il trasmettitore.

Entrambi i modelli si alimentano a 5V in continua.

L’evoluzione: #

Lo step successivo e’ stato quello di trovare un software che permettesse di fare regia in tempo reale, streaming e registrazione su disco.
OBS Studio ci ha dato quasi tutto questo, le limitazioni riscontrate con OBS Studio sono:

nessun monitor del segnale audio sull macchina su cui gira OBS. e’ un qualche bug di cui non sono riuscito a fare il workaround
un solo streaming alla volta
a volte e’ solido come una roccia altre volte crasha perche’ lo hai guardato storto
folta community su windows e mac che lo usa per streamare le videogiocate e miriadi di plugin per windows, pochi per linux (ma c’e’ da dire che hanno unificato OBS per tutte le piattaforme Win/Mac/Lin di recente quindi mi aspetto che la situazione evolva)
non legge nativamente gli stream udp, come quello che sono andato ad utilizzare (pare che alcuni siano riusciti a fargli leggere lo stream, la soluzione che ho trovato e’ stata aprire lo stream con VLC e fatto acquisire ad OBS la finestra di xserver)
il verdetto e’ che OBS e’ stato un ottimo software per fare streaming e registrazione contemporanea, l’interfaccia e’ molto intuitiva:

description

La topologia dei collegamento che e’ stata utilizzato per il NinuxDay2016 (http://wiki.ninux.org/NinuxDay2016):

description

Conclusioni: #

Questa soluzione a livello di qualita’ audiovideo e’ ampiamente soddisfacente, il delay del video rispetto all’audio e’ facilmente gestibile dal mixer di OBS.

Il “[quasi] completamente open” del titolo del post e’ relativo al fatto che il firmware degli extender e’ con buone possibilita’ non open ma riflettendo ilo stesso problema si sarebbe proposto ugualmente con delle schede di acquisizione.

Una cosa da calcolare bene e’ la banda in upload, meta’ dello streaming e’ stata fatta a 2400kbps (+160 di audio), un’altra meta’ a 1200 (+160), va calcolato che serve una linea buona, non per forza dedicata ma il meno congestionata possibile.

TODO: #

Videi: #

I video registrati al NinuxDay2016 con questo sistema sono visibli sul canale youtube di Ninux.

Foto adattatore ESYNiC

description
description
description
description
description
description
description