FUNIX

Mettez un manchot dans votre PC


Encourager FUNIX

La consultation du site est totalement libre et gratuite, sans publicités. Les dons sont néanmoins appréciés pour payer l'hébergement et encourager son auteur


Outils multimédia

[ Présentation | Installation  | Utilisation  | Installer une base de donnée locale partagée  | Modifier les genres des films | Extension youtube ]

Mediacenter kodi

Dernière modification 6 février 2017

Présentation

On part sur le principe que vous avez installé les bibliothèques de base pour faire de la vidéo.

Cette page présente kodi anciennement connu sous le nom de XBMC, c'est un media player, ou dit autrement un « home theater » soft. En français, on va dire que c'’est un logiciel dédié au PC multimédia généralement connecté à une TV. Le site officiel est http://kodi.tv.

Installation


Préalablement on installera les packages suivants en tapant la commande ci-dessous:

urpmi swig lib64ass-devel lib64modplug-devel  lib64yajl2 lib64tinyxml0 lib64pcrecpp-devel lib64jasper-devel gperf lib64expat-devel gnutls lib64tinyxml-devel gnutls-devel lib64lzo-devel lib64microhttpd-devel lib64uuid-devel

On veillera à ce que libmpeg2 soit correctement installé. On le trouvera sous http://libmpeg2.sourceforge.net/ on décompresse l'archive en tapant:

tar xvfz libmpeg2-0.5.1.tar.gz

cela donne le répertoire libmpeg2-0.5.1 dans lequel on tape

./configure
make

puis en tant que root

make install

Maintenant j'ai du installer les sources de yajl car si vous vous contentez du package de la mageia 4.1, on a droit à l'erreur suivante

JSONVariantParser.cpp:35:1: erreur: invalid conversion from ‘int (*)(void*, long int)’ to ‘int (*)(void*, long long int)’ [-fpermissive]
 };

Le site officiel https://lloyd.github.io/yajl/ on y récupère l'archive qu'on décompresse en tapant

unzip lloyd-yajl-2.1.0-0-ga0ecdde.zip

cela donne le répertoire lloyd-yajl-66cb08c/ dans lequel on tape

./configure
make

puis en tant que root make install

j'ai récupéré également sur ce site https://github.com/foo86/dcadec la bibliothèque dcadec est un décodeur audio DTS (Digital Theater System) qui permet un rendu sonore sur six canaux (5.1), on décompresse en tapant

unzip dcadec-master.zip

cela donne le répertoire dcadec-master dans lequel on tape simplement

make

puis en tant que root

make install

c'est pas tout maintenant j'ai besoin de récupérer la bibliothèque 
C++ GUID/UUID crossguid qu'on trouvera par ici https://github.com/graeme-hill/crossguid. On décompresse en tapant :

unzip crossguid-master.zip

cela donne le répertoire crossguid-master dans lequel on tape

g++ -std=c++11 -DGUID_LIBUUID -Wall -c guid.cpp -o guid.o
ar rvs libcrossguid.a guid.o


puis en tant que root

cp guid.h /usr/local/include/
cp libcrossguid.a /usr/lib64

en avance de phase j'ai du installer les liens suivant

cd /usr/lib64
ln -s liblzo2.so.2.0.0 liblzo2.so
ln -s libtinyxml.so.0.2.6.2 libtinyxml.so

on récupère enfin les sources de la dernière version 16.1 par ici http://mirrors.kodi.tv/releases/source/ on la décompresse en tapant

tar xvfz 16.1-Jarvis.tar.gz


cela donne le répertoire xbmc-16.1-Jarvis dans lequel on tape

./bootstrap
./configure --disable-ssh --disable-samba --disable-upnp --enable-mysql --enable-player --with-ffmpeg=force

j'ai désactivé tout un tas d'option car j'en ai pas l'utilité, attention par contre à bien mettre force pour l'option --with-ffmpeg, car il va télécharger et installer une version modifiée spécifiquement, la compilation ne marche pas avec une version classique de ffmpeg.
J'ai activé l'option MySQL afin que la base de données soit commune et visible de tous partout sur le réseau. Même si le serveur est distant et ne se trouve pas forcément sur votre machine multimedia il faudra quand même installer MySQL tel qu'expliqué dans cette page. Par défaut l'option webserver est activé on verra plus loin à quoi ça va servir.
Voilà le résultat de configure

------------------------
 Kodi Configuration:
------------------------
 Kodi Version: 16.1
 git Rev.:     Unknown
 Debugging:    Yes
 Profiling:    No
 Optimization: Yes
 SWIG Available:       Yes
 JRE Available:        Yes
 Doxygen Available:    Yes
 Crosscomp.:   No
 target ARCH:
 target CPU:
 OpenGL:       Yes
 ALSA:         Yes
 DBUS:         Yes
 VDPAU:        Yes
 VAAPI:        Yes
 VTBDecoder:   No
 OpenMax:      No
 Joystick:     No
 Touch skin:   No
 X11:          Yes
 Wayland:      No
 Bluray:       No
 TexturePacker:No
 MID Support:  No
 ccache:       No
 ALSA Support: Yes
 PulseAudio:   Yes
 DVDCSS:       Yes
 Google Test Framework Configured:     Yes
 Google Breakpad Configured:   No
 Avahi:        No
 mDNSEmbedded: No
 Non-free:     Yes
 ASAP Codec:   No
 MySQL:        Yes
 Webserver:    Yes
 libssh support:       No
 libRTMP support:      No
 libsmbclient support: No
 libnfs client support:No
 libgif support:       Yes
 AirPlay support:      Yes
 AirTunes support:     No
 UPnP support:         No
 Optical drive:        Yes
 libudev support:      Yes
 libusb support:       No
 libcec support:       No
 libcap support:       No
 additional players:   Yes, yes
 additional codecs:    No
 prefix:       /usr/local
------------------------


on tape ensuite make puis en tant que root make install


Utilisation

Et voilà ce que ça donne, une fois que on l’'a alimenté avec la base de films et qu’'on a récupéré les informations pour chacun des films à partir de bases de données sur le net.


Les films sont classés par genre, années ou acteurs, les films qui ont fait l’objet de plusieurs moutures sont dans la catégorie « sagas ». Quand on sélectionne un film, on a le résumé et tout un tas d’info, on peut bien évidemment le visualiser ensuite.

kodi-film

Idem pour la musique.

kodi-music

En mode lecture de musique, il y a bien sûr moyen de créer ses propres listes de lecture.

kodi-musique

kodi permet également de visualiser la TV en ligne (via internet ou une box), d’écouter des radios en ligne ou bien encore de visualiser ses photos. Il existe un tas de sites qui présentent kodi, media passion avec son forum et son wiki est un très bon point d’'entrée.

[Retour haut de la page]

Installer une base de donnée locale partagée

Maintenant pour que votre base de données soit accessible à tous sur votre réseau quelque soit la machine utilisée, on va l'installer sur un serveur MySQL. Sur ce serveur on va créer un utilisateur kodi en tapant

mysql -u root -p

voilà le résultat

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 25
Server version: 5.6.27 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> CREATE USER 'kodi' IDENTIFIED BY 'kodi';
Query OK, 0 rows affected (0,00 sec)

mysql> GRANT ALL ON *.* TO 'kodi';
Query OK, 0 rows affected (0,00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0,00 sec)

Maintenant sous kodi avec votre utilisateur principal on va exporter la base de données à partir du menu Système-> Vidéo Médiathèque-> Exporter la médiathèque vidéo

A la question Exporter vers un fichier unique ou des fichiers séparés pour chaque élément, on répond Séparé

A la question Exporter les vignettes et les fanarts, on répond Oui

A la question Exporter les vignettes acteurs, on répond Oui

A la question Ecraser les anciens fichiers, on répond Oui

cela va créer autant de fichier .nfo qu'il y a de films, chaque fichier .nfo se retrouve dans le même répertoire que celui du film qu'il est censé décrire. Voilà à quoi ça ressemble

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<movie>
    <title>Molière</title>
    <originaltitle>Molière</originaltitle>
    <rating>6.900000</rating>
    <epbookmark>0.000000</epbookmark>
    <year>2007</year>
    <top250>0</top250>
    <votes>14</votes>
    <outline></outline>
    <plot>En 1644, Molière n&apos;a encore que vingt-deux ans. Criblé de dettes et poursuivi par les huissiers, il s&apos;entête à monter sur scène
des tragédies dans lesquelles il est indéniablement mauvais. Et puis un jour, après avoir été emprisonné par des créanciers impatients, il disparaît
...</plot>
    <tagline></tagline>
    <runtime>121</runtime>
    <thumb aspect="poster" preview="http://image.tmdb.org/t/p/w500/hug2HMnzkW2fsvAPyYuBt0Ssg9A.jpg">http://image.tmdb.org/t/p/original/hug2HMnzkW2fs
vAPyYuBt0Ssg9A.jpg</thumb>
    <thumb aspect="poster" preview="http://image.tmdb.org/t/p/w500/9eTXAm7a7jY8tkGRgGtnyUUzKHw.jpg">http://image.tmdb.org/t/p/original/9eTXAm7a7jY8t
kGRgGtnyUUzKHw.jpg</thumb>
    <fanart>
        <thumb preview="http://image.tmdb.org/t/p/w780/nFdQrZM2upgnRsxVHvDzBHh5M8w.jpg">http://image.tmdb.org/t/p/original/nFdQrZM2upgnRsxVHvDzBHh5M
8w.jpg</thumb>
        <thumb preview="http://image.tmdb.org/t/p/w780/xBdllc2nxZBZ1olZA2aWLuuB7eW.jpg">http://image.tmdb.org/t/p/original/xBdllc2nxZBZ1olZA2aWLuuB7
eW.jpg</thumb>
        <thumb preview="http://image.tmdb.org/t/p/w780/wRaODxHVpPUgHWg7iXRCia35sNQ.jpg">http://image.tmdb.org/t/p/original/wRaODxHVpPUgHWg7iXRCia35s
NQ.jpg</thumb>
    </fanart>
    <mpaa>Rated</mpaa>
    <playcount>0</playcount>
    <lastplayed></lastplayed>
    <id>tt0796335</id>
    <genre>Drame</genre>
    <genre>Comédie</genre>
    <genre>Romance</genre>
    <genre>Étranger</genre>
    <country>France</country>
    <set></set>
    <director>Laurent Tirard</director>
    <premiered></premiered>
    <status></status>
    <code></code>
    <aired></aired>
    <trailer>plugin://plugin.video.youtube/?action=play_video&amp;videoid=NySWrKfEa4E</trailer>
    <fileinfo>
        <streamdetails>
            <video>
                <codec>xvid</codec>
                <aspect>2.352941</aspect>
                <width>640</width>
                <height>272</height>
                <durationinseconds>7260</durationinseconds>
                <stereomode></stereomode>
            </video>
            <audio>
                <codec>mp3</codec>
                <language></language>
                <channels>2</channels>
            </audio>
        </streamdetails>
    </fileinfo>
    <actor>
        <name>Romain Duris</name>
        <role>Moliere</role>
        <order>0</order>
        <thumb>http://image.tmdb.org/t/p/original/buU0mFOX7PvSr50F6H8SrN71W08.jpg</thumb>
    </actor>
    <actor>
        <name>Fabrice Luchini</name>
        <role>M. Jourdain</role>
        <order>1</order>
        <thumb>http://image.tmdb.org/t/p/original/wtdwJeLGUBkXSm0ElDlsGTDZcJD.jpg</thumb>
    </actor>
    <actor>
        <name>Édouard Baer</name>
        <role>Dorante</role>
        <order>2</order>
        <thumb>http://image.tmdb.org/t/p/original/bevNDP9RQU1b8UdZPElEw4f9fc9.jpg</thumb>
    </actor>
    <actor>
        <name>Ludivine Sagnier</name>
        <role>Celimene</role>
        <order>3</order>
        <thumb>http://image.tmdb.org/t/p/original/sc0yD6DWgYsMKBpKrYqaZDYz8SX.jpg</thumb>
    </actor>
    <resume>
        <position>0.000000</position>
        <total>0.000000</total>
    </resume>
    <dateadded>2010-09-03 10:28:57</dateadded>
</movie>

maintentant sous .kodi/userdata on va créer le fichier advancedsettings.xml qui va contenir

<advancedsettings>
  <videodatabase>

     <type>mysql</type>

     <host>192.168.13.11</host>

     <port>3306</port>
     <user>kodi</user>
     <pass>kodi</pass>
  </videodatabase>
  <videolibrary>
    <importwatchedstate>true</importwatchedstate>
    <importresumepoint>true</importresumepoint>
  </videolibrary>
</advancedsettings>

il faudra indiquer l'adresse IP du serveur MySQL. En relançant dans le fichier .kodi/temp/kodi.log, on voit les étapes de première création des tables, voilà un extrait

16:09:20 T:139806471604160   DEBUG: Mysql execute: CREATE INDEX ixMusicVideoBasePath ON musicvideo ( c14(12) )
16:09:20 T:139806471604160   DEBUG: Mysql execute: CREATE INDEX ixEpisodeBasePath ON episode ( c19(12) )
16:09:20 T:139806471604160   DEBUG: Mysql execute: CREATE INDEX ix_streamdetails ON streamdetails (idFile)
16:09:20 T:139806471604160   DEBUG: Mysql execute: CREATE INDEX ix_seasons ON seasons (idShow, season)
16:09:20 T:139806471604160   DEBUG: Mysql execute: CREATE INDEX ix_art ON art(media_id, media_type(20), type(20))
16:09:20 T:139806471604160   DEBUG: Mysql execute: CREATE UNIQUE INDEX ix_tag_1 ON tag (name(255))
16:09:20 T:139806471604160   DEBUG: Mysql execute: CREATE UNIQUE INDEX ix_tag_link_1 ON tag_link (tag_id, media_type(20), media_id)
16:09:20 T:139806471604160   DEBUG: Mysql execute: CREATE UNIQUE INDEX ix_tag_link_2 ON tag_link (media_id, media_type(20), tag_id)
16:09:20 T:139806471604160   DEBUG: Mysql execute: CREATE INDEX ix_tag_link_3 ON tag_link (media_type(20))
16:09:20 T:139806471604160   DEBUG: Mysql execute: CREATE UNIQUE INDEX ix_actor_1 ON actor (name(255))

dans phpMyAdmin, je vois que les bases MyVideo93 et MyMusic52 ont été crées. Maintenant pour un autre utilisateur kodi il faudra récupérer ce fichier advancedsettings.xml et le placer sous son répertoire .kodi/userdata.

Maintenant pour peupler la base MySQL, il faut avec votre utilisateur principal lancer kodi et mettre à jour la médiathèque, il va lancer un scan comme à l'initialisation d'une nouvelle base sauf que il va lire les fichiers .nfo au lieu de repartir de zéro. Voilà le genre de chose qu'on peut découvrir en visualisant le fichier .kodi/temp/kodi.log

17:18:30 T:140142598506240   DEBUG: Mysql execute: insert into actor (actor_id, name, art_urls) values(NULL, 'Dharmadasa Kuruppu', '')
17:18:30 T:140142598506240   DEBUG: Mysql execute: INSERT INTO actor_link (actor_id, media_id, media_type, role, cast_order) VALUES(3524,198,'movie','Chieftain',16)
17:18:30 T:140142598506240   DEBUG: Mysql execute: insert into actor (actor_id, name, art_urls) values(NULL, 'Stany De Silva', '')
17:18:30 T:140142598506240   DEBUG: Mysql execute: INSERT INTO actor_link (actor_id, media_id, media_type, role, cast_order) VALUES(3525,198,'movie','Sajnu',17)
17:18:30 T:140142598506240   DEBUG: Mysql execute: insert into actor (actor_id, name, art_urls) values(NULL, 'Ruby de Mel', '')
17:18:31 T:140142598506240   DEBUG: Mysql execute: INSERT INTO actor_link (actor_id, media_id, media_type, role, cast_order) VALUES(3526,198,'movie','Village Woman',18)
17:18:31 T:140142598506240   DEBUG: Mysql execute: insert into actor (actor_id, name, art_urls) values(NULL, 'Denavaka Hamine', '')

Maintenant pour utiliser cette base de données sur d'autres machines et avec d'autres utilisateurs, il suffit de placer le fichier advancedsettings.xml dans le répertoire userdata de vos utilisateurs et systèmes. Et là sans avoir à créer une médiathèque, à recharger ou scanner je ne sais quoi, vous avez accès directement à la base de données.

[Retour haut de la page]

Modifier les genres des films

J'ai constaté que souvent les films sont classés un peu n'importe comment, du style on va retrouver le dessin animé "la belle et la bête" dans la catégorie horreur. Il n'y a pas de moyen de modifier simplement la catégorie. Pour pouvoir le faire, je propose d'utiliser la fonction de webserver qui est activé par défaut. A partir d'un autre PC on pourra se connecter au poste multimedia et pouvoir modifier la base de données comme bon nous semble. On va utiliser WiMM, pour mémoire WiMM s'appelait auparavant XWMM (XBMC Web Media Manager).

Le site officiel est par là https://github.com/slash2009/XWMM mais le plus simple est d'aller directement par ici https://github.com/slash2009/XWMM/wiki/F.A.Q.-Frequently-asked-questions car tout y est résumé. On y récupère le fichier zip.

Maintenant sous kodi dans le menu

Système -> Paramètres -> Extensions -> Installer depuis un fichier zip

on sélectionne le fichier webinterface.WIMM-4.1.21-isengard.zip

on constate le message en bas à droite avec "WIMM extension activée". Maintenant dans le menu

Système -> Paramètres -> Services -> Général

on coche la case "Autoriser le contrôle à distance par des programmes sur ce système"

Dans le menu suivant on configure le serveur web intégré

Système -> Paramètres -> Services -> Serveur web

on coche "Autoriser le contrôle à distance HTTP" et on choisit le numéro du port, par défaut 8080, on choisit également le nom d'utilisateur avec un éventuel mot de passe pour se connecter au serveur. On choisit également l'interface web WIMM

maintenant sur n'importe quel PC de votre réseau, on pointe sur l'adresse du serveur kodi en indiquant le port, comme ceci http://adresse-ip:8080/

voilà ce que ça donne, vous avez la possibilité de modifier n'importe quel paramètre de chaque entrée de votre base de donnée.



Extension youtube

Si vous utilisez le plugin youtube, vous verrez que celui par défaut est cassé, il faut récupérer un autre par ici https://github.com/Kolifanes/plugin.video.youtube il se nomme plugin.video.youtube-master.zip et on le garde dans un coin

On  va maintenant dans Vidéos->Extensions->En obtenir plus... 2 fois on clique sur la flèche de retour (en bas à droite) jusqu'à la page Extensions puis Installer depuis un fichier zip et là on va chercher le fichier précédemment récupéré.
Quand on lance l'extension youtube, il faut d'abord cliquer sur Connexion pour l'associer à un compte youtube, et voilà ce que ça donne quand l'association est terminée.


et voilà avec mes playlists



[Retour à l'accueil]
[Retour haut de la page]