Home > Linux, Musica, Server, Ubuntu > Rygel media server e UPnP/DLNA setup su Linux Android

Rygel media server e UPnP/DLNA setup su Linux Android

upnp dlna logo

upnp dlna logo

L’architectura DLNA (Digital Living Netqork Allieance)  ha l’obbiettivo di rendere più facile la condivisione dei file multimediali favorendo l’interazione tra i dispositivi  che gesticono risorse audio-video e risulta assai interesante  in ambiente domestico.

Semplicando in caso di condivisione di contenuti audio-video gli elementi base dell’architectura sono rappresentati da:
1) Digital Media Servers: dispositivi con attiva un’ applicazione media server  che consente agli stessi di condividere le proprie risorse audiovideo quali files mp3,video …     ( es. computer linux con attivo rygel, tablet android con attivo ShareMe )
2) Digital  Media Player  : dispositivi  che consentono di individuare i contenuti dei media server attivi e di ripordurli.
3) Digital Media Controller:  la differenza con i media player è che i controller individuano i media server e  i loro contenuti ma non li riproducono inviando i contenuti in modalità push ai media renderer.Architettura DLNA e Componenti

4) Digital Media Renderer: dispositivi che consentono di riprodurre i files   ma che non sono in grado ri ricercarli.

Di seguito un esempio pratico di base di questa architettura  in ambito domestico.
I softwares utilizzati sono  rygel, GUPnP AV control Point, AndroMote, ShareMe, UPnP Inspector per ispezionare la struttura e volendo come media controller in alternativa a GUPnP AV Control Point.

Rygel http://www.gnome.org/Rygel è la home media solution di riferimento del progetto gnome  per l’ambiente domestico.
Rygel nonostatne qualche limite  utilizza poche  risorse è facilmente attivabile in un sistema ubuntu e si comporta sia come Media Server
che come Media Renderer, supporta la trascodificata è free e GPL.
Tutta la catena se si esclude l’avvio di rygel può essere gestita utilizzando GUI.

Media server

La macchina che agisce come Media Server Principale  è una macchina con una delle tante versioni di ubuntu la Lubuntu 11.10 i386.
In questo caso si tratta di macchina virtuale che gira su XenServer 5.6 SP2.
Dei diversi pacchetti rygel sono stati installati solo rygel e rygel-preferences. Questi si possono installare utilizzano synaptic oppure con :

sudo apt-get  install rygel rygel-preferences

Si è creato un utente rygel privo dei permessi di amministrazione.
Una vota loggati come rygel è stata aggiunta ai percorsi predefiniti ( Music, Video e Images ), in cui rygel ricerca le risorse audio video da condividere, una directory di rete contenente circa 2000 files mp3.
Per aggiungere i files  utilizzare rygel-preferences raggiungibile da menu o attivabile da terminale come di seguito indicato

Menu >Preferences > Rygel Preference
oppure da terminale

rygel-preferences

quindi tasto add per aggiungere la connesione di rete

rygel-preferences directory added

Aggiunta di un dir di rete alle dir predefinite di rygel utilizzando rygel-preferences

Aggiunta la directory rygel può essere attivato digitando da terminale

rygel

Media Renderer

il media renderer  principale è un desktop ubuntu 12.04 64 bit con due ottime  ESI nEar 5.0 experience.
Installiamo come prima cosa  UPnp-inspector per controllare la struttura che stiamo realizzando. Per installare UPnP-inspector  usare synaptic oppure da terminale

sudo apt-get install upnp-inspector

Lanciamo via menu UPnP inspector oppure da terminale upnp-inspector. 
Nell’immagine si vede upnp inspector trova il media server dell’utente rygel

UPnP inspector find rygel

UPnP inspector visualizza il media server rygel

Anche questa macchina  userà rygel in questo caso verrà utilizzato prevalentemete come media renderer anche se potrà essere utilizzato come
secondo media server. Installiamo e attiviamo rygel come sopra.

e per avere disponibile il renderer di rygel installiamo il pacchetto rygel-playbin

sudo apt-get install rygel-playbin

Adesso in UPnP ispector appariranno n MediaRenderer  e un secondo media server.

UPnP Inspector media server e media renderer

UPnP Inspector visualizza un mediarender rygel  e due media server di tipo rygel

Media player

Come Media player possiamo utilizzare un tablet android 2.3 con installato AndroMote.La versione free di AndroMote è limitata comunqe ma consente di provare il funzionamento della soluzione realizzata.
Scarichiamo e lanciamo Andromote quindi in preferenze selezioniamo come media server rygel e sempre in preferenze impostiamo come media renderer il tablet stesso. Ora nella sezione Media Renderer possiamo utilizzare il play per ascoltere i files inseriti nella playlist.

Media Controller

Se in preferenze di AutoMote impostimao come media renderer il MediaRenderer:2 (desktop ubuntu 12.04) allora il tablet, premendo il tasto play nella sezione Media Renderer, agirà da media controller mettendo in connessione il media server e il media renderer.

Qualora si desiderasse utilizzare come media controller il computer ubuntu 12.04 (che nel nostro esempio agisce prevalentemente da media renderer) è necessario disposrre di un software che agisca da media controller. Un software che consente di apprezzare il funzionamento della struttura è GUPnP AV Control Point.

GUPnP AV Media Point

GUPnP AV Media Point a Media controller tra rygel server e renderer

Come si può vede nell’immagine sono visibili i media servers e in basso si vede indicato il media renderer piùà sotto i pulsanti di play, stop … di lato il volume.

GUPnP AV Control point in azione sta inviando uno dei circa 2000 iles messe a disposizione da rygel server al media renderer

GUPnP AV in azione

GUPnP AV in azione

Come media controller si poteva utilizzare lo stesso UpnP inspector utilizando il tasto destro del mouse su uno dei media server  oppure VLC.

La rete è sia di tipo fisso che wireless.

Nell’architettura DLNA uno degli obbiettivi e consentire a molti disposizitivi di condividere le proprie risorse facendoli agire da media servers. Nell’immagine sotto UPnP-inspector evidenzia la presenza di un ulteriore media server il table androrid grazie all’applicazione ShareMe.

UPnP ispector Android ShareMee

UPnP ispector evidenzia il media server Android ShareMee

Altre risorse nel blog:

UPnPlay (https://market.android.com/details?id=cx.hoohol.silanoid) (control point on Android) Rygel, forked DAAPd, miniDLNA, Servioo, MediaTomb, ushare …)

  1. Donata
    novembre 27, 2012 alle 3:57 pm

    Interessantissimo articolo!
    Mi piacerrebbe installare:
    – la parte Renderer di Rygel su un mediaplayer basato su Realtek RTD1283
    – un controller su NAS synolgy.

    Puoi darmi delle indicazioni su come procedere?
    Grazie

    • novembre 28, 2012 alle 9:29 am

      Purtroppo non ho a disposizione le periferiche indicate. Quindi posso rispondere solo in termini generali.
      – Avere un media controller su NAS non mi pare una soluzione ottimale. I NAS svolgono prevalentemente funzione di archiviazione pertanto in una catena DLNA il ruolo naturale sarebbe di media server. Volendo comunque avere un DLNA controller sul NAS è necessario poter installare programmi quali GUPnP AV Control Point, upnp-inspector, VLC, andromote … programmi che prevedano specificamente la possibilità di selezionare un media renderer e un media server autonomi presenti nella rete.
      – Per quanto riguarda l’installazione della parte Renderer rygel su mediaplayer basato su Realtek RTD1283. Premetto che trattandosi di una media player mi aspetterei che avvesse già integrate funzioni da media controller e di media renderer. Di solito i media player su RTD1283 hanno connettività UPnP. Comunque dall’affermazione deduco che lo stesso supporti una qualche versione di Linux. Se Linux rygel gira su praticamente tutte le versioni Linux non resta che provare a installare il pacchetto rygel-playbin oppure rygel-gst-renderer

      • Donata
        novembre 28, 2012 alle 11:37 am

        Grazie mille!
        -Dal mio punto di vista sul NAS un controller ha senso per fare un “Play to” da remoto, via web.
        -Per i media player, si’ sono basati su Liunx; putroppo su FW di quella generazione di chipset, a differenza dei successori non viene generalmente implementato il Rendering (sono solo client UPnP).

        Ma che differenza c’è tra le due versionie che mi suggerisci? Qual è la piu’ leggera? Richiedono Java? A me interessa solo ed escusivamente la parte Renderer
        Mi daresti cortesemente un link dove trovare la versione per MIPS (RTD1283 [400 MHz], come ti dicevo) e una pagina di istruzioni? Ho elementi di Linux, ma non una grande esperienza. Al player in genere per gli smanettamenti si puo’ accedere via Telnet.

      • novembre 30, 2012 alle 4:11 pm

        Ciao Donata,
        continuo a non comprendere chiaramente il tipo di catena DLNA che vuoi costruire.
        Cioè vuoi forse dal NAS usare le uscite del RTD1283 ?
        Perchè non credo tu abbia problemi ad usare i file multimediali presenti nel NAS dal RTD1283.
        Comunque, in generale, se hai a disposizioni dei sistemi aperti in cui puoi installare qualsiasi cosa ad esempio un pc linux o in un dispoositvo android, in effetti tu puoi fare in modo che lo stesso dispositivo agisca sia da server, che da controller e se puoi attaccarci delle casse da renderer.
        Diversamente la vedo un po’ complicata, teoricamente è anche fattibile però…
        Ad esempio è fondamentale sapere che linux c’è a bordo del RTD. Potrebbero esserci problemi di dipendenze nell’installare rygel.
        Se poi dovesse essere necessario compilare la vedo complicata. Ancora a meno che tu non sia esperta di telnet ci perdi pure un bel po’ di tempo.
        Per quanto riguarda rygel.
        Non richiede java, è relativamente piccolo, fa parte del progetto gnome ed è un insieme di servizi DNLA, basato su plug-in.
        Ha anche la capacità di di catturare un sink pulseaudio (o comunque uno stream ) e indirizzarlo verso un dispositivo DLNA.
        I due nomi si riferiscono al pacchetto con il renderer. Rygel-playbin è la versione più recente.

        Purtroppo non conoscendo i dispositivi che intendi utilizzare mi è difficile dare indicazioni precise. Personalmente non ho ancora capito quale RTD1283 stai usando, anche se saranno tutti molto simili, per metterci le mani bisogna capire essattamente di quale prodotto si sta parlando. E’ un dispositivo tipo questo http://www.anandtech.com/print/4212

  2. Donata
    dicembre 2, 2012 alle 11:07 am

    Ciao Maurizio,
    si’ il dispositivo è del tipo che indichi. Precisamente è uno IAMM NTR-83
    http://it.odosmedia.es/Hard-disk-multimediale-Grabaodr-TDT-IAMM-NTR-83

    Lo IAMM si collega tranquillamente al NAS o ad altro server DLNA, ma solo in quanto DMP e precisamente client UPnP.

    Nella catena che ho ci sono già dei server DLNA (in partcicolare sul NAS). Ci sono già dei controller (in particolare su samrtphone Android). Ci sono già dei DMP, anlcuni dei quali sono anche DMR (digital media renderer). Tramite i controller riesco tranquillamente a indirizzare i file sui server verso i DMR. In altri termini comando la riproduzine audio/video senza il telecomando di questi DMR, ma utilizzando lo smartphone come una sorta di telecomando di rete.

    Ora focalizzando l’attenzione sullo IAMM, il mio desiderio è poter comandare la riproduzione audio/video tramite un controller DLNA (dunque senza utilizzare il telecomando dello IAMM stesso). Questo oltre a sfruttare gli aspetti di ricerca dei media che si puo’ fare con il controller, consentirebbe anche la riproduzione di file musicali nel caso lo IAMM fosse collegato non ad un video, ma solo ad un impainto audio (il dispay incorporato di cui dispone è utilizzabile solo lo si legge da vicino e non è adatto ad un utilizzo da lontano con il suo telecomando). Dunque mi cio’ che mi interessa è installare sullo IAMM un componente per aggiungere la funzione di DMR.

    Lo IAMM possiede BusyBox v1.1.3

    e il comando cat /proc/version da’:
    Linux version 2.6.12.6-VENUS (whshim@nova.iamm.co.kr) (gcc version 3.4.4 mipssde-6.03.00-20051020) #11 Fri Oct 1 10:24:42 KST 2010

    Attendo un tuo suggerimento.
    Grazie
    Ciao

    • dicembre 4, 2012 alle 11:03 pm

      Adesso le cose sono decisamente più chiare. Ho fatto un po’ di “googling” anche se senza troppo impegno. E ho notato che ci sono diversi FW in giro per lo IAMN-NTR_83. Hai già preso in considerazione l’update del firmware?
      Hai consultato ad esempio questo forum:
      http://www.1e2.it/forum/iamm-ntr-83-ntr-81-ntr-82-ntr-90-ntr-s20-baloccobox-xtreme-x82hd-41/
      Il tuo dispositivo monta di fatto un linux embedded pertanto non hai molte possibilità di installare pacchetti come rygel direttamente. Se si voglio inserire nuove funzionalità la via maestra consiste nel modificare il firmware e caricare il nuovo firmware che di fatto è il sistema operativo completo. Nonostante il dispositivo sia del 2010 ho notato che ci sono firmware rilasciati anche ad ottobre 2012. Quindi direi che c’è una comunità piuttosto attiva. Pertanto Donata il mio consiglio è di interfacciarsi con qualcuno che sta già modificando il firmware. Comunque non escludo che potrebbero essere già in circolazione firmware con le caratteristiche che ti interessano.

  3. Donata
    dicembre 5, 2012 alle 9:37 am

    Ciao Maurizio, conosco il forum (ho preso da li’ l’idea e gli spunti per le mie domande). Conosco anche i firmware che citi e purtroppo non fanno funzionare lo IAMM da render, in una delle mod. è incluso MediaTomb come media server (NON come media renderer) che va bene, anche se non è il massimo. Il passo in piu’ sarebbe proprio il funzionamento da DMR.

  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: