eXport-it, android  UPnP Client/Server

eXport-it client/serveur UPnP/HTTP android

Android


une application android pour partager ses fichiers vidéos, audios, images et livres




Le client



Lorsque l’on démarre le client, on reçoit un écran comme:

upnp client

Sur la barre de titre, vous avez le type de connexion (Wifi ou Mobile) et l'adresse IP locale de cet interface. Dans le milieu de l'écran vous avez un bouton à bascule et juste en dessous la liste des serveurs de médias. Un clic sur le bouton à bascule donne la liste de tous les périphériques UPnP trouvés sur ce réseau. Si vous sélectionnez un autre appareil que sur un serveur de médias, vous pouvez lire son texte de présentation XML.




Lorsque l’on sélectionne un serveur dans la liste, en cliquant dessus,on obtient un message disant que l’on collecte les données, puis un second écran apparait, si le serveur concerné distribue des données. On peut retourner de ce second écran, vers la liste des serveurs, en cliquant sur la petite maison dans le coin supérieur droit. Sinon, sur le second écran, on trouve au milieu la liste des données exportées par catégorie. On peut visualiser une liste en cliquant sur le bouton correspondant. Si on veut sélectionner tous les fichiers de la liste, il faut la sélectionner avant de pousser sur le bouton.


client02


Lorsque des fichiers sont sélectionnés dans une liste, on peut les « jouer » si ils proviennent d’un serveur UPnP (testé avec UShare, Mediatomb, eXport-it, …) ou les prendre pour faire une copie locale si ils viennent d’un serveur eXport-it (protocol HTTP). On peut nettoyer l’écran de la liste des fichiers affichée avant de passer à une autre liste (à l’aide de l’icône « petite brosse »), mais ce n’est pas indispensable. video streaming

Les fichiers vidéos et audios, sont joués à l’aide du « media player » natif d’android. Il ne supporte que les formats 3gpp et mp4 pour les videos, et m4a et mp3 pour les fichiers audios. Les images (photos) sont affichées à l’aide d’une simple « webview ». Pour les videos, l’application passe automatiquement en mode « paysage ».

audio streaming
audio streaming
image display


ebook reading over wifi network
Lire des livres sur le réseau Wifi

En ce qui concerne les livres, je n’ai jamais envisagé d’écrire une application pour ce faire. J’ai donc posé la question « comment faire » au support d’application spécialisée. Le support de qPDFViewer, m’a suggéré d’utiliser leur produit en l’appelant par une « View intent ». Cette action démarre l’application de lecture comme une tâche nouvelle, ce qui provoque à la fin de la séquence de lecture, une ré-initialisation complète du client eXport-it. L’utilisateur se retrouve donc, après lecture, avec la page affichant la liste des serveurs, et plus celle avec la liste des fichiers du serveur sélectionné.

Cette méthode a été essayée avec d’autres produits de lecture d’eBooks. Pour l’instant le client d’eXport-it, supporte qPDFViewer, Acrobat Reader et FBReader 2 beta avec son plugin PDF, pour a lecture de PDF. Pour la lecture des autres formats de livres, il n’y a pour l’instant que FBReader (2.0 beta), CoolReader, et ZoReader, qui sont supportés.



Pour lire les fichiers eBooks à distance, on peut utiliser une autre technique. Si on dispose d’un produit de lecture, supportant les catalogues « OPDS » (il y en a plusieurs), on peut démarrer ce produit puis pointer vers le catalogue de son serveur eXport-it, quelque chose comme //192.168.1.47:8192/opds, en ajoutant « /opds » à l’URL de ce serveur sur le réseau Wifi. Cette technique a été validée pour l’instant, avec Moon Reader, et FBReader. Elle devrait fonctionner avec plusieurs autres lecteurs.

Pour lire des livres sur Internet

Pour lire les fichiers eBooks à distance, on peut utiliser une autre technique. Si on dispose d’un produit de lecture, supportant les catalogues « OPDS » (il y en a plusieurs), on peut démarrer ce produit puis pointer vers le catalogue de son serveur eXport-it, quelque chose comme //192.168.1.47:8192/opds, en ajoutant « /opds » à l’URL de ce serveur sur le réseau Wifi. Cette technique a été validée pour l’instant, avec Moon Reader, et FBReader. Elle devrait fonctionner avec plusieurs autres lecteurs.

opds catalog ebook reading over Internet


Performances issues and known limitations

By design, the eXport-it client works with only four categories of files: video, audio, images and eBooks. It is traduced, on UPnP, by only four containers for the items. The “normal” UPnP servers work totally differently, defining a very complex containers structure, based not only on the file type, but on directory names, name of the author or actor, year of publication… The same item appears very often multiple times…

When the eXport-it client accesses such a server, it must perform a complex acion for reading of the global containers structure, deleting all duplicate items, for presenting the simple lists in summary. This process uses heap memory intensively and can require a lot of time, with very poor performances.