Apportez votre aide…
Ceci est une ancienne révision du document !
uShare : Serveur de médias UPnP et DLNA
Introduction
L'objectif est de se servir de notre PC comme serveur pour lire musique, vidéos et photos à partir de notre Xbox 360, Playstation 3(*), la Freebox Player ou notre Archos 605. De nombreux autres appareils peuvent aussi être utilisés pour la lecture, dont les streamers, ou d'autres PC du réseau. Pour cela nous allons utiliser l'application uShare.
uShare est un serveur média UPnP et DLNA. Il implémente le composant serveur qui fournit les appareils en informations sur les fichiers multimédia disponibles.
Nous allons installer uShare 1.1 compatible Debian/Ubuntu fourni par Geexbox (Geexbox est un Centre Multimédia Linux).
Aux utilisateurs de PS3 : préférez utiliser PS3MediaServer ou mediatomb. Ushare pose des problèmes pour l'instant avec certains fichiers avi.
Configuration Testée
Installation
A partir de Hardy Heron et suivant
La dernière version (1.1a à ce jour) se trouve dans les dépôts Universe. Activez-les et installez simplement le paquet ushare.
Sous Gutsy Gibbon et antérieur
Modifiez vos sources de mises à jour pour y ajouter le dépôt suivant :
deb http://www.geexbox.org/debian/ unstable main
Puis on installe le paquet ushare.
Configuration
Configuration basique en mode graphique
Dans un terminal on lance la commande suivante qui va permettre de configurer le partage :
sudo dpkg-reconfigure ushare
et on suit les étapes suivantes :
ici on inscrit le nom qu'on veut donner au partage. Exemple : Alphonse
ici on choisit l'interface réseau utilisée pour la connexion réseau.
ici on inscrit le chemin d'accès au partage. Exemple : /media/lecteurA/musique/
On peut partager plusieurs dossiers se trouvant à des endroits différents. On séparera alors les chemins par une virgule ",". Exemple : /media/lecteurA/musique,/media/lecteurB/videos
pour activer partage : (et à chaque modification du /des dossier(s) partagé(s): ajout d'une video ou autre fichier afin de rendre visible sur FREEBOX V6)
sudo /etc/init.d/ushare restart
Voilà pour ce qui est de la configuration.
Configuration avancée
La configuration de uShare se retrouve dans le fichier /etc/ushare.conf. On peut donc éditer le fichier /etc/ushare.conf pour préparer/modifier le(s) partage(s).
Le fichier se présente comme suit :
# /etc/ushare.conf # Edit this file with 'dpkg-reconfigure ushare' # Configuration file for uShare # uShare UPnP Friendly Name (default is 'uShare'). USHARE_NAME=Alphonse # Interface to listen to (default is eth0). # Ex : USHARE_IFACE=eth1 USHARE_IFACE=wlan0 # Port to listen to (default is random from IANA Dynamic Ports range) # Ex : USHARE_PORT=49200 USHARE_PORT=49200 # Directories to be shared (space or CSV list). # Ex: USHARE_DIR=/dir1,/dir2 USHARE_DIR=/media/lecteurA/musique,/media/lecteurB/videos,/media/lecteurB/images # Use to override what happens when iconv fails to parse a file name. # The default uShare behaviour is to not add the entry in the media list # This option overrides that behaviour and adds the non-iconv'ed string into # the media list, with the assumption that the renderer will be able to # handle it. Devices like Noxon 2 have no problem with strings being passed # as is. (Umlauts for all!) # # Options are TRUE/YES/1 for override and anything else for default behaviour USHARE_OVERRIDE_ICONV_ERR= # Enable Web interface (yes/no) USHARE_ENABLE_WEB=no # Enable Telnet control interface (yes/no) USHARE_ENABLE_TELNET=no # Use XboX 360 compatibility mode (yes/no) USHARE_ENABLE_XBOX=yes # Use DLNA profile (yes/no) # This is needed for PlayStation3 to work (among other devices) USHARE_ENABLE_DLNA=no
Si vous faites le choix = # Enable Web interface (yes/no) USHARE_ENABLE_WEB=yes Vous pouvez paramétrer uShare UPnP Media Server par le biais de son interface Web. Cela permet de définir de nouveaux emplacements de contenus lors de l'exécution ou mettre à jour un nouveau média. Se rendre sur son navigateur web :
http://ip_address-de-son-ordinateur:port/web/ushare.html (le port est généralement 49200 ou 49159)
Activer les caractères spéciaux (par exemple: les accents)
Il suffit de modifier le fichier de configuration /etc/ushare.conf afin que l'option "USHARE_OVERRIDE_ICONV_ERR" soit activée. Mode automatique⇒
sudo sed 's/USHARE_OVERRIDE_ICONV_ERR=\ /USHARE_OVERRIDE_ICONV_ERR=YES\ /' -i /etc/ushare.conf
Configuration du Pare-feu
Il vous faudra certainement configurer votre pare-feu pour que tout fonctionne correctement. Pour faire cela il est recommandé d'utiliser Firestarter qui est une interface graphique pour le pare-feu iptables d'Ubuntu.
Avec FireStarter il vous suffit d'aller sur l'onglet Politique et d'y ajouter une nouvelle règle pour autoriser le service uShare (port 49200 par défaut) quand la source est l'adresse IP de votre Playstation 3 (exemple : 192.168.2.40)
Pour l'utilisation avec la Freebox Revolution (V6), avec UFW, ajouter la règle de pare-feu:
$ sudo ufw allow proto tcp from 192.168.1.29 to any
Ou directement avec iptables :
$ sudo iptables -A INPUT -p tcp -i eth0 --dport 49200 -j ACCEPT $ sudo iptables -A INPUT -p udp -i eth0 --dport 49200 -j ACCEPT $ sudo iptables -A INPUT -s 239.255.255.250 -p udp -i eth0 --dport 1900 -j ACCEPT
eth0
doit être adapté à votre réseau (cela peut-être wlan0
, eth1
, …)
Utilisation sur la Playstation 3
Depuis la mise à jour en 1.8 du Firmware de la console, la PS3 est capable de se connecter à des serveurs DLNA3.
- ajout du mer 2 Avril 2008, par Xrose
Attention, si lors de l'accès à vos fichiers, ceux-ci sont annoncés comme « Données Non compatibles », c'est que l'option USHARE_ENABLE_DLNA dans le fichier de configuration est sur « No ». Il faut donc la modifier en « Yes ». Lors du lancement de Ushare, celui-ci répertorie alors les fichiers en conséquence.
Démarrage du Service
Dans un terminal tapez
ushare -d -D
-d pour Utiliser le mode de compatibilité DLNA pour PLAYSTATION 3
-D pour utiliser ushare en mode Démon (processus)
ushare -d
Voici l'exemple d'un résultat qui s'affiche dans le terminal :
uShare (version 1.0), un serveur mutlimédia UPnP léger. Benjamin Zores (C) 2005-2007, pour l'équipe GeeXboX. Voir http://ushare.geexbox.org/ pour les mises à jour. Initialisation du système UPnP ... Démarre en mode compatibilité DLNA ... Serveur Multimédia UPnP en écoute sur 192.168.2.13:49200 Envoit des informations UPnP du périphérique ... Attente de connexions ... Création de la liste de données Recherche des fichiers dans le répertoire de contenus : /media/media/musique/ Recherche des fichiers dans le répertoire de contenus : /media/media/videos/ Recherche des fichiers dans le répertoire de contenus : /media/media/ 27345 fichiers et sous-répertoires trouvés.
La commande reste "ouverte" dans le terminal, c'est pour cela qu'en rajoutant l'option -D (démon) la commande se lance sous forme de processus et on revient à l'invite du Terminal
On doit donc retrouver le contenu de nos partages sur les serveurs Multimédia : Photo, Musique et Vidéo.
Formats vidéos supportés par la PS3
- Format vidéo Memory Stick :
- MPEG-4 SP (AAC LC)
- H.264/MPEG-4 AVC Main Profile (AAC LC)
- Format de fichier MP4 :
- H.264/MPEG-4 VAC High Profile (AAC LC)
- MPEG-1 (MPEG Audio Layer 2)
- MPEG-2 PS (MPEG2 Audio Layer 2, AAC LC, AC3 (Dolby Digital), LPCM)
- MPEG-2 TS (MPEG2 Audio Layer 2)
- AVI :
- Motion JPEG (Linear PCM)
- Motion JPEG (μ-Law)
- AVCHD (.m2ts / .mts)
Ça y est, la PS3 peut lire les DivX, reste à voir quelles sont les contraintes de la lecture DivX.
Attention, suite à la mise en place du système de protection de droits Cinavia avec le logiciel système 3.41, il est possible que la console refuse de lire le son de certaines vidéos (y compris DivX) si celles-ci n'ont pas de DRM associé.
Utilisation avec la Xbox 360
Premier tutorial
Avec les mises à jour de la Xbox 360 sur le live et celles de uShare, il est de plus en plus facile de visionner des vidéos sur sa télé en se servant de la Xbox.
Pour cela, suivez la paragraphe "Configuration basique en mode graphique" situé un peu plus haut. Il n'est pas nécessaire, pour votre premier test, de modifier les règles de votre pare-feu. Cela fonctionne très bien sans.
Une fois la configuration terminée, ushare est bien actif et il suffit, sur votre Xbox d'aller dans l'onglet "multimédia" puis "Vidéos". La dernière ligne est maintenant disponible et s'appelle Ushare (ou tout autre nom que vous avez donné lors de la configuration). Si votre Xbox vous met directement dans le répertoire "console", la touche X vous permet de changer de source afin de sélectionner le partage Ushare.
- Ouvrez un Terminal et tapez:
ushare -x
Cela activera ushare avec l'option -x qui permet d'activer la prise en charge de la Xbox.
Fermez le terminal quand vous n'aurez plus besoin d'uShare.
Deuxième tutorial à tester si des problèmes surviennent avec le premier tutorial
La Xbox 360 peut également utiliser les partages ushare. Le support de cette console n'est cependant pas parfait à l'heure actuelle : en effet, non seulement le fait de paramétrer "USHARE_ENABLE_XBOX=yes" dans le fichier ushare.conf ne fonctionne pas (aussi bien avec le démon qu'avec l'application), mais cela désactive la possibilité de l'activer manuellement en lançant le programme avec le paramètre "-x".
La solution est la suivante :
- Commenter (mettre un # devant la ligne) le paramètre "USHARE_ENABLE_XBOX" dans le fichier /etc/ushare.conf
- Éditer le fichier /etc/init.d/ushare, en ajoutant USHARE_OPTIONS="-x" dans la liste des variables. Le début du fichier devrait alors ressembler à ceci :
#!/bin/sh -e # # uShare init script # ### BEGIN INIT INFO # Provides: ushare # Required-Start: $local_fs $syslog $network # Should-Start: # Required-Stop: # Should-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: uShare # Description: uShare UPnP (TM) A/V & DLNA Media Server # You should edit configuration in /etc/ushare.conf file # See http://ushare.geexbox.org for details ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/bin/ushare NAME=ushare DESC="uShare UPnP A/V & DLNA Media Server" PIDFILE=/var/run/ushare.pid CONFIGFILE=/etc/ushare.conf # On ajoute ici le paramètre de compatibilité Xbox 360 USHARE_OPTIONS="-x" # abort if no executable exists [ -x $DAEMON ] || exit 0 [...]
Le support Xbox 360 sera désormais activé (et fonctionnel!) à chaque démarrage du démon.
Si cela ne fonctionne toujours pas, suivez le troisiéme tuto de ce post post Traduction cî-dessous
Troisième tutorial à tester si des problèmes surviennent avec le deuxième tutorial
Mettez votre Xbox 360 à jour en la connectant au "xBox Live".
Installez les libraires requises:
sudo apt-get install libupnp-dev libdlna-dev
Téléchargez et décompressez les sources de Ushare: Code:
wget http://ushare.geexbox.org/releases/ushare-1.1a.tar.bz2 tar -xvf ushare-1.1a.tar.bz2
Changez le fichier mime.c . Cela force à présenter les fichiers .avi comme des fichiers jouables sur la xbox:
cd ushare-1.1a/ gedit src/mime.c
Changez cette ligne:
{ "avi", UPNP_VIDEO, "http-get:*:video/x-msvideo:"},
Comme ça:
{ "avi", UPNP_VIDEO, "http-get:*:video/x-ms-wmv:"},
Maintenant: configure, make, et install:
./configure --log --prefix=/usr --sysconfdir=/etc --disable-dlna make sudo make install
Changez le fichier "/etc/ushare.conf" selon vos besoins. Vous devez indiquer le dossier de partage:
sudo gedit /etc/ushare.conf
Démarrez Ushare avec la compatibilité xbox:
ushare -x
Sur votre Xbox, allez à "media", puis sélectionnez "video", appuyez sur le bouton "X" pour sélectionner votre source de media. La xbox devrait trouver votre serveur ushare.
Utilisation avec l'Archos 605 Wifi
Le Archos 605 Wifi est lui aussi capable d'accéder à un réseau UPnP via sa connexion Wifi : une fois uShare correctement installé (cf Installation) et configuré (cf configuration), on le lance en tâche de fond :
ushare -D
(le mode DLNA (option -d) conseillé pour la PS3 ne semble pas nécessaire pour l'Archos)
Ensuite dans la section Photo, Vidéo ou Musique de l'Archos on sélectionne "Réseaux UPnP" et le partage devrait apparaître, donnant accès à tous les contenus du (des) répertoire(s) sélectionné(s) lors de la configuration.
NB : j'ai rajouté ushare dans le gestionnaire de session pour le lancer au démarrage et l'option -D ne semble alors pas nécessaire
Utilisation avec Lecteur LG BD390
Une fois uShare correctement installé (cf Installation) et configuré (cf configuration), on le lance en tâche de fond en activant le mode de compatibilité DLNA avec l'option -d
ushare -d -D
Pour acceder à vos dossiers partagés lors de la configuration séléctionner Mes Medias dans l'interface du lecteur.
Utilisation avec une tablette Acer Iconia Tab A500
Une fois uShare correctement installé (cf Installation) et configuré (cf configuration), on le lance en tâche de fond
ushare -D
Par contre sur la tablette en question, seul Skifta fonctionne correctement.
Questions fréquentes
Encodage à la volée
Existe-t-il des logiciels comme le logiciel Nero Media Home de Windows qui encodent à la volée?
–Elisa doit le permettre, mais cela ne fonctionne pas encore aujourd'hui (bug)
–Vlc permet l'encodage à la volée, il est utilisé par Free pour le freeplayer (envoi de flux vidéo vers la Freebox)
–Mediatomb supporte l'encodage a la volée…
Initialisation
Comment configurer ushare pour qu'il s'initialise au démarrage du pc. init.d ? ou via le gestionnaire de session ?
Il semblerait qu'il y ait deux soucis avec le paquet installé:
- le nom du script /etc/init.d/ushare qui entre en conflit avec l’exécutable
- la priorité de démarrage (20 quand networking a une priorité de 40)
Une solution validée par l'auteur de cette section est:
sudo update-rc.d -f ushare remove sudo mv /etc/init.d/ushare /etc/init.d/ushare.sh sudo update-rc.d ushare.sh defaults 80
Dans le cas ou cela ne marche toujours pas, notament si la connexion se fait par wifi et n'est pas immédiate, il peut être utile d'insérer une commande sleep 20 (pour attendre 20 secondes) dans le script /etc/init.d/ushare.sh juste avant la ligne
start-stop-daemon --start --quiet --background --oknodo \
sous ubuntu 11.10 pour lancer ushare au demarrage vous ouvrez:
- ´´application au demarrage ´
- puis taper "ushare΅ dans nom
- puis "ushare -d -D" dans commande
Solution pour faire fonctionner Ushare en wifi avec Network Manager en évitant les sleeps aléatoires
Le service ushare tel qu'il est fournit en tant que package ne marche que lorsque on n'utilise pas de wifi et que le réseau est disponible au démarrage de la serveur ushare
Ci-dessous une solution : Installer le package standard
sudo apt-get install -y ushare
Supprimer le service en démarrage automatique pour le pas rentrer en conflit avec le démarrage automatique de session (voir ci-dessous)
sudo update-rc.d -f ushare remove
Configurer le fichier ushare.conf en partageant les répertoires Vidéos, Images et Musique de l'utilisateur principal
sudo sed -i "s/^USHARE_NAME=.*/USHARE_NAME=$(hostname)/g" /etc/ushare.conf sudo sed -i "s|^USHARE_DIR=.*|USHARE_DIR=$(echo $HOME)\/Vidéos,$(echo $HOME)\/Images,$(echo $HOME)\/Musique|g" /etc/ushare.conf sudo sed -i "s|^USHARE_IFACE=.*|USHARE_IFACE=$(ip a |grep "inet " |awk '{print $NF}'|egrep -v "lo|vir"|head -1)|g" /etc/ushare.conf
Créer un tache de démarrage automatique sur la session de l'utilisateur principal
cat << EOF > ~/.config/autostart/ushare.desktop [Desktop Entry] Type=Application Exec=ushare -D Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Name[fr]=ushare Name=ushare Comment[fr]= Comment= EOF