Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
mediatomb [Le 31/10/2016, 16:41] claudiux [Modification des paramètres par défaut] |
mediatomb [Le 28/04/2018, 11:18] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{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. | ||
+ | |||
+ | |||
+ | ===== 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]]**. | ||
+ | |||
+ | 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> | ||
+ | |||
+ | ==== 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> | ||
+ | |||
+ | * 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 | ||
+ | |||
+ | 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]].// |