Visualizzazione post con etichetta upnp. Mostra tutti i post
Visualizzazione post con etichetta upnp. Mostra tutti i post

giovedì 19 gennaio 2012

DLNA ed Android: come settare un media server su pc ed utilizzare i dispositivi Android come client

Il titolo sembra molto altisonante, in realtà la sostanza è piuttosto banale, ma comunque l'importante, in questi casi, è sempre il risultato! Innanzitutto, se avete mai seguito il mio blog, sapete che ho già parlato in passato di come settare un media server su quel grande dispositivo che rispondeva al nome di SmartQ5! All'epoca avevo utilizzato Mediatomb, che era l'unico che funzionava su quel device. Attualmente ci sono molti software in circolazione che permettono di settare un DLNA media server con pochi click, alcuni a pagamento, ma molti gratuiti! Ovviamente non ci sono solo software, ma anche molti dispositvi hardware, come router che supportano questa modalità di condivisione media, anche se sono relativamente costosi (intorno ai 100 euro o più). Se possedete già uno di questi router probabilmente ne fate già un uso proficuo dello streaming audio/video su PS3 o altri dispositivi compatibili DLNA, e quindi non vi serve leggere questo post! In caso contrario, potrebbe risultare molto interessante conoscere le possibilità offerte dai media server!

Innanzitutto, conviene chiedersi se un media server può esservi utile o meno, tramite una serie di domande fondamentali:

  • avete il pc sempre acceso (o comunque acceso quando siete presenti in casa)?
  • avete un router adsl wifi a disposizione (connesso o meno ad internet non è rilevante, l'importante è che sia acceso)
  • vorreste poter accedere alla vostra collezione musicale, ai film ed alle vostre immagini/foto da qualsiasi punto della vostra abitazione, senza dover copiare ogni volta i dati su ogni dispositivo (inclusi PS3, Smart TV, Xbox360, smartphone, tablet....)?
Se avete risposto di no alle prime due domande, ma sì alla terza, allora può essere il caso che seguiate l'articolo fino in fondo! Se invece non avete interesse allo streaming audio/video, allora potete tranquillamente skippare questo post!

Preparazione lato server
Per quanto riguarda il lato server, sia che abbiate Windows, Linux o un Mac, la scelta è abbastanza facile e scontata: uno dei migliori software in circolazione pare essere infatti PS3 Media Server, nato in origine esclusivamente per dare in pasto alla PS3 i propri media, ma in seguito è stato esteso il supporto un pò a tutti i client in circolazione! La versione più recente per Windows è scaricabile da questa pagina.
I pregi di questo software è che è stato tradotto in italiano (in maniera eccellente) e che è tremendamente facile da utilizzare e configurare!

di seguito la schermata di condivisione delle cartelle:












Come si può vedere è tutto molto intuitivo, direi quasi banale: è sufficiente avere l'accortezza di cliccare sulla scheda "Condivisione cartelle" (punto 1) e poi sul pulsante al punto 2 dell'immagine, per aggiungere le cartelle! Per una migliore gestione dei propri media può essere sensato suddividerli a seconda della categoria: ad esempio creare una sottocartella VIDEO, AUDIO ed IMMAGINI. Dopo aver condiviso le cartelle, salvare il tutto (icona FLOPPY) e riavviare il server!

Alternative a PS3 Media Server
PS3 Media Server ha una gestiona abbastanza lineare dei media, quindi non crea "cartelle virtuali", ma si limita ad effettuare la transcodifica nel caso in cui il client  non supporti il formato (ad esempio un video ad alta definizione su uno smartphone di fascia bassa), anche se esistono plug-in adatti allo scopo! Vi sono comuque altri programmi più sofisticati, come TVersity, che probabilmente risulteranno molto più interessanti ai più esigenti, in quanto suddivide ad esempio i file audio tramite le tag, ovvero le informazioni presenti nei file mp3 (artista, album, anno, genere...). Può essere che ci siano sofware anche migliori, ma per ora ho testato solo questi due.

Il client Android
Per quanto riguarda il software lato Android, se il vostro dispositivo non dispone già di software compatibile DLNA già pre-installato, allora sarà inevitabile cercare un'app che faccia al caso nostro! Ho testato a questo scopo tre applicazioni, tutte e tre gratuite, per vedere quale fosse la migliore!

La prima applicazione provata è stata BubbleUPnP, che se all'inizio mi ha dato qualche grattacapo con il rilevamento del server, poi si è dimostrata abbastanza affidabile! Dalla sua ha un'interfaccia intuitiva e piacevole, una gestione dell'audio e video più che buona (i video tramite player esterni). Purtroppo la gestione delle immagini non è ottimale, in quanto si affida alle applicazioni installate sul sistema: se tali applicazioni non sono compatibili con il protocollo UPnP, in pratica non è possibile visualizzare nulla! Altro difetto fatale del programma è il fatto che la versione free è limitata a playlist di 16 elementi, e dunque non troppo utile allo stato pratico, e quindi si renderebbe necessario sborsare 3,49 euro per la versione completa!

La seconda applicazione da me provata è stata UPnPlay, meno rifinita della precedente (ed un pò più confusa), con una gestione delle playlist non troppo ovvia, ma completamente gratuita e senza limiti. Purtroppo la gestione delle immagini è il suo maggiore tallone d'achille! Da prendere in considerazione comunque, nel caso si sia solo interessati allo streaming audio e video!

Ultima app testata, ed ovviamente quella più convincente, è in fase beta, ma sembra comunque promettere bene! SoftMedia Player si fa apprezzare per un'interfaccia intuitiva e soprattutto per supportare le immagini tramite un browser interno (che purtroppo non supporta gesture complesse, ma è comunque funzionale e funzionante!). Durante il test che ho effettuato ho avuto alcuni inconvenienti tramite questa applicazioni, ma non è chiaro se il problema era la parte client o server.

Commenti finali
E' possibile che ci siano altre applicazioni migliori sul market, nel qual caso vedrò di aggiornare questo post non appena dovessi scoprirne altre! Se per caso qualcuno ne conosce qualcuna, anche a pagamento, me la segnali, in modo da poter arricchire questo articolo!

venerdì 13 agosto 2010

Server UPnP su SmartQ 5 part 2!

Dopo aver installato il server Mediatomb sul nostro SmartQ è il momento di configurarlo per adattarlo alle nostre necessità, e magari creare uno script di avvio automatico che setti l'indirizzo ip della nostra macchina e la modalità della connessione wireless da noi scelta, e, dopo aver fatto ciò, lanci il server Mediatomb. Probabilmente sarebbe anche preferibile avere un feedback visivo dell'avvenuta configurazione e lancio. Nota bene: il seguente script non è lo stato dell'arte dello scripting, ma fa quello che deve fare: se un Linux guru dovesse leggerlo, dopo aver smesso di ridere può scrivere nei commenti i suggerimenti per migliorarlo!

#!/bin/sh
osdsend "setting up wifi"

sudo ifconfig eth0 down
sudo iwconfig eth0 mode ad-hoc
sudo iwconfig eth0 channel 6
sudo iwconfig eth0 essid "whitemedia"
sudo ifconfig eth0 up
sudo ifconfig eth0 192.168.1.111

osdsend "wifi configured"

osdsend "launching mediatomb..."

sudo mediatomb
Da copiare in un file script shell (estensione .sh), piazzare sul desktop e renderlo eseguibile con il comando:
sudo chmod +x nome_del_file.sh
Questo script vi configurerà l'adattatore di rete con l'IP indicato (192.168.1.111) in modalità ad-hoc (il che vuol dire peer-to-peer), senza impostare nessuna algoritmo di crittazione (per la qual cosa vi rimando a questa pagina). Da notare che mediatomb viene avviato in modalità root; non è la cosa più giusta da fare, ma è quella più facile, visto che altrimenti è assai difficile condividere le cartelle. Volendo è anche possibile aggiungere allo script l'avvio del browser predefinito Midori, configurando come homepage predefinita l'indirizzo "http://localhost:49152", che punta direttamente all'interfaccia web di Mediatomb. Da qui è possibile aggiungere le cartelle da condividere, cliccando sul menù a sinistra "Database" e navigando lungo l'albero delle cartelle fino ad arrivare a quella desiderata (una cosa del genere: /media/disk/music). Da questo momento è semplicemente necessario clickare sull'icona sulla destra con il simbolo "+", ed attendere che i file vengano aggiunti al database di Mediatomb. Se può esservi utile, ecco un'immagine della configuarazione di Mediatomb tramite web browser:



Può essere sensato creare anche un altro script, chiamato magari "mediatomb_shutdown.sh" contenente poche righe:
#!/bin/sh
sudo kill $(pgrep mediatomb)
osdsend "mediatomb stopped"
Che in pratica non fa altro che killare il processo di Mediatomb e mandare una scritta a video. Dovrebbe farlo tuttavia in maniera "morbida", almeno stando a quanto ho letto in giro.

Client UPNP
Dopo aver aggiunto le cartelle, ed aver atteso che Mediatomb inserisca i dati nel suo database (cosa che può durare anche alcuni minuti), è possibile utilizzare il server in tutto il suo spendore. Per farlo. tuttavia, è necessario un riproduttore compatibile; gli smartphone Nokia sono già a posto, supportano il protocollo in maniera nativa. Per Windows Mobile è consigliabile Pocket Player (a pagamento, ma funziona in maniera eccellente). Per iPhone non mi interessa, arrangiatevi! Per Android, invece, le cose non sono molto chiare, ma di sicuro c'è qualcosa! Per Linux si può usare VideoLan o anche l'Xbox Media Center (sia su un Xbox originale che su PC!), mentre per Windows si può optare tra Windows Media Player 11/12 e foobar2000, oltre al già citato XBMC per Windows, mentre Winamp inaspettatamente non ne prevede il supporto!

Ulteriori rifiniture
Nonostante il server sia a questo punto funzionante, è possibile migliorare, o, per meglio dire, ottimizzare alle proprie necessità lo script di importazione dei propri media. Per chi conosce il javascript non dovrebbe essere troppo difficile, per me, che a malapena conosco C++ e compagnia bella, c'è voluto un pò! Ed ancora adesso mi restano parecchi dubbi e perplessità! Ad ogni modo, dopo aver risolto quegli inconvenienti (o se qualcuno me lo chiedesse), caricherò anche il file di importazione! Nel frattempo, se avete uno SmartQ libero, provate ad installarvi Mediatomb!

lunedì 9 agosto 2010

Cose da fare con uno SmarQ: Realizzare un server multimediale


Eccomi di nuovo, dopo più di 2 mesi (mi stavo riprendendo dal troppo lavoro!). Come qualche lettore del blog saprà, qualche mese fa (quasi 9, oramai) mi ero preso uno SmartQ 5 usato per adoperarlo come MID e come portable media player. Tuttavia ne ero rimasto un pò deluso, soprattutto per quanto riguarda l'utilizzo come player audio (come player video faceva il suo lavoro, ma rispetto a qualsiasi smartphone o cellulare evoluto ne esce un pò con le ossa rotte!). Dopo essermi preso un Samsung i8000 (anche noto come Samsung Omnia 2, a breve-forse una recensione) il gingillo elettronico rimaneva parecchio inutilizzato! Pertanto, tempo fa ho chiesto consiglio presso uno dei migliori forum specializzati nei tecno-gadget prodotti da Smartdevices, e lì uno dei partecipanti del forum mi ha fornito un'ottima idea per rendere il "coso" di nuovo utile ed operativo: installarvi Mediatomb e renderlo così un perfetto server UNPnP (in pratica un server streaming di contenuti audio-video nella rete locale). Mediatomb è un'ottima applicazione open-source, ed è pure facile da configurare, purtroppo non è stata altrettanto facile da installare! Con il senno di poi, però, in realtà anche l'installazione è banale, ma all'epoca non sapevo...In fondo poi se scrivo questi articoli è anche per rendere più facile la cosa a chi volesse fare lo stesso e così non perdere troppo tempo! Innanzitutto per installare Mediatomb è necessario aprire una shell (o meglio, terminale), che nello SmartQ di default è evilvte. Dopodichè è necessario inserire il seguente comando:

sudo apt-get install mediatomb

Ovviamente è necessario essere connessi alla rete, visto che il pacchetto (o per meglio dire i pacchetti) verrà scaricato dal repository più idoneo! Ad installazione finita, se dopo aver provato a lanciare Mediatomb riceverete un errore riguardo un file mancante (più esattamente libtag.so.0 o libswscale.so) allora sarà necessario scaricare ed installare anche ffmpeg, usando come al solito apt-get:

sudo apt-get install ffmpg

Alla fine dell'installazione potrete finalmente lanciare Mediatomb, ma non prima di aver creato una rete wi-fi ad-hoc sullo SmartQ (aprendo il wifi manager c'è un menù a tendina che permette di farlo agevolmente, ricordarsi di inserire un indirizzo IP sensato e di scegliere se utilizzare il WEP o meno). Lanciare quindi Mediatomb sempre da evilvte con il comando:

sudo mediatomb

A questo punto il server è attivo (di già, direte voi?), solo che è necessario aggiungere le cartelle che saranno condivise, o per meglio dire i contenuti audio-video che potranno essere streammati. Per fare ciò sarà sufficiente puntare un browser internet o sulla macchina locale all'indirizzo "http://localhost:49152" oppure da un altro computer o dispositivo sostituenbdo a localhost l'indirizzo IP precedentemente assegnato allo SmartQ. Se si aprirà una pagina allora saremo certi che Mediatomb sta funzionando correttamente. Per aggiungere le cartelle clickare su "Filesystem" e navigare le cartelle fino ad arrivare a quella o quelle desiderate. Clickare dunque sull'icona a destra con il simbolo "+" per aggiungere la cartella al server. Ci sono parecchie possibilità di personalizzare il server, con script ed affini, indubbiamente interessante, ma non banale da implementare. Ad ogni modo, a questo punto il server è attivo e funzionante, non resta che trovare un riproduttore che sia compatibile con il protocollo UPnP. Sostanzialmente sarebbe sufficiente un dispositivo con un web browser qualsiasi, ma oltre ad essere scomoda questa soluzione non è nemmeno troppo elegante. Se avete uno smartphone non sarà difficile trovare un player compatibile, seppure a pagamento (nel caso di Windows Mobile), mentre per PC sarà molto più facile ed economico trovare software adatto.

Vantaggi
Quali vantaggi può portare realizzare un UPnP sullo SmartQ, rispetto, ad esempio, che realizzarlo su un normale PC? Innanzitutto il consumo energetico: lo SmartQ infatti viene alimentato da un trasformatore da 5V e al massimo 2 ampere, il che significa un consumo orario massimo di 10 Watt. Una lampadina a consumo energetico ridotto consuma anche più del doppio, per non parlare di un PC, che può arrivare anche a più di 10 volte questo valore. Inoltre lo spazio occupato dallo SmartQ è davvero ridotto, e non c'è mini-pc che tenga: grande poco più di uno smartphone lo si può mettere praticamente ovunque, non c'è bisogno di tenerlo nella "sala macchine", e non ci si dovrà preoccupare della rumorosità delle ventole (perchè non ne ha :). Senza contare che anche se va via la luce, la batteria interna garantisce alcune ore (almeno un paio) di autonomia, cosa che nessun gruppo di continuità che non costi migliaia di euro può permettere. Quindi solo vantaggi? O no?

Svantaggi
Magari non ce ne fossero...Purtroppo una soluzione di questo genere porta con sè inevitabilmente alcuni problemi, come ad esempio la difficoltà di utilizzare dischi esterni con Mediatomb (difficile da dire quale sia il problema, ma l'altro sabato ho provato con un hard disk esterno da 20 giga ed il sistema si è schiantato), quindi il massimo storage utilizzabile (al momento) sembrerebbe limitato ai 32 gigabyte della sche SD (trovare 32 giga ad un prezzo inferiore ai 100 euro sembra più difficile che fare un terno al lotto, al momento!). Mi resta da provare le memorie usb flash, ma al momento non ne ho a disposizione! Certo che un hard disk esterno da 500 giga (o anche un terabyte) sarebbe meglio (ma consumerebbe anche più corrente, ovviamente)...in ogni caso meglio accontentarsi, va! Inoltre da alcuni test preliminari pare che il server non funzioni proprio al 100%, anche se non ho capito ancora per quale motivo, ma talvolta è necessario riavviare la macchina, in quanto sembra non basti riavviare il server (o magari non ho trovato io un metodo migliore). Inoltre Mediatomb è alquanto basilare come server UPnP: Jinzora, ad esempio, è molto più evoluto ed ha molte più funzionalità, ma è anche vero che è molto più difficile da installare (a meno che non si riesca a installare PHP, Apache e Mysql, cosa forse non impossibile, ma ho qualche dubbio che si riesca a trovare tutti i pacchetti necessari). Un'ultima cosa da considerare, per la parte client: le reti wireless consumano un sacco di energia, e le batterie dei dispositivi che si usano per ascoltare la musica in streaming si possono esaurire molto in fretta. Ovviamente un server UPnP è fatto per essere utilizzato tra le mura domestiche, tuttavia dover collegare il proprio cellulare alla presa della corrente troppo spesso non è il massimo della praticità!

Il pensiero finale
Alla fin fine è conveniente allora realizzare un server multimediale del genere? Io penso di sì. Certo, le limitazioni rispetto ad un server tradizionale ci sono, soprattutto per quanto riguarda lo storage, tuttavia una volta messe le mani su una memoria SD abbastanza capiente (almeno 16 giga), è possibile realizzare qualcosa di piuttosto valido. Inoltre, se funzionano (o sono capace di far funzionare) anche le memory stick usb, lo spazio di memorizzazione è facilmente ampliabile, ed è questione di aspettare solo che i prezzi scendano per avere uno spazio di oltre 100 giga a disposizione! Nel frattempo mi divertirò a realizzare qualche script per automatizzare l'avvio, che poi magari provvederò a postare nel blog, se a qualcuno interessa!

Aggiornamento 11/08/2010
Visto che avevo un pò di tempo libero ho provato ad attaccare allo SmartQ un hard disk esterno da 20 gigabyte (uno da 1,8" alimentato direttamente da usb, in questo modo non ha bisogno di altre fonti di alimentazione), dopodichè ho aggiunto a Mediatomb un giga circa di mp3. La scansione degli stessi non è stata troppo veloce (anche perchè probabilmente l'usb host dello SmartQ sarà probabilmente di tipo 1.1, quindi limitato a 12Mbit/s), tuttavia dopo pochi minuti le tracce audio erano state analizzate ed aggiunte al database! Missione compiuta? Quasi...Resta solo da aggiungere uno script al sistema per automatizzare la creazione di una rete wireless ad-hoc (praticamente cosa fatta) e la creazione di un file di importazione per Mediatomb che si adatti meglio alle mie necessità (quello di default non è proprio eccezionale!)

Aggiornamento 13/08/2010
Oggi ho giocherellato un pò con uno script per configure il wifi sullo SmartQ e di seguito avviare Mediatomb. Niente di che , ma si risparmia parecchio tempo rispetto a configurare tutto manualmente, questo è sicuro. Resta da smussare ancora qualche dettaglio, ma il server è funzionante nel suo complesso. Sono un pò invece scontento dal consumo della batteria del ,mio smarphone che l'utilizzo del wifi comporta; da una stima abbastanza empirica potrebbe non raggiungere nemmeno le 2 ore e mezza di autonomia. Il problema ovviamente non si pone con un sistema desktop o con altri dispositivi fissi. Quindi è evidente che utilizzare il server con un dispositivo mobile è alquanto critico, senza contare che il dispositivo si scalda parecchio, con il modulo wifi attivo. Un'alternativa potrebbe essere utilizzare un collegamento bluetooth, molto meno esoso in termini energetici, ma anche più limitato come banda e come distanza massima raggiungibile! Un'alternativa più valida potrebbe essere settare un buffer piuttosto ampio (5-10 megabyte), e fare sì che il wifi si disattivi in questo periodo di non utilizzo (tipicamente da 5 a 10 minuti a seconda del bitrate), e sarebbe ovviamente anche necessario gestire il ricollegamento alla rete wireless prima che il buffer si esaurisca. Purtroppo per fare ciò, oltre ad un player audio piuttosto sofisticato, sarebbe anche necessario un'integrazione dello stesso con il sistema molto elevata...Meglio non divagare troppo, altrimenti divento troppo noioso! Ad ogni modo, un'altra cosa che volevo fare sullo SmartQ era anche installarvi un server ftp (nello specifico proftpd, in quanto la cosa potrebbe essere piuttosto utile, dal mio punto di vista, ovviamente), per caricare/scaricare file o cartelle da altri computer della casa o dispositivi. Alla fine più un esperimento che qualcosa di forse veramente utile. E perchè non un server Samba, direte voi? Semplicemente perchè non sono riuscito ancora a visualizzare le condivisioni Windows sullo SmartQ (utilizzandolo come client!). Essendo l'ftp un protocollo ancestrale, non dovrei avere troppi problemi (o no?)! Nei prossimi giorni smanetteremo un pò con l'ftp, allora, ricordando i vecchi tempi in cui si scaricava mp3 dai server ftp utilizzando GetRight!