Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
mediatomb [Le 01/04/2015, 19:57] – [Disque USB inaccessible] claudiux | mediatomb [Le 18/05/2020, 13:08] (Version actuelle) – [MediaTomb] serged |
---|
| {{tag>Xenial Trusty partage UPnP ps3 dlna}} |
| |
| ---- |
| |
| ====== MediaTomb ====== |
| |
| **MediaTomb** est un serveur UPnP OpenSource sous Licence. |
| Il permet ainsi de partager des ressources audio et vidéo sur votre réseau interne, en étant géré par interface web. |
| |
| MediaTomb est implémenté selon les spécifications UPnP MediaServer v1.0 ; il est disponible pour architecture x86, AMD64 pour Ubuntu. |
| |
| <note>MediaTomb a été remplacé par son successeur [[gerbera|Gerbera]] depuis Ubuntu 18.04 !</note> |
| ===== Pré-requis ===== |
| |
| * Disposer des [[:sudo|droits d'administration]] ; |
| * Disposer d'une connexion à Internet configurée et activée ; |
| * Avoir une connexion réseau correctement configurée sur le client DLNA (PS3, Neufbox, freebox HD, ...) |
| |
| |
| |
| ===== Installation ===== |
| |
| Il vous suffit de les activer et d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>mediatomb]]**. |
| |
| <note important>Attention depuis la mise à jour 18.04, il n'y a plus le paquet dans les dépôts... on peut utiliser le paquet **[[apt>gerbera]]**, basé sur mediatomb qui lui succède et fonctionne de façon similaire. Voir la page **[[gerbera]]**</note> |
| |
| Après installation il vous faut [[#activation_interface_mediatomb|activer l'interface]] et redémarrer Mediatomb, pour éviter le message d'erreur : |
| **MediaTomb UI is disabled. Check your configuration**. |
| |
| |
| ===== Configuration ===== |
| |
| ==== Modification des paramètres par défaut ==== |
| Par défaut, Mediatomb diffuse vos médias sur l'interface réseau //loop// (lo), c'est-à-dire que vous ne pouvez diffuser vos fichiers multimédias que sur votre ordinateur ! Pour pouvoir les diffuser sur votre réseau local, il faut modifier le fichier ''/etc/default/mediatomb'' : |
| gksudo gedit /etc/default/mediatomb & |
| |
| Changez la ligne |
| MT_INTERFACE="lo" |
| en : |
| MT_INTERFACE="eth0" |
| où ''eth0'' est l'interface par laquelle votre ordinateur est relié au réseau local. |
| |
| <note warning>Depuis Xenial (?) le nommage des interfaces a changé et ce peut être une valeur quelconque. |
| |
| L'interface de votre réseau local est indiquée à la fin de la ligne retournée par la commande : |
| route | grep "link-local" |
| </note> |
| |
| Profitez-en pour vérifier que le fichier de log de Mediatomb est bien ''/var/log/mediatomb.log'' (et non ''/var/log/mediatomb'') à la ligne : |
| MT_LOGFILE="/var/log/mediatomb.log" |
| |
| |
| ==== Activation Interface Mediatomb ==== |
| |
| Avec les droits administrateur. |
| |
| * Dans un premier temps, il faut [[:tutoriel:comment_editer_un_fichier|modifier le fichier]] **/etc/mediatomb/config.xml** : |
| Changer la valeur (ligne 7) |
| <file xml /etc/mediatomb/config.xml><ui enabled="no" show-tooltips="yes"></file> |
| par |
| <file xml><ui enabled="yes" show-tooltips="yes"></file> |
| * Puis, re-démarrez le serveur : <code>sudo service mediatomb restart</code> |
| Depuis systemd la commande suivante marche aussi :<code>systemctl start mediatomb</code> |
| |
| |
| * Si on veut que le service se lance au démarrage de l’ordinateur depuis la mise en place de systemd il suffit de lancer la commande suivante :<code>systemctl enable mediatomb</code> |
| |
| |
| ==== Premier usage ==== |
| |
| === Accès interface web === |
| |
| <note important>Vous devez avoir autorisé l'exécution de code JavaScript dans votre navigateur internet. Et pour ceux qui utilisent l'extension AdBlock, vérifiez qu'elle ne filtre pas la page web de mediatomb.</note> |
| |
| * Avec [[unity|Unity]] vous avez accès à l'affichage du serveur quand il est fonctionnel, depuis son icone dans la [[unity_launcher|Barre de lanceurs]] ou depuis votre [[unity#tableau_de_bord_dash|tableau de bord]]. |
| <note>Pour des versions plus anciennes ou d'autres variantes, vous y accéder par le menu //Applications → Son et Vidéo (ou Multimédia) → Mediatomb//.</note> |
| |
| <note warning>Apparemment, l'usage avec Konqueror, Safari est bogué ! |
| L'utilisation avec Internet Explorer est dégradée ... |
| Pleinement fonctionnel avec Mozilla Firefox, Opera et Chromium. |
| </note> |
| |
| * Le port de Mediatomb est défini dans le fichier /etc/default/mediatomb à l'entrée MT_PORT. Vous accéderez à l'interface par votre navigateur à l'URL: |
| http://localhost:<port> |
| |
| * Vous pouvez le voir aussi en ouvrant votre navigateur internet favori, et en tapant l'une ou l'autre des deux URL suivantes : |
| http://localhost:49152 (http://localhost:49152 avec ubuntu 10.04 et 10.10) \\ |
| http://adresse_ip:49152 (http://adresse_ip:49152 avec ubuntu 10.04 et 10.10)\\ |
| \\ |
| Si cela ne marche pas, alors essayer le port 49153 en tapant l'une ou l'autre des deux URL suivantes :\\ |
| http://localhost:49153 (http://localhost:49153 avec ubuntu 13.04) \\ |
| http://adresse_ip:49153 (http://adresse_ip:49153 avec ubuntu 13.04) |
| |
| Si cela ne marche toujours pas, alors essayer le port 50500 en tapant l'une ou l'autre des deux URL suivantes :\\ |
| http://localhost:50500 (http://localhost:50500 avec ubuntu 15.10) \\ |
| http://adresse_ip:50500 (http://adresse_ip:50500 avec ubuntu 15.10) |
| |
| * Pour finir, il est possible d'y avoir accès aussi, en ouvrant votre gestionnaire de fichiers, de vous diriger dans votre répertoire personnel, puis vers **.mediatomb**, et de lancer **mediatomb.html**. |
| |
| === Aperçu === |
| |
| {{ :mediatomb1.png?direct&300 |}}\\ |
| |
| Cette interface web vous permettra de choisir quels fichiers vous mettrez en partage. \\ |
| Pour mettre en partage des fichiers sur le serveur, il faut aller sur le menu **Filesystem** puis naviguer dans l'arborescence et cliquer sur le signe **Plus** (+) en haut à droite pour chaque dossier ou fichier que vous souhaitez partager. \\ |
| Dans **Database** apparaîtra tous les dossiers (et donc tous les fichiers "média" à l'intérieur) et fichiers partager via le serveur mediatomb. Ceux ci apparaîtront au fur et à mesure du scan des dossiers, plus ou moins rapidement selon qu'il y a beaucoup de fichiers à l'intérieur. |
| <note> |
| Pour plus d'explications sur l'[[http://mediatomb.cc/pages/userinterface|utilisation de l'interface web]], je vous renvoie vers la documentation officielle ... //dans l'immédiat//. |
| </note> |
| |
| <note important> |
| Vous ne verrez correctement la page web que si le serveur est bien configuré et lancé ... voir la section **[[#activation_interface_mediatomb|activer l'interface]]** ! |
| </note> |
| |
| |
| |
| === Enregistrement base de données === |
| |
| Par défaut, **mediatomb** fonctionne avec sqlite pour enregistrer les différentes données. |
| |
| La base de donnée générée se trouve par défaut ici : **/var/lib/mediatomb/mediatomb.db** |
| Pour la purger, supprimer le fichier, puis redemarrer mediatomb. |
| |
| Pour info, il est possible d'[[#usage_mysql|utiliser une base de données MySQL]]… |
| |
| =====Problèmes===== |
| |
| ====Affichage des caractères accentués==== |
| |
| Vous pouvez rencontrer des problèmes d'affichage des caractères accentués dans l'interface web, notamment si vous lancez mediatomb en tant que service. Pour résoudre ce problème, il faut [[:tutoriel:comment_editer_un_fichier|modifier le fichier]] **/etc/mediatomb/config.xml** et ajouter les lignes suivantes après la ligne <import hidden-files="no"> |
| |
| <file xml /etc/mediatomb/config.xml> |
| <filesystem-charset>UTF-8</filesystem-charset> |
| <metadata-charset>UTF-8</metadata-charset> |
| <playlist-charset>UTF-8</playlist-charset></file> |
| |
| Comme à chaque changement du ficher de config, il faut ensuite redémarrer le serveur. |
| |
| ==== Starting upnp media server: mediatomb failed! ==== |
| |
| Après un mise à jour, il est possible que le service ne redémarre pas : |
| <code>sudo /etc/init.d/mediatomb start |
| Starting upnp media server: mediatomb failed!</code> |
| |
| Pour comprendre d’où vient le problème il faut vérifier le fichier log |
| |
| Le journal log se trouve dans **/var/log/mediatomb.log** … affichez-le au moindre problème. |
| |
| <note> |
| Vous pouvez cibler précisément toute erreur ou information importante, en tapant ceci : <code>grep -i warning /var/log/mediatomb.log</code> ou <code>grep -i error /var/log/mediatomb.log</code>, voire pour obtenir les dernières informations inscrites dans ce fichier, à exécuter un : <code>tail /var/log/mediatomb.log</code> |
| </note> |
| |
| ==== Erreur accès fichier de configuration ==== |
| |
| Si vous rencontrez cette erreur : |
| <code>tail /var/log/mediatomb.log |
| 2010-08-05 21:56:41 ERROR: could not open file /etc/mediatomb/config.xml for writing : Permission denied |
| 2010-08-05 22:00:57 INFO: Loading configuration from: /etc/mediatomb/config.xml |
| 2010-08-05 22:00:58 INFO: UUID generated: b98dbcf5-82d3-43b9-81fc-277c1bc0ebe1</code> |
| |
| |
| Vérifiez la présence du fichier et les droits : |
| |
| <code>cd /etc/mediatomb/</code> |
| puis |
| <code>ls -l |
| total 21 |
| -rw-r--r-- 1 root root 6874 16 juil. 15:56 config.xml</code> |
| |
| Pour ce problème là, changer les droits de la manière suivante : |
| <code> sudo chmod 744 config.xml</code> |
| |
| puis |
| |
| <code>sudo /etc/init.d/mediatomb start</code> |
| |
| ==== Disque USB inaccessible ==== |
| |
| Pour que Mediatomb puisse accéder au contenu d'un disque USB, il est nécessaire que ce dernier soit recensé dans le fichier ''/etc/fstab''. |
| |
| On crée d'abord un point de montage, accessible par tous : |
| sudo mkdir /mnt/USB2T |
| sudo chmod 777 /mnt/USB2T |
| |
| On détermine ensuite quel est l'UUID et le type de formatage du disque USB connecté : |
| sudo blkid |
| Parmi les lignes qui apparaissent : |
| |
| ''/dev/sdb1: UUID="a9774bae-d7e5-4d83-a7c2-d5d48ab16191" TYPE="ext4"'' |
| |
| Il reste à ajouter la ligne suivante à la fin du fichier /etc/fstab : |
| |
| ''UUID=a9774bae-d7e5-4d83-a7c2-d5d48ab16191 /mnt/USB2T ext4 defaults 0 1'' |
| |
| Pour le premier montage uniquement : |
| sudo mount /mnt/USB2T |
| |
| On peut à présent utiliser l'interface de Mediatomb pour ajouter à sa base des dossiers se trouvant sur ce disque dur USB. |
| |
| <note warning>Ce disque USB ne pourra plus être démonté par un utilisateur de l'ordinateur ; seul un sudoer pourra le faire (''sudo umount /mnt/USB2T''), à condition que le service mediatomb soit arrêté. |
| |
| De plus, si un utilisateur veut accéder aux fichiers de ce disque, il devra utiliser le chemin /mnt/USB2T ; le mieux étant de créer dans son dossier personnel un lien symbolique |
| cd |
| ln -s /mnt/USB2T |
| qui lui permettra d'y accéder plus simplement. |
| </note> |
| ===== Utilisation Spécifique ===== |
| |
| ==== Gestion PS3 ==== |
| |
| Il est possible de "lier" la PS3 avec le serveur Mediatomb : |
| |
| Toujours, avec les droits d'administrateur, [[:tutoriel:comment_editer_un_fichier|modifiez le fichier]] **/etc/mediatomb/config.xml** : |
| |
| * ligne 23, ( 26 pour 11.04 ornic) **changez** la valeur **'no'** de l'attribut extend **par 'yes'** : <code><protocolInfo extend="yes"/></code> |
| * ligne 65, (77 pour 11.04 ornic) **enlevez les commentaires html** de la ligne, afin de ne plus avoir sur cette ligne que ce code : <code><map from="avi" to="video/divx"/></code> |
| |
| Redémarrez le serveur. |
| |
| <note warning>Vous devez avoir un firmware PS3, version 1.80 minimum.</note> |
| |
| <note warning>Si vous n'arrivez pas à lire vos fichiers sur la PS3 (ils apparaissent, mais avec la mention "**Données non compatibles**", vérifiez que vous modifiez bien le fichier config.xml qui est lu au démarrage de médiatomb. Il en en a en effet un dans /etc/mediatomb, et un autre dans ~/.mediatomb. Vous pouvez choisir le fichier lu par mediatomb avec l'argument -c (par exemple: //mediatomb -c /home/utilisateur/.mediatomb/config.xml//).</note> |
| |
| <note warning>Il est parfois nécessaire de **réimporter** les fichiers .avi dans Mediatomb (via l'interface web), pas seulement de redémarrer le serveur, pour que les modifications apportées à config.xml soient prises en compte.</note> |
| |
| <note>Si vous souhaitez utiliser mediatomb avec la PS3 et la Freebox HD, vous devez remplacer la ligne 65: |
| <code><map from="avi" to="video/divx"/></code> par: |
| <code><map from="avi" to="video/avi"/></code> |
| </note> |
| |
| <note>Si vous souhaitez utiliser mediatomb avec la PS3 et les fichies HD M2TS ajouter la ligne : |
| <code><map from="m2ts" to="video/mpeg"/></code> </note> |
| |
| ==== Gestion des TV SAMSUNG ==== |
| |
| Toujours, avec les droits d'administrateur, [[:tutoriel:comment_editer_un_fichier|modifiez le fichier]] **/etc/mediatomb/config.xml** : |
| Après la ligne: <custom-http-headers>, saisir: |
| <code> <custom-http-headers> |
| <!-- commenter les 2 lignes qui suivent pour compatibilité avec la freebox--> |
| <add header="transferMode.dlna.org: Streaming"/> |
| <add header="contentFeatures.dlna.org: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01500000000000000000000000000000"/> |
| </custom-http-headers> |
| </code> |
| Pour visualiser les mkv: saisir la ligne suivante dans la rubrique <extension-mimetype> : |
| <code><map from="mkv" to="video/x-mkv"/></code> |
| Ligne 23, changez la valeur 'no' de l'attribut extend par 'yes' (permet entre autre d'avoir les vignettes affichées lors de la visualisation des photos): |
| <code><protocolInfo extend="yes"/></code> |
| |
| Si malgré ces différents réglages Mediatomb ne lit aucune vidéo, il faut essayer avec le config.xml suivant (fonctionne avec la TV Samsung UE32C6000) : |
| <file xml config.xml> <?xml version="1.0" encoding="UTF-8"?> |
| <config version="2" xmlns="http://mediatomb.cc/config/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mediatomb.cc/config/2 http://mediatomb.cc/config/2.xsd"><!-- |
| Read /usr/share/doc/mediatomb-common/README.gz section 6 for more |
| information on creating and using config.xml configration files. |
| --> |
| <server> |
| <ui enabled="yes" show-tooltips="yes"> |
| <accounts enabled="no" session-timeout="30"> |
| <account user="USERNAME HERE" password="PASSWORD HERE"/> |
| </accounts> |
| </ui> |
| <name>MediaTomb</name> |
| <udn>uuid:c428ce54-f29a-4ebe-83d5-730ae14a0b32</udn> |
| <home>/var/lib/mediatomb</home> |
| <webroot>/usr/share/mediatomb/web</webroot> |
| <storage caching="yes"> |
| <sqlite3 enabled="yes"> |
| <database-file>mediatomb.db</database-file> |
| </sqlite3> |
| <mysql enabled="no"> |
| <host>localhost</host> |
| <username>DATABASE USERNAME HERE</username> |
| <database>DATABASE NAME HERE</database> |
| </mysql> |
| </storage> |
| <protocolInfo extend="yes"/><!-- For PS3 support change to "yes" --> |
| <!-- |
| Uncomment the lines below to get rid of jerky avi playback on the |
| DSM320 or to enable subtitles support on the DSM units |
| --> |
| <custom-http-headers> |
| <add header="X-User-Agent: redsonic"/> |
| <add header="transferMode.dlna.org: Streaming"/> |
| <add header="contentFeatures.dlna.org: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=017000 00000000000000000000000000"/> |
| </custom-http-headers> |
| |
| <manufacturerURL>redsonic.com</manufacturerURL> |
| <modelNumber>105</modelNumber> |
| <!-- Uncomment the line below if you have a Telegent TG100 --> |
| <!-- |
| <upnp-string-limit>101</upnp-string-limit> |
| --> |
| <extended-runtime-options> |
| <ffmpegthumbnailer enabled="no"> |
| <thumbnail-size>128</thumbnail-size> |
| <seek-percentage>5</seek-percentage> |
| <filmstrip-overlay>yes</filmstrip-overlay> |
| <workaround-bugs>no</workaround-bugs> |
| </ffmpegthumbnailer> |
| <mark-played-items enabled="no" suppress-cds-updates="yes"> |
| <string mode="prepend">*</string> |
| </mark-played-items> |
| </extended-runtime-options> |
| </server> |
| <import hidden-files="no"> |
| <scripting script-charset="UTF-8"> |
| <common-script>/usr/share/mediatomb/js/common.js</common-script> |
| <playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script> |
| <virtual-layout type="builtin"> |
| <import-script>/usr/share/mediatomb/js/import.js</import-script> |
| <dvd-script>/usr/share/mediatomb/js/import-dvd.js</dvd-script> |
| </virtual-layout> |
| </scripting> |
| <mappings> |
| <extension-mimetype ignore-unknown="no"> |
| <map from="mp3" to="audio/mpeg"/> |
| <map from="ogg" to="application/ogg"/> |
| <map from="asf" to="video/x-ms-asf"/> |
| <map from="asx" to="video/x-ms-asf"/> |
| <map from="wma" to="audio/x-ms-wma"/> |
| <map from="wax" to="audio/x-ms-wax"/> |
| <map from="wmv" to="video/x-ms-wmv"/> |
| <map from="wvx" to="video/x-ms-wvx"/> |
| <map from="wm" to="video/x-ms-wm"/> |
| <map from="wmx" to="video/x-ms-wmx"/> |
| <map from="m3u" to="audio/x-mpegurl"/> |
| <map from="pls" to="audio/x-scpls"/> |
| <map from="flv" to="video/x-flv"/> |
| <!-- <map from="mkv" to="video/x-matroska"/> --> |
| <map from="mkv" to="video/mpeg"/> |
| <map from="mka" to="video/mpeg"/><!-- Uncomment the line below for PS3 divx support --> |
| <!-- <map from="avi" to="video/divx"/> --> <!-- Uncomment the line below for D-Link DSM / ZyXEL DMA-1000 --> |
| <!-- <map from="avi" to="video/avi"/> --> |
| <map from="avi" to="video/mpeg"/> |
| </extension-mimetype> |
| <mimetype-upnpclass> |
| <map from="audio/*" to="object.item.audioItem.musicTrack"/> |
| <map from="video/*" to="object.item.videoItem"/> |
| <map from="image/*" to="object.item.imageItem"/> |
| <map from="application/ogg" to="object.item.audioItem.musicTrack"/> |
| </mimetype-upnpclass> |
| <mimetype-contenttype> |
| <treat mimetype="audio/mpeg" as="mp3"/> |
| <treat mimetype="application/ogg" as="ogg"/> |
| <treat mimetype="audio/x-flac" as="flac"/> |
| <treat mimetype="image/jpeg" as="jpg"/> |
| <treat mimetype="audio/x-mpegurl" as="playlist"/> |
| <treat mimetype="audio/x-scpls" as="playlist"/> |
| <treat mimetype="audio/x-wav" as="pcm"/> |
| <treat mimetype="audio/L16" as="pcm"/> |
| <treat mimetype="video/x-msvideo" as="avi"/> |
| <treat mimetype="video/mp4" as="mp4"/> |
| <treat mimetype="audio/mp4" as="mp4"/> |
| <treat mimetype="application/x-iso9660" as="dvd"/> |
| <treat mimetype="application/x-iso9660-image" as="dvd"/> |
| <treat mimetype="video/x-matroska" as="mkv"/> |
| <treat mimetype="audio/x-matroska" as="mka"/> |
| </mimetype-contenttype> |
| </mappings> |
| <online-content><!-- Make sure to setup a transcoding profile for flv --> |
| <YouTube enabled="no" refresh="28800" update-at-start="yes" purge-after="604800" racy-content="exclude" format="flv" hd="no"> |
| <favorites user="FAVORITES USER HERE"/> |
| <standardfeed feed="most_viewed" time-range="today"/> |
| <playlists user="FAVORITES USER HERE"/> |
| <uploads user="FAVORITES USER HERE"/> |
| <standardfeed feed="recently_featured" time-range="today"/> |
| </YouTube> |
| <Weborama enabled="no" refresh="28800" update-at-start="no"> |
| <playlist name="Active" type="playlist" mood="active"/> |
| <playlist name="Metal" type="playlist"> |
| <filter> |
| <genres>metal</genres> |
| </filter> |
| </playlist> |
| </Weborama> |
| <AppleTrailers enabled="no" refresh="43200" update-at-start="yes" resolution="640"/> |
| </online-content> |
| </import> |
| <transcoding enabled="no"> |
| <mimetype-profile-mappings> |
| <transcode mimetype="video/x-flv" using="vlcmpeg"/> |
| <transcode mimetype="application/ogg" using="vlcmpeg"/> |
| <transcode mimetype="application/ogg" using="oggflac2raw"/> |
| <transcode mimetype="audio/x-flac" using="oggflac2raw"/> |
| </mimetype-profile-mappings> |
| <profiles> |
| <profile name="oggflac2raw" enabled="no" type="external"> |
| <mimetype>audio/L16</mimetype> |
| <accept-url>no</accept-url> |
| <first-resource>yes</first-resource> |
| <accept-ogg-theora>no</accept-ogg-theora> |
| <agent command="ogg123" arguments="-d raw -o byteorder:big -f %out %in"/> |
| <buffer size="1048576" chunk-size="131072" fill-size="262144"/> |
| </profile> |
| <profile name="vlcmpeg" enabled="no" type="external"> |
| <mimetype>video/mpeg</mimetype> |
| <accept-url>yes</accept-url> |
| <first-resource>yes</first-resource> |
| <accept-ogg-theora>yes</accept-ogg-theora> |
| <agent command="vlc" arguments="-I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=%out} vlc:quit"/> |
| <buffer size="14400000" chunk-size="512000" fill-size="120000"/> |
| </profile> |
| </profiles> |
| </transcoding> |
| </config> </file> |
| |
| ==== Usage MySQL ==== |
| |
| Il est possible de fonctionner avec MySQL ! |
| |
| Veuillez dans un premier temps [[:mysql|installez le serveur mysql]], si cela n'est pas déjà fait ... ensuite, il vous faut configurer celui-ci, en tant qu'administrateur toujours : |
| |
| mysql> CREATE DATABASE db_mediatomb; |
| mysql> GRANT ALL ON db_mediatomb.* TO 'user_mediatomb'@'localhost' IDENTIFIED BY 'passwd_mediatomb'; |
| |
| <note important>Changez 'user_mediatomb' par un nom utilisateur, tel que mediatomb, et 'passwd_mediatomb' par un mot de passe de votre choix ... retenez-les !</note> |
| |
| Ensuite, il faut [[:tutoriel/comment_editer_un_fichier|modifier le fichier]] **/etc/mediatomb/config.xml** : |
| |
| * ligne 14, paramétrer **sqlite** sur **no** : <code><sqlite3 enabled="no"></code> |
| * ligne 17, paramétrer **mysql** sur **yes** : <code><mysql enabled="yes"></code> |
| * ligne 18, laissez **host** sur **localhost**, si mediatomb est installé en local ... : <code><host>localhost</host></code> |
| * ligne 19, paramétrer le nom **utilisateur MySQL**,// celui que vous avez donné ci-dessus.// : <code><username>mediatomb</username></code> |
| * ligne 20, paramétrer le nom de la base **database** sur **db_mediatomb** : <code><database>db_mediatomb</database></code> |
| * ligne 21, paramétrer le **mot-de-passe MySQL** correspondant à l'utilisateur MySQL,// ci-dessus.// : <code><password>mediatomb</password></code> |
| |
| |
| Redémarrez le serveur ! |
| |
| |
| ==== Sécuriser le serveur ==== |
| |
| Le serveur a intégré un gestionnaire de fichier au-travers du navigateur internet. |
| |
| Configuré par défaut, il permet à n'importe qui de naviguer dans votre système de fichier et ainsi de télécharger n'importe quelle donnée. Dans un environnement non sécurisé, il est nécessaire de désactiver l'interface graphique : |
| |
| * ligne 4, paramétrer l'attribut **enabled** à **no** : <code><ui enabled="no" /></code> |
| |
| Dans le contexte d'un environnement LAN, vous pouvez laisser l'interface graphique activée, tout en paramétrant la gestion de compte : |
| |
| * ligne 4, laissez l'attribut **enabled** à **yes**. |
| * ligne 5, paramétrer l'attribut **enabled** à **yes** : <code><accounts enabled="yes" session-timeout="30"></code> |
| * ligne 6, paramétrer les attributs **user** et **password** ... |
| |
| <note warning>La protection par gestion de compte user/password n'est pas assez sécurisé pour un environnement non sécurisé. La documentation officielle précise de ne pas l'utiliser hors du contexte LAN.</note> |
| |
| ==== Pare-feu ==== |
| |
| Une fois mediatomb installé, les ports suivant doivent être ouvert dans le pare-feu ([[:ufw]]): |
| * 49152 en udp et tcp |
| * 1900 en udp |
| |
| <note warning>Attention, à partir de 15.10 : port 50500 en lieu et place de 49152 !</note> |
| |
| et / ou |
| |
| 239.0.0.0/8 |
| |
| ==== Freebox V5 & V6 ==== |
| |
| === Lire les fichiers AVI (divx) === |
| |
| Remplacer la ligne : |
| <code><map from="avi" to="video/divx"/></code> par: |
| <code><map from="avi" to="video/avi"/></code> |
| |
| |
| === Améliorer la qualité d'affichage des images === |
| |
| Pour les utilisateurs de Freebox, si vous avez un problème de mauvaise qualité d'affichage des images ceci est dû à un bug de la freebox qui affiche la vignette et non l'image si cette dernière possède des données de prise de vue. Il y a deux méthodes pour y remédier. |
| |
| == Méthode 1 : Supprimer les vignettes avec l'outil convert == |
| |
| Pour chaque image de votre collection, lancer la commande suivante : |
| <code> |
| convert maphoto.jpg -strip photofreebox.jpg |
| </code> |
| * //maphoto.jpg// correspond au nom de l'image pour laquelle la Freebox affiche la vignette ; |
| * //photofreebox.jpg// est le nom du nouveau fichier image qui sera créé à partir du précédent, sans la vignette. |
| |
| La commande //convert// fait partie des outils [[apt://imagemagick|imagemagick]], vérifier donc que ce paquet est [[:tutoriel:comment_installer_un_paquet|bien installé]]. |
| |
| == Méthode 2 : Pré-traitement sur les images == |
| |
| Modifier le fichier// /etc/mediatomb/config.xml// pour dire à mediatomb d'effectuer un pré-traitement sur les images. |
| Dans la balise <mimetype-profile-mappings> ajouter: |
| <file xml> |
| <transcode mimetype="image/jpeg" using="resizejpeg"/> |
| </file> |
| |
| Dans la balise <profiles> ajouter un profile |
| <file xml> |
| <profile name="resizejpeg" enabled="yes" type="external"> |
| <mimetype>image/jpeg</mimetype> |
| <agent command="convert" arguments=" -geometry 25% %in %out"/> |
| <first-resource>yes</first-resource> |
| <hide-original-resource>yes</hide-original-resource> |
| <buffer size="1048576" chunk-size="2072" fill-size="262144"/> |
| </profile> |
| </file> |
| |
| Explication: Pour les images on ajoute un traitement qui consiste à lancer la commande //convert// avec les arguments suivants: -geometry 25% %in %out (ou %in est le fichier en entrée et %out le fichier en sortie. Il est tout a fait possible de modifier cette commande et ces paramètres. Par exemple : |
| <file xml> |
| <profile name="resizejpeg" enabled="yes" type="external"> |
| <mimetype>image/jpeg</mimetype> |
| <first-resource>yes</first-resource> |
| <hide-original-resource>yes</hide-original-resource> |
| <agent command="convert" arguments="-size 1080x720 %in -auto-orient -resize 112.5%x100% +profile '*' %out"/> |
| <buffer size="50000" chunk-size="100" fill-size="100"/> |
| </profile> |
| </file> |
| |
| <note> |
| * Vérifier que l'attribut //enabled// de la balise //transcoding// soit à //yes//: <transcoding enabled="yes"> |
| * Seule les images converties sont affichée sur la Freebox. Vos originaux ne sont pas modifiés : [[http://mediatomb.cc/pages/transcoding]] **(en)** |
| </note> |
| <note important> |
| * Le pré-traitement peut être long et est appliqué à tout le répertoire ce qui allonge le temps d'affichage. |
| * Prévoyez suffisamment d'espace mémoire sur votre périphérique de stockage, car les images sont dupliqués sur ce répertoire. |
| </note> |
| |
| ==== Gérer les sous-titres (sub, srt) ==== |
| |
| Avec Mediatomb, vous avez la possibilité de transcoder vos vidéos en temps réel. On peut utiliser cette fonction pour y incruster les sous-titres au vidéo. |
| |
| === Méthode officielle === |
| |
| La [[http://mediatomb.cc/dokuwiki/transcoding:transcoding|méthode officielle]] vous permet de déclarer dans Mediatomb que les fichiers srt (ou sub) sont des fichiers vidéos, aux quels on applique un transcodage grâce à [[mencoder]] qu'il vous faudra installer. |
| |
| <note important> |
| Avantages de cette méthode : |
| * Permet de gérer plusieurs langues de sous-titres et de pouvoir visionner la vidéo sans les sous-titres. |
| * Fonctionne avec la PS3 |
| Inconvénients : |
| * Ne fonctionne pas avec la FreeboxV5 qui filtre les fichiers *.srt |
| * Les fichiers *.srt sont affiché dans la liste des fichiers du serveur, ce qui peut faire un peu fouillis. |
| </note> |
| |
| Il faut d'abords déclarer un type mime pour les *.srt. |
| |
| <code> |
| <extension-mimetype ignore-unknown="no"> |
| ... |
| <map from="srt" to="video/subtitle"/> |
| </extension-mimetype> |
| |
| </code> |
| |
| Ajouter un mapping pour ces fichiers : |
| |
| <code> |
| <mimetype-profile-mappings> |
| ... |
| <transcode mimetype="video/subtitle" using="mencoder-srt"/> |
| </mimetype-profile-mappings> |
| </code> |
| |
| Puis ajouter un profil correspondant au mapping : |
| |
| <code> |
| <profiles> |
| ... |
| <profile name="mencoder-srt" enabled="yes" type="external"> |
| <mimetype>video/mpeg</mimetype> |
| <accept-url>yes</accept-url> |
| <first-resource>yes</first-resource> |
| <accept-ogg-theora>yes</accept-ogg-theora> |
| <agent command="/usr/local/bin/mediatomb-mencoder-srt" arguments="%in %out"/> |
| <buffer size="1000000" chunk-size="512000" fill-size="20480"/> |
| </profile> |
| </profiles> |
| </code> |
| |
| Activer le transcodage des vidéos : |
| |
| <code> |
| <transcoding enabled="yes"> |
| </code> |
| |
| Créer le script qui nous permettra de transcoder les vidéos : **/usr/local/bin/mediatomb-mencoder-srt** |
| |
| <code bash mediatomb-mencoder-srt> |
| #!/bin/bash |
| srt="$1" |
| output="$2" |
| # filename must be of the form "movie name.XX[X].srt" or "movie name.srt" |
| base_name="$(echo $srt | sed 's/\..\{2,3\}\.srt$//' | sed 's/\.srt$//')" |
| |
| extensions="avi mp4 mpg mov" |
| for ext in $extensions ; do |
| input=$base_name.$ext; |
| if [[ -e $input ]]; then break; fi |
| done |
| |
| # Detect encoding to use |
| charset=`file -i "$1" | sed s/.*charset=//g` |
| subopt= |
| if [[ "$charset" = "utf-8" ]] |
| then |
| subopt=-utf8 |
| fi |
| |
| exec mencoder "$input" \ |
| -oac lavc -ovc lavc -of mpeg \ |
| -lavcopts vcodec=mpeg2video:keyint=1:vbitrate=200000:vrc_maxrate=9000:vrc_buf_size=1835 \ |
| -vf harddup -mpegopts muxrate=12000 \ |
| -sub "$srt" $subopt -font "/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf" -subfont-autoscale 2 \ |
| -o "$output" |
| </code> |
| |
| === Autre méthode === |
| |
| Une autre méthode consiste à utiliser un script de transcodage de tout les fichiers *.avi en cherchant si un *.srt existe dans le même répertoire (en utilisant une association de transcoding pour les .avi/.mov/… similaire à la méthode précédente. |
| |
| <note important> |
| Avantages de cette méthode : |
| * Fonctionne avec la Freebox |
| Inconvénients : |
| * Oblige à tout transcoder même quand il n'y a pas lieu. |
| * Oblige à visionner les sous-titres même si on ne les veut pas. |
| </note> |
| |
| Vous pouvez utiliser un script du genre : |
| |
| <code bash> |
| #!/bin/bash |
| video="$1" |
| output="$2" |
| |
| # extract the base name from the filename |
| basename="${video%.*}" |
| [[ ! -z "$basename" ]] && srtfile=$basename".srt" |
| |
| if [[ -e "$srtfile" ]] |
| then |
| exec mencoder "$video" \ |
| -oac lavc -ovc lavc -of mpeg \ |
| -lavcopts vcodec=mpeg2video:keyint=1:vbitrate=200000:vrc_maxrate=9000:vrc_buf_size=1835:vstrict=-2 \ |
| -vf harddup -mpegopts muxrate=12000\ |
| -sub "$srtfile" -font "/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf" -subfont-autoscale 2 \ |
| -o "$output" |
| else |
| exec mencoder "$video" \ |
| -oac lavc -ovc lavc -of mpeg \ |
| -lavcopts vcodec=mpeg2video:keyint=1:vbitrate=200000:vrc_maxrate=9000:vrc_buf_size=1835:vstrict=-2 \ |
| -vf harddup -mpegopts muxrate=12000 \ |
| -o "$output" |
| fi |
| </code> |
| |
| Script modifié : [[http://forum.ubuntu-fr.org/viewtopic.php?pid=3960065#p3960065|Forum]] |
| |
| ===== Désinstallation ===== |
| |
| Il suffit de [[:tutoriel:comment_supprimer_un_paquet|désinstaller]] le programme, soit en utilisant la [[software-center|logithèque Ubuntu]], soit en passant par le [[terminal|terminal]] comme ceci : |
| |
| On s'assure que mediatomb soit bien fermé |
| <code>sudo service mediatomb stop</code> |
| Puis on supprime son paquet |
| <code>sudo apt-get remove mediatomb</code> |
| Profitez en pour faire un petit nettoyage |
| <code>sudo apt-get autoremove</code> |
| ou utilisez [[deborphan|Deborphan]] |
| |
| |
| ===== Liens ===== |
| |
| * Le [[http://mediatomb.cc|site de MediaTomb]] |
| * La [[http://mediatomb.cc/pages/documentation_overview|documentation]] officielle, [[http://mediatomb.cc/pages/download#debian_ubuntu|page de téléchargement]], … **(en)** |
| * [[http://www.tutoriels-video.fr/comment-faire-un-serveur-upnp-avec-mediatomb/|Tutoriel vidéo : comment faire un serveur upnp avec mediatomb]] **(fr)** |
| * [[http://wiki.debian-facile.org/manuel:mediatomb| Paramétrages complémentaires réseau]] |
| |
| ---- |
| |
| |
| //Contributeurs :// |
| * //[[:utilisateurs:ste]] ;// |
| * //[[:utilisateurs:LeMouchoir]] ;// |
| * //[[:utilisateurs:claudiux]];// |
| * //[[:utilisateur:stylou]].// |