Page 1 sur 2
[Nvidia] Utiliser le GPU pour décoder du 1080p ? (résolu)
Publié : jeu. 10 sept. 2009, 21:12
par Bismut
Bonjour,
Je possède un Mac Mini 2009, avec un C2D 2 Ghz mais surtout, une Nvidia 9400 M, censé être LA puce du décodage HD sauf erreur de ma part.
Or, il se trouve que mes vidéos 1080p prennent bien 100% d'un coeur et un peu de l'autre.
Et bien évidemment, mes vidéos saccadent...
Il m'ait donc revenu en tête qu'il me semble avoir lu que certains projets sous Linux avaient pour ambition de décoder de la HD en se servant du GPU.
Pour info, j'ai Compiz, je pensais donc avoir "activé" le support du GPU pour "l'affichage", mais j'ai essayé sans (pour soulager), et aucune différence.
Quelqu'un s'y connait-il dans le domaine ?
Merci.
Re: [Nvidia] Comment utiliser le GPU pour décoder du 1080p ?
Publié : jeu. 10 sept. 2009, 22:59
par Guiux
Tu utilise quel lecteur ?
J'ai une Geforce 8600 GT, les drivers proprios, Kwin3D d'activé, et lire une vidéo mkv en 1080p avec VLC m'utilise 40% de mon processeur (Core 2 Duo à 2,4 GHz). Je ne sais pas si c'est beaucoup, mais la vidéo est parfaitement fluide.
Je n'ai pas fait de manipulation particulière (je n'ai même pas cherché s'il y avait quelque-chose à faire, ni si certains lecteurs sous Linux pouvaient tirer parti de la carte graphique).
Re: [Nvidia] Comment utiliser le GPU pour décoder du 1080p ?
Publié : jeu. 10 sept. 2009, 23:45
par benjarobin
Il faut bien évidemment utiliser le pilote propriétaire, mais déjà sous windows, il faut généralement un logiciel propriétaire et payant pour avoir accès au decodage du GPU, je ne sais pas se qu'il y a sous linux en libre, je vais jeter un coup d'oeil
Je suis en train de lire cette article et de voir quel paquet est necessaire
http://blog.mymediasystem.net/avchd/vdp ... eration/2/
Bon déjà la librairie libvdpau est inclus dans nvidia-utils, et apparemment il faudrait mplayer-vdpau, il suffit de lancer mplayer avec les bonnes options, je trouve d'abord une video en h264 haute résolution..
Bon je suis arriver à diviser par 1.5 - 2 la consommation CPU. J'ai un peu beaucoup éditer le PKGBLUID de base.
De plus on est obliger de désinstaller mplayer de cette façon pacman -Rd mplayer puis pacman -U mplayer-vdpau-nogui-29670-1-i686.pkg.tar.gz
Donc ce que je te conseille, c'est de créer un dossier dans ton home, par exemple mplayerAUR, puis tu rentre dedans et yaourt -G mplayer-vdpau-nogui
Ainsi tu peux éditer le PKGBUILD et garder une trace de la compilation et du paquet
Code : Tout sélectionner
#Contributor: Reiser <metal@pop3.ru>
pkgname=mplayer-vdpau-nogui
pkgver=29670
pkgrel=1
pkgdesc="Famous multimedia player, dev. version, without its GUI and support for nvidia VDPAU"
arch=('i686' 'x86_64')
url="http://www.mplayerhq.hu/"
license=('GPL')
depends=('ttf-dejavu' 'nvidia' 'opencore-amr-git' 'libdvdnav>=4.1.3' 'lame' 'xvidcore'
'libxxf86dga' 'libxv' 'libmad' 'giflib' 'cdparanoia' 'sdl' 'libtheora' 'zlib'
'libmng' 'libxss' 'libgl' 'smbclient' 'aalib' 'jack-audio-connection-kit'
'libcaca' 'x264>=20090416' 'faac' 'lirc-utils' 'libxvmc' 'libjpeg>=7')
makedepends=('subversion')
conflicts=('mplayer')
provides=(mplayer=$pkgver)
source=('no_segfault_configure.diff')
md5sums=(ed962f7642ffcf2411ec6465fdc8c132)
_svntrunk=svn://svn.mplayerhq.hu/mplayer/trunk
_svnmod=mplayer-vdpau
build() {
cd $srcdir
svn co $_svntrunk $_svnmod
cp -R $_svnmod $_svnmod-build
cd $_svnmod-build
patch -p1 < ../no_segfault_configure.diff
./configure --prefix=/usr --confdir=/etc/mplayer --disable-gui \
--enable-runtime-cpudetection --enable-largefiles --enable-menu \
--disable-libdv --disable-liblzo --disable-speex --disable-openal \
--disable-fribidi --disable-arts --disable-esd --enable-dvdnav \
--disable-musepack --enable-libopencore_amrnb --enable-libopencore_amrwb \
--enable-vdpau --language=all
make || return 1
make DESTDIR=$pkgdir install || return 1
install -m0644 etc/{codecs.conf,input.conf,example.conf} $pkgdir/etc/mplayer
install -d $pkgdir/usr/share/mplayer/
ln -s /usr/share/fonts/TTF/DejaVuSans.ttf $pkgdir/usr/share/mplayer/subfont.ttf
cd ../
rm -rf ./$_svnmod-build
}
C'est une fusion de l'original et celui de AUR.
Il suffit de lancer la vidéo avec cette commande : mplayer mavideo.mp4 -vc ffh264vdpau -vo vdpau pour une vidéo en h264.
Sinon si tu veux utiliser l'interface graphique: smplayer il faut sélectionner vdpau au lieu de xv dans Général/videos->pilote de sortie Et dans avancée/Options pour MPlayer tu met -vc ffmpeg12vdpau,ffh264vdpau,ffodivx cela force ces codecs, mais s'il y en a aucun qui ne match, il ne lance pas la vidéos, donc il suffit de lancer mplayer mavideo -vo vdpau et il affichera dans la console le bon codec, au bout de quelques vidéos, je suis sur qu'il ne sera plus nécessaire de modifier la liste dans smplayer. Et dans performance/performance j'ai mis le nombre de threads à 2
Re: [Nvidia] Comment utiliser le GPU pour décoder du 1080p ?
Publié : ven. 11 sept. 2009, 04:30
par benjarobin
Aller je suis devenu fous, voici un paquet qui contient en plus coreavc.
Code : Tout sélectionner
#Contributor: Reiser <metal@pop3.ru>
pkgname=mplayer-vdpau-coreavc-nogui
pkgver=29670
pkgrel=1
pkgdesc="Famous multimedia player, dev. version, without its GUI and support for nvidia VDPAU"
arch=('i686')
url="http://www.mplayerhq.hu/"
license=('GPL')
depends=('ttf-dejavu' 'nvidia' 'opencore-amr-git' 'libdvdnav>=4.1.3' 'lame' 'xvidcore'
'libxxf86dga' 'libxv' 'libmad' 'giflib' 'cdparanoia' 'sdl' 'libtheora' 'zlib'
'libmng' 'libxss' 'libgl' 'smbclient' 'aalib' 'jack-audio-connection-kit'
'libcaca' 'x264>=20090416' 'faac' 'lirc-utils' 'libxvmc' 'libjpeg>=7'
'libungif' 'codecs' 'faad2' 'fontconfig' 'libxinerama' 'libpng' 'libxxf86vm')
makedepends=('subversion' 'pkgconfig')
conflicts=('mplayer')
provides=(mplayer=$pkgver)
replaces=('mplayer')
source=('liba52_gcc_bug.patch' \
'dshowserver.patch' \
'no_segfault_configure.diff')
md5sums=('be618b26857731cea7591e1b2538f3c4'
'fdd849c163c4fd2e8c5b39ca4c9a5a38'
'ed962f7642ffcf2411ec6465fdc8c132')
install=coreavc.install
_svntrunk=svn://svn.mplayerhq.hu/mplayer/trunk
_svnmod=mplayer-vdpau
_svncoreavc=http://coreavc-for-linux.googlecode.com/svn/trunk/
_url_coreavc_file=http://coreavc-for-linux.googlecode.com/files
build() {
echo "*** GET MPLAYER SOURCE CODE: *** "
cd $srcdir
svn co $_svntrunk $_svnmod
echo " COREAVC STEP 1: Download the code from svn: "
svn checkout $_svncoreavc coreavc-for-linux
echo " COREAVC STEP 2: Install dshowserver: "
cd coreavc-for-linux
make -C dshowserver || return 1
cd ..
cp -R $_svnmod $_svnmod-build
cd $_svnmod-build
echo "*** PATCH MPLAYER ***"
patch -p0 < ../../liba52_gcc_bug.patch || return 1
patch -p1 < ../no_segfault_configure.diff
echo "*** CONFIGURE MPLAYER ***"
./configure --prefix=/usr --confdir=/etc/mplayer --disable-gui \
--enable-runtime-cpudetection --enable-largefiles --enable-menu \
--disable-libdv --disable-liblzo --disable-speex --disable-openal \
--disable-fribidi --disable-arts --disable-esd --enable-dvdnav \
--disable-musepack --enable-libopencore_amrnb --enable-libopencore_amrwb \
--enable-vdpau --language=all \
--enable-x11 --enable-gl --enable-tv-v4l1 --enable-tv-v4l2
--extra-cflags=-fno-strict-aliasing \
echo "COREAVC STEP 3: Install patch into mplayer:"
patch -Np1 -i ../dshowserver.patch || return 1
echo "*** MAKE MPLAYER ***"
make || return 1
echo "*** MPLAYER: MAKE INSTALL ***"
mkdir -p $pkgdir/pkg/usr/share/man/{fr,es,de,cs,ru,pl,it,hu}/man1
mkdir -p $pkgdir/usr/lib/win32
make DESTDIR=$pkgdir install || return 1
install -m0644 etc/{codecs.conf,input.conf,example.conf} $pkgdir/etc/mplayer
install -d $pkgdir/usr/share/mplayer/
ln -s /usr/share/fonts/TTF/DejaVuSans.ttf $pkgdir/usr/share/mplayer/subfont.ttf
echo "COREAVC STEP 4: Update codecs.conf: "
cat $startdir/codec.conf >> $pkgdir/etc/mplayer/codecs.conf
install -m755 $srcdir/coreavc-for-linux/dshowserver/dshowserver $pkgdir/usr/bin
install -m755 $srcdir/coreavc-for-linux/dshowserver/registercodec $pkgdir/usr/bin/registercodecavc
cd ../
rm -rf ./$_svnmod-build
}
Il est a finaliser, il faut prendre les fichier manquant sur aur dans le paquet
http://aur.archlinux.org/packages.php?ID=20145 Si tout marche bien, je ferai un paquet sur AUR
Bon j'arrive pas à le faire fonctionner (mplayer fige), pour coreAVC, j'essayerai demain le paquet d'origine.
Re: [Nvidia] Comment utiliser le GPU pour décoder du 1080p ?
Publié : ven. 11 sept. 2009, 09:05
par Guiux
Je me suis renseigné pour VLC : apparemment la version git de VLC 1.1 supporte vdpau.
J'essayerais demain.
Re: [Nvidia] Comment utiliser le GPU pour décoder du 1080p ?
Publié : ven. 11 sept. 2009, 09:29
par Bismut
Ouah, beaucoup de réponses intéressantes, merci à vous
Alors de mon côté également, je n'ai pas chômé, j'avais trouvé des pistes pour "VDPAU" et j'ai lu que XMBC l'incorporait je crois.
J'ai donc installé XMBC via [Community]. Après avoir compris que la commande "xmbc" ne lançait rien, et qu'il se trouvait dans "/opt/xmbc/bin/xmbc", il se lançait enfin.
Après avoir trouvé comment passer en Fullscreen (ALT-GR +

, j'ai donc tenté du 1080p et là ça passe bien, apparemment je ne dépasse par les 80 % d'un coeur.
Mais bon, c'est pas l'idéal non plus puisque ça m'oblige à lancer un Media Center, mais c'est à noter si jamais je veux tenter d'utiliser mon PC pour et non ma PS3 pour mon usage Media Center.
Bonne nouvelle que VLC 1.1 supporte VDPAU, j'attends ça avec impatience

Re: [Nvidia] Comment utiliser le GPU pour décoder du 1080p ?
Publié : ven. 11 sept. 2009, 09:34
par Guiux
Si tu veux attendre la version stable de VLC 1.1, il faudra t'armer de patience : elle ne sort que vers Noël.
Juste une question : quelle est la puissance de ton processeur ?
Re: [Nvidia] Comment utiliser le GPU pour décoder du 1080p ?
Publié : ven. 11 sept. 2009, 10:16
par Bismut
C'est un Mac Mini, avec un Core 2 Duo 2 Ghz
Sinon, je ne suis pas si pressé que ça.
Mais je regarde de plus en plus près l'idée de me servir de mon PC plutôt que de ma PS3 pour lire mes médias... J'adorerais pouvoir à terme avoir une télécommande qui switche ma sortie vidéo de mon moniteur vers mon ampli/TV (faisable avec un splitter/distributeur HDMI), et qui lance XBMC...
A priori c'est faisable, et cela me ferait une solution Media Center vraiment très ergonomique et se lançant instantannément, et décodant tous les formats existants, y compris en 1080p... disons que ça fait un peu rêver ^^
Je zieute donc du côté des des splitters/distributeurs pour voir si ça passe en 1080p car je n'ai pas bien saisi les caractéritiques de ces engins (pour Video, ils disent que ça passe en 1080p, mais ils mettent 1600x1200 pour le PC ?)
Je zieute également du côté de bonnes télécommandes facilement reconnues et installables sous Arch et sous XBMC.
En tous cas, j'en ai pas mal appris sur VA API, VDPAU, et le décodage hardware sous Linux, c'est cool
Je pense qu'on peut passer le sujet en résolu, même si nous pouvons continuer à discuter sur le sujet ^^
Re: [Nvidia] Utiliser le GPU pour décoder du 1080p ? (résolu)
Publié : sam. 12 sept. 2009, 16:35
par Guiux
J'ai essayé vlc-git : je ne vois aucun gain, et je n'ai pas trouvé d'option à activer.
J'ai essayé Smplayer : la sortie "vdpau" n'est pas disponible, même avec smplayer-svn.

Re: [Nvidia] Utiliser le GPU pour décoder du 1080p ? (résolu)
Publié : sam. 12 sept. 2009, 17:30
par benjarobin
Je vois que mes 2 gros post sont passés inaperçus...
Petit détail je ne suis jamais arrivé à faire fonctionner le 2ieme PKGBUILD (pour coreavc) ni le paquet "officiel" de AUR (mplayer-coreavc-svn)
Re: [Nvidia] Utiliser le GPU pour décoder du 1080p ? (résolu)
Publié : sam. 12 sept. 2009, 17:52
par Guiux
Perso, je trouve que cette technologie n'est absolument pas au point sur Linux. J'attendrai que le décodage par GPU se généralise et s'impose comme par défaut... Là, c'est vraiment du bidouillage...
Re: [Nvidia] Utiliser le GPU pour décoder du 1080p ? (résolu)
Publié : sam. 12 sept. 2009, 18:03
par benjarobin
Non ce n'est pas du bidouillage, c'est juste que le paquet d'origine n'as pas été compiler avec l'option vdpau c'est tout. Cette option existe depuis 1 an, mais c'est normal que l'option soit désactiver, pas tout le monde possède une carte nvidia ! As tu au moins tester ? Cela à le don de m'énerver ce genre de réflexion.

Re: [Nvidia] Utiliser le GPU pour décoder du 1080p ? (résolu)
Publié : sam. 12 sept. 2009, 18:46
par Guiux
J'ai dis que c'était du bidouillage POUR MOI. Je n'ai pas le niveau, les connaissances (et l'envie) pour m'amuser à changer des options de compilation pour avoir des logiciels qui marchent...
Je me contente donc des paquets par défaut et attend que les choses se mettent en place.
Re: [Nvidia] Utiliser le GPU pour décoder du 1080p ? (résolu)
Publié : sam. 12 sept. 2009, 19:12
par benjarobin
Non mais il existe déjà un paquet pour ça, il s'appelle mplayer-vdpau-nogui mais j'aime bien personnaliser un peu les options de compilation car je veux aussi le supports d'autre fonction.
Tu peux toujours attendre qu'un paquet sorte dans community, car comme ce n'est que pour les cartes nvidia je pense que l'on peu attendre un peu. Alors un yaourt mplayer-vdpau-nogui et c'est bon, j'ai juste éditer le PKGBUILD... C'est le principe même d'Archlinux...
Et j'affirme que cette phrase
cette technologie n'est absolument pas au point sur Linux
était de trop, alors que tu n'étaye même pas. C'est juste nulle !
Re: [Nvidia] Utiliser le GPU pour décoder du 1080p ? (résolu)
Publié : sam. 12 sept. 2009, 21:29
par Guiux
Oui, bon... J'ai peut-être été maladroit dans mon expression et ai peut-être exagéré ce que je pensais réellement... Ce n'est pas la peine de me bondir dessus comme ça...
Je m'étais intéressé à ce topic par simple curiosité, et non par besoin, n'ayant pas de problème de fluidité.
Personnellement, je ne considère pas qu'une technologie est "au point" seulement quand elle marche, mais quand elle est facile à mettre en application. Tout le monde n'est pas informaticien...
Re: [Nvidia] Utiliser le GPU pour décoder du 1080p ? (résolu)
Publié : sam. 12 sept. 2009, 22:18
par benjarobin
Je suis désolé d'avoir "bondi", mais personne ne t'a demander d'editer le PKGBUID.
Pas besoin d'être informaticien (je n'en suis pas hein, je suis électronicien enfin je suis surtout étudiant, et des "vrais" informaticiens souvent ne connaisse pas grand chose...) pour faire yaourt mplayer-vdpau-nogui
De plus je ne sais pas si tu as un pc portable, mais c'est bien de penser à la batterie aussi

Re: [Nvidia] Utiliser le GPU pour décoder du 1080p ? (résolu)
Publié : sam. 12 sept. 2009, 22:45
par Guiux
En tout cas, si tu proposes sur AUR un paquet qui permet d'installer ça sans bidouille, je suis preneur...
Je n'ai pas le niveau pour créer des pkgbuild (par exemple, je ne sais même pas comment exploiter ceux que tu proposes ici...).
Re: [Nvidia] Utiliser le GPU pour décoder du 1080p ? (résolu)
Publié : sam. 12 sept. 2009, 22:58
par benjarobin
Bon la je crack as tu taper cette commance
yaourt mplayer-vdpau-nogui
et installer sans rien modifier. le paquet existe deja ! Il n'est pas nécessaire de le modifier... J'ai juste poster mes modifications pour ceux qui cela intéresserait (car mes modification creer un mplayer plus proche de celui d'origine, mais celui de AUR te conviendrai surement) et si tu veux les même modifications, lors de la demande de l'édition du PKGBUILD tu réponds oui et tu remplace tout par le mien.
Re: [Nvidia] Utiliser le GPU pour décoder du 1080p ? (résolu)
Publié : sam. 12 sept. 2009, 23:24
par Guiux
Ha, pourtant chez moi ça plante lors de l'installation de opencore-amr-git :
Code : Tout sélectionner
==> Starting build ...
/tmp/yaourt-tmp-guillaume/aur-opencore-amr-git/opencore-amr-git/./PKGBUILD: line 34: ./configure: Aucun fichier ou dossier de ce type
make: *** Pas de cibles spécifiées et aucun makefile n'a été trouvé. Arrêt.
==> ERREUR: La compilation a échoué.
Abandon...
Error: Makepkg n'a pas pu construire le paquetage opencore-amr-git.
Re: [Nvidia] Utiliser le GPU pour décoder du 1080p ? (résolu)
Publié : dim. 13 sept. 2009, 01:31
par benjarobin
Installe git, c'est une erreur de la personne ayant fait le paquet, il a oublié de configurer les dépendances pour créer le paquet. Et sinon je ne pouvais pas deviner que tu n'avais pas ce paquet.