Depuis quelque temps je cherche à lire des films HD (720p ou 1080p)(de vacances évidemment) sur mon mediacenter et ce sans succès.
En effet mon HTPC est basé sur une carte mère D945GCLF2 qui n’est pas assez puissante pour décoder un films HD, résultat ça rame, le son est désynchronisé, ca fige….
Lors de mes recherches je suis venu à m’intéresser au codec CoreAVC propriétaire mais dont il existe une version Linux.
Ce codec étant réputé pour être le plus performant pour décoder du x264.
Enfin au détour d’un thread j’ai découvert l’existence d’une version de mplayer gérant le multi-thread (mplayer-mt) et d’un PPA le proposant :
Installation :
sudo add-apt-repository ppa:ripps818/coreavc sudo aptitude update sudo aptitude safe-upgrade
Ce qui chez moi a provoqué les changements suivants :
Les NOUVEAUX paquets suivants vont être installés : libggi-target-vcsa{a} libggi2{a} libgii1{a} libgii1-target-x{a} libvdpau1{a} Les paquets suivants seront ENLEVÉS : libavformat52{u} libopenal1{u} libswscale0{u} libx264-85{u} Les paquets suivants seront mis à jour : mplayer
Configuration :
Il faut ensuite configurer mplayer pour qu’il sache combien de cœur utiliser, cela se fait dans le fichier .mplayer/config, en y ajoutant la ligne :
lavdopts=threads=2
(Le 2 est à adapter en fonction du nombre de cœur de votre processeur)
Le changement est alors flagrant, ci-dessous l’utilisation de la CPU durant lecture d’un film 1080p avec mplayer classique
Avec mplayer-mt
Résultat le film est fluide…
Rque : le wiki Ubuntu mentionne aussi mplayer-mt et renvoi vers le PPA Testing packages, cependant ce dernier ne propose pas mplayer-mt pour Lucid
mplyer-mt est en fait une version de mplayer qui utilise les librairies ffmpeg-mt, il existe un bug sur le launchpad (Bug #611851) demandant à intégrer les fonctionnalités de multi-threading dans Ubuntu.
Sources :
Multi-threaded mplayer for faster 720p (HD) decoding / playback
Howto: Speed up 720p or 1080p decoding using multithreaded mplayer