FIXME À fusionner avec Kodi

XBMC / Kodi

XBMC (ou Kodi à partir de la version 14.0) est un media center libre1) développé à l'origine pour la Xbox. Il est depuis plusieurs années porté sous GNU/Linux, Windows et MacOS. Il est très complet, personnalisable avec de nombreux skins (thèmes d'apparence) et très abouti.

Cette application supporte entre autres :

  • Une gestion de tous ses composants ( applications , stream tv, thèmes, etc …) comme des dépôts ou des appstores : vous pouvez par exemple ajouter des thèmes directement à partir d'XBMC, selon vos dépôts ; que vous pouvez également ajouter.
  • Les skins dont certains sont des institutions : Aeon et ses dérivés
  • Les webtv françaises et du monde entier, et les tv des box de votre fournisseur internet
  • Il existe des composants pour le web, pour "réseaux sociaux", navigateur internet, etc …
  • Des add-ons pour des applications Ubuntu, et les jeux, et les émulateurs etc …
  • L'UPNP (Une technologie permettant entre autres de fournir et d'acquérir des médias sur un réseau local) ;
  • Le « Remote management » ( et la domotique ), soit par Web interface, soit par diverses applications (comme sur l'iPhone), soit par télécommande ;
  • La réception de la Télévision/Radio Numérique grâce à une carte TV. Pour cela, pensez à installer la version PVR.

XBMC utilise l'accélération graphique afin de fournir de jolis effets de transition et de meilleures performances.2) :) De plus, XBMC peut également être exécuté comme gestionnaire de Bureau !

Lors de l'utilisation de la session KODI (se déconnecter puis se reconnecter sous le bureau "kodi") il se peut que le volume soit très bas. Pour régler ce souci, il faut se connecter via SSH au PC, et saisir alsamixer et monter les volumes principaux à fond puis baisser via kodi
Nouveauté d'XBMC :
  • Gestion des plugins dans XBMC
  • Performances accrus pour les vidéos, et vidéos HD. ( voir liste complète )
  • Intégration de projectm dans les visualisations.
Kodi ne fonctionne pas avec le pilote fglrx.

Il suffit d'installer le paquet xbmc

Il faut installer Kodi.

Ou en ligne de commande :

sudo apt-get install python-software-properties pkg-config software-properties-common
sudo add-apt-repository ppa:team-xbmc/ppa
sudo apt-get update

Pour la version 13.2 :

sudo apt-get install xbmc

Pour la version 14.0 et plus :

sudo apt-get install kodi

Basé sur « HOW-TO:Install XBMC for Linux »

Déplacement dans xbmc

  • Utilisez les flèches de votre clavier et la touche entrée
  • Utilisez votre télécommande reconnue ( ou configurée ).

Ajouter ses fichiers dans la bibliothèque multimédia

  • Dans Video / Audio ou Image
  • Cliquez sur Ajouter → Bouton Parcourir → Sélectionner votre dossier
  • Valider

Ajouter des dépôts d'add-ons - ex : pour les TV françaises

Méthode automatique :

  • Télécharger et installer l'add-on Repositories Installer ( de la communauté Passion Xbmc, addon qui va récupérer les add-ons de site sur le wiki officiel )
  • Note : enregistrez-le dans un endroit où vous savez où se trouve le fichier.
  • Dans XBMC : allez dans Système → Add-Ons → Installer depuis un fichier Zip
    • Retrouver le fichier du dépôt, et installer.
  • Il n'y a plus qu'à utiliser l'addon

Méthode manuelle :

  • Trouver le dépôt qui vous intéresse, et enregistrer le fichier ( colonne "installable ZIP" ) : pour avoir les télévisions françaises, téléchargez le dépôt "repository.passion.xbmc.org" de la communauté française 'Passion XBMC'.
  • Note : enregistrez-le dans un endroit ou vous savez ou se trouve le fichier.
  • Dans XBMC : allez dans Système → Add-Ons → Installer depuis un fichier Zip
    • Retrouver le fichier du dépôt, et installer.

Ajouter un Add-On ( ou un thème )- ex : pour les TV françaises

  • Pour ajouter un add-on vous pouvez soit le faire à partir de chaque catégorie existante ( images, musiques, video,… ) , sous Add-ons en cliquant sur plus.
  • Ou vous pouvez aller dans Système → Add-Ons → "Télécharger des Add-Ons" ( niveau le plus haut de l'arborescence )
    • Vous sélectionnez soit " tous les add-ons " pour avoir les add-ons de tous les dépôts classés
    • Ou vous sélectionnez le dépôt désiré : ICI: "PASSION-XBMC.org Add-ons"
  • Par exemple : pour avoir les chaînes de votre fournisseur d'accès ( free , … ) :
    • Allez dans Video → "Tv Plugin" → Installer.

Comme vous le voyez, il y a des centaines d'add-ons à votre disposition, et cela ira en s'améliorant. Bonne découverte.

Lire un DVD

XBMC fait apparaître automatiquement le menu lire un disque à côté du menu Programme lorsqu'il détecte un DVD dans le lecteur. Si ça ne marche pas, vérifier les points suivants :

  • le lecteur DVD doit être présent lors du lancement de XMBC (si vous avez un lecteur externe, redémarrez XBMC si ça n'a pas été le cas)
  • le lecteur DVD doit être reconnu sous /dev/dvd. Si ce n'est pas le cas parce que vous avez plusieurs lecteurs, changez de lecteur et/ou éditez le fichier /etc/udev/rules.d/70-persistent-cd.rules pour changer le chemin.
Il est possible de relancer XMBC automatiquement lors du branchement du lecteur DVD externe, afin de contourner la premier point :
  • éditez le fichier /etc/udev/rules.d/70-persistent-cd.rules
    • à la ligne contenant SYMLINK+="dvd", ajoutez la fin de ligne suivante qui relance XMBC : , RUN+="/usr/bin/pkill -9 xbmc.bin"
    • enregistrez le fichier
  • redémarrer le service udev :
    sudo restart udev

Paramètre de langue

  • Dans xbmc
  • System → Appearance → International → Language

Sélectionner un thème

  • Si vous avez installé un autre thème que celui par défaut,
  • Vous pouvez l'activer, en allant dans Système → Apparence → et à Thème choisir un autre Thème.

Transformer XBMC en console de jeu

Ajouter des jeux

FIXME

Ajouter des émulateurs console

FIXME

Piloter XBMC avec une Wiimote

Pour utiliser une Wiimote avec XBMC, installez simplement les paquets xbmc et xbmc-eventclients-wiiremote, disponibles dans les dépôts du projets : cliquez ici.

Puis lancer le tout avec un :

kodi-wiiremote & xbmc

Il ne vous reste plus qu'à associer la Wiimote en pressant 1 et 2.

Pour la version 64 bits

Il est possible que le contrôle par Wiimote ne fonctionne pas correctement (déconnexion intempestive, vitesse trop élevée, …) si vous utilisez une version 64bits de Ubuntu. Dans ce scénario vous devrez vous passer de l'installation par package et donc commencer par désinstaller le paquet xbmc-eventclients-wiiremote.

Vous devez d'abord installer quelques dépendances :

apt-get install libbluetooth-dev g++ libcwiid1 xbmc-eventclients-common
Le 10 avril 2012 : à cette date la version de libbluetooth utilisée par XBMC est la version 2 et non la version disponible dans les dépôts. En effet, le paquet libbluetooth est passé en version 3 dans les dépôts de Precise.

Téléchargez ensuite les sources de xbmc et compilez le daemon :

mkdir /usr/local/src/xbmc
git clone git://github.com/xbmc/xbmc.git /usr/local/src/xbmc
cd /usr/local/src/xbmc/tools/EventClients/Clients/WiiRemote
make
Après des heures de souffrance, il faut modifier le Makefile pour compiler le client : $(CXX) $(CFLAGS) -I./wiiuse_$(VERSION)/src WiiUse_WiiRemote.cpp $(OBJS) -o $(BIN) -l bluetooth

Un binaire situé /usr/local/src/xbmc/tools/EventClients/Clients/WiiRemote/WiiUse_WiiRemote écoutera maintenant avec succès votre WiiMote.

Pour fonctionner, vous devez impérativement lancer le binaire depuis son dossier

Si vous êtes intéressé par la démonification du processus, voici le script à placer dans init.d (pour utilisateur averti, une configuration préalable de ce fichier est à réaliser) :

#! /bin/sh

### BEGIN INIT INFO
# Provides:          wiimote
# Required-Start:    $local_fs $syslog $remote_fs bluetooth udev
# Required-Stop:     
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Wminput for wiimote initscript
# Description:       Wiimote for wiimote initscript : should be placed in /etc/init.d.
### END INIT INFO

# Author: LvR

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DIR=/usr/local/src/xbmc/tools/EventClients/Clients/WiiRemote
DESC="xbmc-wiiremote initscript"
NAME=xbmc-wiiremote
USER=xbmc
DAEMON=WiiUse_WiiRemote
PIDFILE=/home/$USER/.$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
# [ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
        # Be sure that uinput module is loaded
        modprobe uinput
        
        # Return
        #   0 if daemon has been started
        #   1 if daemon was already running
        #   2 if daemon could not be started
	start-stop-daemon --start \
		--quiet --background \
		--make-pidfile --pidfile $PIDFILE \
		--chuid $USER \
		--chdir $DIR \
		--exec $DIR/$DAEMON --test > /dev/null \
		|| return 1
        start-stop-daemon --start \
		--quiet --background \
		--make-pidfile --pidfile $PIDFILE \
		--chuid $USER \
		--chdir $DIR \
		--exec $DIR/$DAEMON -- \
                $DAEMON_ARGS \
                || return 2
       # Add code here, if necessary, that waits for the process to be ready
        # to handle requests from services started subsequently which depend
        # on this one.  As a last resort, sleep for some time.
}

#
# Function that stops the daemon/service
#
do_stop()
{
        # Return
        #   0 if daemon has been stopped
        #   1 if daemon was already stopped
        #   2 if daemon could not be stopped
        #   other if a failure occurred
        start-stop-daemon --stop --quiet --retry=TERM/2/KILL/1 --pidfile $PIDFILE
        RETVAL="$?"
        [ "$RETVAL" = 2 ] && return 2
        # Wait for children to finish too if this is a daemon that forks
        # and if the daemon is only ever run from this initscript.
        # If the above conditions are not satisfied then add some other code
        # that waits for the process to drop all resources that could be
        # needed by services started subsequently.  A last resort is to
        # sleep for some time.
        start-stop-daemon --stop --quiet --oknodo --retry=0/2/KILL/1 --exec $DAEMON
        [ "$?" = 2 ] && return 2
        # Many daemons don't delete their pidfiles when they exit.
        rm -f $PIDFILE
        return "$RETVAL"
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
        #
        # If the daemon can reload its configuration without
        # restarting (for example, when it is sent a SIGHUP),
        # then implement that here.
        #
        start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
        return 0
}

case "$1" in
  start)
        [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
        do_start
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  stop)
        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  #reload|force-reload)
        #
        # If do_reload() is not implemented then leave this commented out
        # and leave 'force-reload' as an alias for 'restart'.
        #
        #log_daemon_msg "Reloading $DESC" "$NAME"
        #do_reload
        #log_end_msg $?
        #;;
  restart|force-reload)
        #
        # If the "reload" option is implemented then remove the
        # 'force-reload' alias
        #
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        case "$?" in
          0|1)
                do_start
                case "$?" in
                        0) log_end_msg 0 ;;
                        1) log_end_msg 1 ;; # Old process is still running
                        *) log_end_msg 1 ;; # Failed to start
                esac
                ;;
          *)
                # Failed to stop
                log_end_msg 1
                ;;
        esac
        ;;
  *)
        #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
        exit 3
        ;;
esac

exit 0

Commander Kodi via Android

Il existe plusieurs applications pour piloter Kodi depuis Android.

Kore est l'application Android officiel de XMBC Fondation, elle est très complète et est synchronisé avec votre machine Kodi:Play Store

Pour faire fonctionner Kore(ou les autres applications de contrôle de Kodi) il faut au préalable autoriser le contrôle de Kodi via HTTP, pour cela allez sur kodi dans système>services>serveur web>cochez "autoriser le contrôle à distance via http"

Sur Kore, faites "suivant" pour chercher automatiquement votre machine, si vous avez un message comme "Je n'ai pas trouvé de centre multimédia sur votre réseau…", faites "suivant" puis

  • nom du centre multimedia : kodi (par défaut)
  • adresse : <l'adresse ip de votre machine>
  • port : 8080 (par défaut)
  • nom d'utilisateur : kodi (par défaut)
  • mot de passe : <vide> (par défaut)

puis suivant, normalement Kore devrait détecter votre machine.

Yatse est une alternative à Kore qui fonctionne tout aussi bien et est tout aussi intuitif, seul défaut, elle est payante en version complète:Play Store

Piloter XBMC avec un iPhone

Il vous faut avoir un Wi-Fi et acheter XBMC remote sur l'App store (gratuite).

Note : il existe d'autres logiciels pour iPhone, dont certains gratuits.

Configurer xbmc

Ouvrez XBMC et allez dans system > network, et là cochez les cases suivantes :

allow control XBMC via HTTP

allow programs on this system to controle XBMC

allow programs on others systems to controle XBMC

Remarquez que vous pouvez choisir le port et protéger par un mot de passe.

Une fois ceci fait il vous faut l'adresse IP du PC où se trouve XBMC. Pour cela, tapez dans une console :

ip -4 a

ce qui va vous donner ceci ou quelque chose qui y ressemble :

1: lo: <LOOPBACK,UP,LOWER_UP> mtu group default 
    inet 127.0.0.1/8 scope host lo
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mq state UP group default
    inet 192.168.1.38/24 brd 192.168.1.255 scope global dynamic noprefixroute enp3s0

(eth c'est en général la connexion de la carte réseau et wlan le Wi-Fi) Là localisez l'IP (dans mon cas c'est 192.168.1.38 )

voilà c'est tout pour le PC maintenant passons à l'iPhone

Configurer l'iPhone

Il faut activer le Wi-Fi sur votre iPhone et ouvrir le programme XBMC. Une fois le programme ouvert, allez dans settings → discover hosts → manually add host.

Puis vous devez fournir plusieurs informations. Laissez tout par défaut (comme mentionné plus haut, on peut rajouter un mot de passe de protection par exemple). Dans le champ IP mettez l'IP du PC sur lequel XBMC est installé (dans mon cas 192.168.1.38). Une fois ceci fait, normalement si XBMC est ouvert sur votre PC, la connexion devrait être reconnue et fonctionnelle. Voilà maintenant vous pouvez piloter XBMC via votre iPhone. (Sinon, vérifiez bien que vous avez entré les bonnes informations : la bonne adresse IP, etc) En outre, il est recommandé de protéger avec un mot de passe.

  • Un tutoriel pour utiliser un périphérique HID (tel qu'une télécommande) avec XBMC
  • (en) Le site du projet, où vous trouverez un forum, un wiki, et des nouvelles
  • (fr) Xbmc Passion, un site avec une communauté française sympathique et active

Contributeurs : Les contributeurs d'Ubuntu-fr.


1)
Il est distribué sous licence GNU GPL, excepté pour quelques bibliothèques qui sont sous licence LGPL. Il est essentiellement écrit en C++ et utilise le framework multimédia SDL et l'OpenGL pour le rendu graphique sous Linux. Et est soutenu par la fondation XBMC
2)
supporte vdpau (Nvidia) et va-api (Intel, ATI) permettant de consommer moins de puissance CPU
  • xbmc.txt
  • Dernière modification: Le 12/11/2023, 14:52
  • par Amiralgaby