Accesso multimedia da TV in rete tramite client-server DLNA
Inviato: giovedì 24 marzo 2011, 16:59
I nuovi televisori Samsung, Sony, LG, Panasonic ecc. sono ormai tutti dotati di un'interfaccia di rete ethernet e/o wifi con cui possono collegarsi alla rete domestica. La principale utilità del collegamento è di poter accedere direttamente alle cartelle di rete dove risiedono i contenuti multimediali, per consentire alla TV di riprodurli direttamente con il MediaPlayer interno della TV stessa.
Questa possibilità è molto interessante per diversi motivi:
- Usando il MediaPlayer della TV si può fruire dei contenuti anche SENZA dover collegare materialmente la TV a un PC o a un HD Media player come suo schermo. Basta raggiungere la TV con un cavo ethernet, o al limite via etere.
- Anche qualora si voglia/possa avere un PC localizzato presso la TV e connesso a questa come schermo (comodo per andare su internet, e come postazione aggiuntiva), si otterrà comunque una qualità di riproduzione molto superiore usando il MediaPlayer interno della TV (soprattutto per i filmati in HD)
- La soluzione, come risultato, è analoga a quella di attaccare direttamente alla presa USB del televisore un HD mobile con tutti i contenuti; è però molto meglio configurare l'accesso tramite un architettura client-server, perché in questo modo la TV può accedere ai contenuti E ALLO STESSO TEMPO l'HD resta attaccato al PC Ubuntu da dove si gestiscono i contenuti stessi (magari, come nel mio caso, rendendoli anche accessibili agli altri PC di casa come risorsa SAMBA...)
Lo standard che si sta affermando per effettuare questi collegamenti fra TV e PC è il DLNA (Digital Living Network Alliance), che comprende un protocollo per lo scambio di contenuti multimediali su una rete locale. Per rendere disponibile sulla rete una cartella visibile dal televisore si deve perciò avviare sul PC un "server" DLNA che sia visibile dal "client" DLNA della TV (purtroppo, dai televisori non è possibile "vedere" direttamente la cartella magari già disponibile in rete come risorsa SAMBA o MSWin).
Sono disponibili diversi pacchetti che permettono di creare un server DLNA da una macchina Ubuntu. Io ho provato MiniDLNA, UShare, PS3MediaPlayer e Serviio. L'unico che mi ha funzionato subito e senza problemi, rendendo disponibili alla TV tutti i tipi di file audio e video possibili e immaginabili è Serviio, e perciò lo raccomando senz'altro.
Tutte le informazioni, i download aggiornati e le guide di supporto su Serviio sono disponibili in inglese alla pagina web http://www.serviio.org.
Ad ogni buon conto, se volete approfittare della mia esperienza o se "non masticate la lingua ammericana", ecco come ho fatto io:
0 - Accertate che il televisore sia collegato in rete e funzionante (preferibilmente sulla stessa subnet della macchina Ubuntu dove volete creare il server). Se come è comune adottate una LAN in cui l'indirizzamento è gestito da un DHCP tutto questo dovrebbe essere abbastanza automatico una volta attaccato il cavo o fatta l'autenticazione WiFi. Da osservare comunque che per quanto il WiFi sia ganzo, per svolgere al meglio un traffico pesante come quello che riguarda i contenuti multimediali è DAVVERO consigliabile che la connessione sia fatta con un cavo Ethernet. Se il vostro router/hub di rete è un po' lontano da dove avete messo la TV, vale comunque la pena di provare a collegarlo con un cavo. La connessione Ethernet funziona bene anche con cavi di notevole lunghezza, ben oltre i limiti che lo standard consiglia. Fatevi fare con pochi euro un cavo anche da 10, 13, 15 metri, e vedrete che funzionerà.
1 - dalla pagina web di serviio, scaricare la versione aggiornata (è un .tar compresso) e aprirla con gestore archivi
2 - decomprimere la cartella Serviio inizialmente sulla scrivania, per poi posizionarla dove è più comodo. La si può mettere nella propria home, oppure in /etc/share (ovviamente, in questo caso è necessario accedere come superuser)
3 - il server si avvia con [../cartellaServiio]/bin/serviio.sh (è ovviamente possibile creare un lanciatore per questo programma, o inserirlo fra le applicazioni da avviare automaticamente).
Appena avviato il server dal PC, il vostro televisore dovrebbe vedere sulla rete che è disponibile una risorsa DLNA (il mio tv Samsung fa apparire una notifica in un angolo per qualche secondo)
4 - avviare l'applicazione di interfaccia per configurare serviio cliccando su [../cartellaServiio]/bin/serviio-console.sh (volendo si può creare un lanciatore anche per questa applicazione, ma in realtà è superfluo; infatti, una volta configurati i parametri, Serviio si dovrà semplicemente avviare come già detto al punto precedente, e non sarà più necessario riaprire l'applicazione di interfaccia se non per aggiungere nuove cartelle o cambiare i parametri. I contenuti multimediali potrano essere tranquillamente aggiunti e rimossi operando direttamente sulle cartelle).
5 - impostare i parametri che renderanno una o più cartelle del PC visibili ai client DLNA presenti sulla rete. Una sezione particolarmente delicata è quella di "presentazione", in cui si definisce come il contenuto sarà categorizzato per la visualizzazione dal client: i criteri di categorizzazione si definiscono separatamente per i conteuti di tipo video, musica o immagine, e sono legati alle proprietà che il server deve poter attribuire ai singoli oggetti, in modo che il client li possa indicizzare per autore, artista, titolo ecc. Se il server non recupera questi elementi, gli oggetti non saranno visibili dal client. Suggerisco perciò di disattivare tutte le categorizzazioni tranne quella per cartelle, impostando comunque a "mostra solo contenuto" sia questa che quella madre definita per video e musica. In questo modo il client fornirà semplicemente l'elenco dei files così come sono organizzati per cartelle esottocartello. Parimenti, raccomando di disabilitare nel server la ricerca dei metadati da fonti online nella sezione "metadata".
Nella sezione "contenuti" puntare alle cartelle che si desidera rendere visibili, specificando se devono essere fornite per la ricerca di contenuti dei tre tipi (video, musica, immagini).
Attenzione: il server avrà bisogno di un po' di tempo per indicizzare il contenuto.
Raccomando di fare prima qualche prova rendendo disponibili cartelle che contengano giusto tre o quattro files, per vedere come dal televisore il client recepisce l'indice. Quando il risultato è soddisfacente si modifica il puntamento impostandolo alla cartella che contiene la vera e propria "banca" dei contenuti multimediali (nel mio caso, migliaia di files mp3, flac, mkv, avi, vob... :-).
6 - Quando tutto funziona, si può impostare Serviio per avviarsi fra le applicazioni caricate al login. L'interfaccia di configurazione non servirà più. Il televisore riceve l'indice dei contenuti presenti sulle cartelle condivise, e Serviio provvede ad aggiornarlo periodicamente man mano che aggiungiamo o togliamo files. Alla richiesta di riproduzione Serviio effettua la trascondifica necessaria e applica i codec secondo contenuto e incapsulamento, e poi trasferisce il contenuto in straming.
Io alla fine ho fatto funzionare tutto in un paio d'ore -compreso il tempo per fare le prove con altri software che poi ho abbandonato!- e sono soddisfattissimo: i miei film e documentari in HD non li avevo mai visti così bene, neanche attaccando direttamente l'uscita VGA o HDMI allo schermo.
Buon divertimento!
Questa possibilità è molto interessante per diversi motivi:
- Usando il MediaPlayer della TV si può fruire dei contenuti anche SENZA dover collegare materialmente la TV a un PC o a un HD Media player come suo schermo. Basta raggiungere la TV con un cavo ethernet, o al limite via etere.
- Anche qualora si voglia/possa avere un PC localizzato presso la TV e connesso a questa come schermo (comodo per andare su internet, e come postazione aggiuntiva), si otterrà comunque una qualità di riproduzione molto superiore usando il MediaPlayer interno della TV (soprattutto per i filmati in HD)
- La soluzione, come risultato, è analoga a quella di attaccare direttamente alla presa USB del televisore un HD mobile con tutti i contenuti; è però molto meglio configurare l'accesso tramite un architettura client-server, perché in questo modo la TV può accedere ai contenuti E ALLO STESSO TEMPO l'HD resta attaccato al PC Ubuntu da dove si gestiscono i contenuti stessi (magari, come nel mio caso, rendendoli anche accessibili agli altri PC di casa come risorsa SAMBA...)
Lo standard che si sta affermando per effettuare questi collegamenti fra TV e PC è il DLNA (Digital Living Network Alliance), che comprende un protocollo per lo scambio di contenuti multimediali su una rete locale. Per rendere disponibile sulla rete una cartella visibile dal televisore si deve perciò avviare sul PC un "server" DLNA che sia visibile dal "client" DLNA della TV (purtroppo, dai televisori non è possibile "vedere" direttamente la cartella magari già disponibile in rete come risorsa SAMBA o MSWin).
Sono disponibili diversi pacchetti che permettono di creare un server DLNA da una macchina Ubuntu. Io ho provato MiniDLNA, UShare, PS3MediaPlayer e Serviio. L'unico che mi ha funzionato subito e senza problemi, rendendo disponibili alla TV tutti i tipi di file audio e video possibili e immaginabili è Serviio, e perciò lo raccomando senz'altro.
Tutte le informazioni, i download aggiornati e le guide di supporto su Serviio sono disponibili in inglese alla pagina web http://www.serviio.org.
Ad ogni buon conto, se volete approfittare della mia esperienza o se "non masticate la lingua ammericana", ecco come ho fatto io:
0 - Accertate che il televisore sia collegato in rete e funzionante (preferibilmente sulla stessa subnet della macchina Ubuntu dove volete creare il server). Se come è comune adottate una LAN in cui l'indirizzamento è gestito da un DHCP tutto questo dovrebbe essere abbastanza automatico una volta attaccato il cavo o fatta l'autenticazione WiFi. Da osservare comunque che per quanto il WiFi sia ganzo, per svolgere al meglio un traffico pesante come quello che riguarda i contenuti multimediali è DAVVERO consigliabile che la connessione sia fatta con un cavo Ethernet. Se il vostro router/hub di rete è un po' lontano da dove avete messo la TV, vale comunque la pena di provare a collegarlo con un cavo. La connessione Ethernet funziona bene anche con cavi di notevole lunghezza, ben oltre i limiti che lo standard consiglia. Fatevi fare con pochi euro un cavo anche da 10, 13, 15 metri, e vedrete che funzionerà.
1 - dalla pagina web di serviio, scaricare la versione aggiornata (è un .tar compresso) e aprirla con gestore archivi
2 - decomprimere la cartella Serviio inizialmente sulla scrivania, per poi posizionarla dove è più comodo. La si può mettere nella propria home, oppure in /etc/share (ovviamente, in questo caso è necessario accedere come superuser)
3 - il server si avvia con [../cartellaServiio]/bin/serviio.sh (è ovviamente possibile creare un lanciatore per questo programma, o inserirlo fra le applicazioni da avviare automaticamente).
Appena avviato il server dal PC, il vostro televisore dovrebbe vedere sulla rete che è disponibile una risorsa DLNA (il mio tv Samsung fa apparire una notifica in un angolo per qualche secondo)
4 - avviare l'applicazione di interfaccia per configurare serviio cliccando su [../cartellaServiio]/bin/serviio-console.sh (volendo si può creare un lanciatore anche per questa applicazione, ma in realtà è superfluo; infatti, una volta configurati i parametri, Serviio si dovrà semplicemente avviare come già detto al punto precedente, e non sarà più necessario riaprire l'applicazione di interfaccia se non per aggiungere nuove cartelle o cambiare i parametri. I contenuti multimediali potrano essere tranquillamente aggiunti e rimossi operando direttamente sulle cartelle).
5 - impostare i parametri che renderanno una o più cartelle del PC visibili ai client DLNA presenti sulla rete. Una sezione particolarmente delicata è quella di "presentazione", in cui si definisce come il contenuto sarà categorizzato per la visualizzazione dal client: i criteri di categorizzazione si definiscono separatamente per i conteuti di tipo video, musica o immagine, e sono legati alle proprietà che il server deve poter attribuire ai singoli oggetti, in modo che il client li possa indicizzare per autore, artista, titolo ecc. Se il server non recupera questi elementi, gli oggetti non saranno visibili dal client. Suggerisco perciò di disattivare tutte le categorizzazioni tranne quella per cartelle, impostando comunque a "mostra solo contenuto" sia questa che quella madre definita per video e musica. In questo modo il client fornirà semplicemente l'elenco dei files così come sono organizzati per cartelle esottocartello. Parimenti, raccomando di disabilitare nel server la ricerca dei metadati da fonti online nella sezione "metadata".
Nella sezione "contenuti" puntare alle cartelle che si desidera rendere visibili, specificando se devono essere fornite per la ricerca di contenuti dei tre tipi (video, musica, immagini).
Attenzione: il server avrà bisogno di un po' di tempo per indicizzare il contenuto.
Raccomando di fare prima qualche prova rendendo disponibili cartelle che contengano giusto tre o quattro files, per vedere come dal televisore il client recepisce l'indice. Quando il risultato è soddisfacente si modifica il puntamento impostandolo alla cartella che contiene la vera e propria "banca" dei contenuti multimediali (nel mio caso, migliaia di files mp3, flac, mkv, avi, vob... :-).
6 - Quando tutto funziona, si può impostare Serviio per avviarsi fra le applicazioni caricate al login. L'interfaccia di configurazione non servirà più. Il televisore riceve l'indice dei contenuti presenti sulle cartelle condivise, e Serviio provvede ad aggiornarlo periodicamente man mano che aggiungiamo o togliamo files. Alla richiesta di riproduzione Serviio effettua la trascondifica necessaria e applica i codec secondo contenuto e incapsulamento, e poi trasferisce il contenuto in straming.
Io alla fine ho fatto funzionare tutto in un paio d'ore -compreso il tempo per fare le prove con altri software che poi ho abbandonato!- e sono soddisfattissimo: i miei film e documentari in HD non li avevo mai visti così bene, neanche attaccando direttamente l'uscita VGA o HDMI allo schermo.
Buon divertimento!