Apportez votre aide…
uShare : Serveur de médias UPnP et DLNA
Développé par Geebox (en) pour GNU/Linux et distribué sous licence libre GNU (GPL), uShare a pour objectif d'utiliser un ordinateur comme serveur UPnP et DLNA pour lire musiques, vidéos et photos à partir de votre Freebox avec disque dur, Xbox 360, Playstation 3(*) ou encore Archos 605. De nombreux autres appareils peuvent aussi être utilisés pour la lecture, dont les streamers, ou d'autres ordinateurs du réseau.
uShare implémente le composant serveur qui fournit les appareils en informations sur les fichiers multimédias disponibles.
Aux utilisateurs de PS3 : préférez utiliser Univesal Media Server ou mediatomb. Ushare pose des problèmes pour l'instant avec certains fichiers avi.
Installation
Configuration simplifiée
Ushare est très facile à configurer.
- Un nom pour le partage ;
- l'interface réseau utilisée ;
- et puis les chemins des dossiers contenant les médias.
Dans un terminal on lance la commande suivante qui va permettre de configurer le partage via une interface graphique :
sudo dpkg-reconfigure ushare
et on suit les étapes suivantes :
Le nom du partage
L'interface réseau
Les dossiers médias
Ici on indique le chemin du dossier ou sont stockés les fichiers multimédias. Exemple : /home/utilisateur/Images/.
On peut indiquer plusieurs dossiers se trouvant à des endroits différents. On séparera alors les chemins par une virgule ",".
Exemple : /home/utilisateur/Images,/home/utilisateur/Vidéos,/home/utilisateur/Musique
Une fois validé, le partage est réinitialisé et activé. Ensuite, uShare sera activé automatiquement en tant que service à chaque démarrage d'Ubuntu.
Si ce n'était pas le cas, réinitialisez et activez le depuis un terminal avec la commande suivante :
sudo /etc/init.d/ushare restart
Le Pare-feu d'Ubuntu n'est normalement pas activé par défaut. Si vous avez votre Pare-feu d'activé, il vous sera nécessaire d'y autoriser uShare. dans ce cas, voir chapitre Configuration du Pare-feu de la section suivante.
sudo /etc/init.d/ushare restart
Configuration avancée
Fichier de configuration
Le fichier de configuration de uShare se trouve dans le dossier /etc. On peut donc éditer ce fichier /etc/ushare.conf pour configurer plus précisément le(s) partage(s).
sudo /etc/init.d/ushare restart
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= # Directories to be shared (space or CSV list). # Ex: USHARE_DIR=/dir1,/dir2 USHARE_DIR=/home/utilisateur/Images,/home/utilisateur/Vidéos,/home/utilisateur/Musique # 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= # Enable Telnet control interface (yes/no) USHARE_ENABLE_TELNET= # Use XboX 360 compatibility mode (yes/no) USHARE_ENABLE_XBOX= # Use DLNA profile (yes/no) # This is needed for PlayStation3 to work (among other devices) USHARE_ENABLE_DLNA=
Activer les caractères spéciaux
La gestion des caractères accentués est activée par défaut. Si certains caractères spéciaux ne seraient pas actifs, il suffit de modifier le fichier de configuration /etc/ushare.conf afin que l'option "USHARE_OVERRIDE_ICONV_ERR" soit activée.
Ou bien dans un terminal saisir les commandes suivantes :
sudo sed 's/USHARE_OVERRIDE_ICONV_ERR=\ /USHARE_OVERRIDE_ICONV_ERR=YES\ /' -i /etc/ushare.conf
Paramétrer les dossiers via l'interface web
Si vous faites le choix :
# Enable Web interface (yes/no) USHARE_ENABLE_WEB=yes
vous pouvez paramétrer les dossiers à partager via 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.
- Editer le fichier de configuration /etc/ushare.conf et compléter la ligne "USHARE_PORT=" avec par exemple le port par défaut 49200. Exemple :
# Port to listen to (default is random from IANA Dynamic Ports range) # Ex : USHARE_PORT=49200 USHARE_PORT=49200
Ou bien dans un terminal saisir les commandes suivantes :
sudo sed 's/USHARE_PORT=\ /USHARE_PORT=49200\ /' -i /etc/ushare.conf
- Se rendre sur son navigateur web et saisir dans la barre d'adresse: http://localhost:port/web/ushare.html
(Le port est celui défini dans USHARE_PORT. Généralement 49200).
Configuration du Pare-feu
Le pare-feu d'Ubuntu n'est normalement pas activé par défaut. Si vous avez votre pare-feu d'activé, il vous sera nécessaire d'autoriser le service uShare. (Port par défaut : 49200)
- Editer le fichier de configuration /etc/ushare.conf et compléter la ligne "USHARE_PORT=" avec le port par défaut 49200. Exemple :
# Port to listen to (default is random from IANA Dynamic Ports range) # Ex : USHARE_PORT=49200 USHARE_PORT=49200
Ou bien dans un terminal saisir les commandes suivantes :
sudo sed 's/USHARE_PORT=\ /USHARE_PORT=49200\ /' -i /etc/ushare.conf
sudo /etc/init.d/ushare restart
- Ajouter la règle de pare-feu selon le type d'appareil.
Avec Gufw qui est une interface graphique du gestionnaire de configuration UFW du pare-feu d'Ubuntu, on ajoute une règle du genre Allow Entrée TCP 192.168.1.15
Particularités selon le périphérique uPnP
Freebox
Rien d'autre à faire de plus que d'avoir activé le routeur et la fonction uPnP de la Freebox .(voir l'interface "gestion de votre compte" sur le site de Free.)
Freebox V5 et Crystal
Les dossiers partagés sont dans le menu de "gestion disque dur".
Pare-feu
Si vous avez votre Pare-feu d'activé, il vous sera nécessaire d'y autoriser uShare. dans ce cas, voir chapitre Configuration du Pare-feu.
Freebox Revolution
L'accès aux dossiers partagés se fait via le menu "Disques → Mes Disques"
Pare-feu
Si votre pare-feu est activé, ajouter la règle de pare-feu en saisissant dans un terminal la commande suivante :
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
, …)
Playstation 3
Démarrage du Service
L'initialisation automatique au démarrage d'Ubuntu se fait sur la base d'une configuration simple mais pour la Playstation 3, uShare doit être démarré avec les options :
- -d pour Utiliser le mode de compatibilité DLNA pour PLAYSTATION 3
- -D pour utiliser ushare en mode Démon (processus)
Vous devez donc lancer uShare depuis un terminal avec la commande suivante :
ushare -d -D
Vous pouvez aussi vouloir rendre uShare actif au démarrage, Dans ce cas, depuis le menu de l'indicateur système dans la zone de notification de la barre supérieure du bureau :
- Choisir "Applications au démarrage…" puis cliquer sur "ajouter"
- Dans "nom", saisir
ushare
- et dans "commande", saisir
ushare -d -D
- Valider en cliquant sur "Ajouter".
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 https://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 Envoi 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.
Règle du pare-feu
Ajouter une nouvelle règle à votre pare-feu 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)
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)
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é.
Xbox 360
1er tutoriel
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.
2ème tutoriel
(A tester si des problèmes surviennent avec le 1er tutoriel)
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 "/etc/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 tutoriel de ce post post Traduction cî-dessous
3ème tutoriel
(A tester si des problèmes surviennent avec le 2ème tutoriel.)
- Mettez votre Xbox 360 à jour en la connectant au "xBox Live".
- Installer les bibliothèques requises libupnp-dev libdlna-dev. Puis dans un terminal, avec les commandes suivantes :
- Téléchargez et décompressez les sources de uShare
wget https://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
Et pour finir :
- 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.
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
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
Vous pouvez aussi vouloir rendre uShare actif au démarrage, Dans ce cas, depuis le menu de l'indicateur système dans la zone de notification de la barre supérieure du bureau :
- Choisir "Applications au démarrage…" puis cliquer sur "ajouter"
- Dans "nom", saisir
ushare
- et dans "commande", saisir
ushare -d -D
- Valider en cliquant sur "Ajouter".
Pour accéder à vos dossiers partagés lors de la configuration sélectionner Mes Medias dans l'interface du lecteur.
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
Vous pouvez aussi vouloir rendre uShare actif au démarrage, Dans ce cas, depuis le menu de l'indicateur système dans la zone de notification de la barre supérieure du bureau :
- Choisir "Applications au démarrage…" puis cliquer sur "ajouter"
- Dans "nom", saisir
ushare
- et dans "commande", saisir
ushare -D
- Valider en cliquant sur "Ajouter".
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…
Problèmes connus
Initialisation au démarrage d'Ubuntu
uShare est lancé automatiquement comme service au démarrage d'Ubuntu via le protocole des scripts system V. Il se fait sur la base d'une configuration simple, sans option. Voilà pourquoi certains appareils uPnP demandant des options ne pourront pas fonctionner correctement au démarrage.
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, notamment 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 \
Solution pour faire fonctionner uShare en wifi avec Network Manager en évitant les sleeps aléatoires
Le service uShare tel qu'il est fourni en tant que package ne marche que lorsque on n'utilise pas de wifi et que le réseau est disponible au démarrage du service uShare.
Ci-dessous une solution :
- Installer le paquet standard à l'aide d'un terminal en saisissant la commande suivante :
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 /etc/ushare.conf en partageant les dossiers 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