| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| mediatomb [Le 31/10/2016, 16:46] – [Modification des paramètres par défaut] 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]].// |