#1 Le 26/03/2021, à 23:39
- iznobe
[ RESOLU ] comment installer intel quick sync QSV dans handbrake ?
Bonjour ,
j ' ai vu sur le net que handbrake etait capable d ' utiliser les proprietés des cartes graphiques integrées aux CPU intel , ce qui ameliore la vitesse d ' encodage des videos sur du x264 et du x265 .
Comment faire en sorte de pouvoir utiliser cela car vu la configuration , a priori ca n' est pas pris en charge directement ou bien j ' ai zappé la chose .
Pouvez vous m' eclairé svp ?
Dernière modification par iznobe (Le 29/03/2021, à 12:17)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#2 Le 27/03/2021, à 01:33
- alv37
Re : [ RESOLU ] comment installer intel quick sync QSV dans handbrake ?
Slt, selon la doc c'est activer par défaut dans l'onglet vidéo mais il faut un CPU sous Skylake (6ème Génération) ou plus récent sinon l'option est désactiver (et je suppose, même si c'est pas écrit noir sur blanc, ne fonctionnera pas) .
Ensuite dans la liste codec Vidéo tu devrais l'avoir à coté du codec choisit, par exemple H.265 (QSV).
Comme tu peut le voir je parle au conditionnel car j'ai un CPU sous Haswell (4ème Génération) et donc chez moi ça n'apparait pas.
PC #1: Dual-Boot (Custom) : MS-7823 (MSI B85M-G43) | CPU: Intel i7 4790k | RAM: 8 Go | GPU: Nvidia Geforce GTX 970 | DE: Cinnamon
VoidLinux // ArchLinux
PC #2 :(Custom) : Linux Mint 22 | DE: Cinnamon | MB: Gigabyte GA-G31M-ES2L v2 | CPU: Intel Pentium D 915 | RAM: 4 Go | GPU: Intel 82G33/G31 Express Integrated Graphics
Hors ligne
#3 Le 27/03/2021, à 05:52
- iznobe
Re : [ RESOLU ] comment installer intel quick sync QSV dans handbrake ?
Bonjour , et merci pour cette info cependant je pense que le processeur est censé prendre en charge vu que c ' est un i7 10700 avec IGP intel UHD graphics 630 :
iznobe@iznobe-PC:~$ inxi -C
CPU:
Topology: 8-Core model: Intel Core i7-10700 bits: 64 type: MT MCP
L2 cache: 16.0 MiB
Speed: 3300 MHz min/max: 800/4800 MHz Core speeds (MHz): 1: 3262 2: 3262
3: 3261 4: 3261 5: 3261 6: 3261 7: 3260 8: 3260 9: 3262 10: 3262 11: 3262
12: 3261 13: 3261 14: 3261 15: 3261 16: 3261
iznobe@iznobe-PC:~$
iznobe@iznobe-PC:~$ inxi -G
Graphics:
Device-1: Intel CometLake-S GT2 [UHD Graphics 630] driver: i915 v: kernel
Display: x11 server: X.Org 1.20.9 driver: modesetting unloaded: fbdev,vesa
resolution: 1920x1080~60Hz
OpenGL: renderer: Mesa Intel UHD Graphics 630 (CML GT2) v: 4.6 Mesa 20.2.6
iznobe@iznobe-PC:~$
Pourtant je ne peux selectionner aucun codec (QSV) et d ' ailleurs il n ' en apparait aucun dans la liste des codes disponibles en (QSV) .
Dernière modification par iznobe (Le 27/03/2021, à 09:52)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#4 Le 27/03/2021, à 08:24
- iznobe
Re : [ RESOLU ] comment installer intel quick sync QSV dans handbrake ?
bon , d ' apres la doc de handbrake : https://handbrake.fr/docs/en/1.3.0/deve … buntu.html il faut recompiler handbrake avec l' option enabled QSV ...
a l ' heure d' aujourd ' hui , ca semble quand meme un peu aberant que le script d' install ne detecte pas les GPU et leurs capacité a ameliorer les choses grace a l ' acceleration materielle que ca soit pour intel , nvidia ou ati , vu que l' utilisateur en plus a le choix lors de l ' encodage ...
cela fonctionne sous ubuntu 20.04 et 21.04 budgie ( 64 bit ) .
bref , si j' ai bien compris , il faut :
* desinstaller handbrake
sudo apt remove --purge handbrake
* installer les dependances necessaires pour la compilation :
sudo apt update
sudo apt install autoconf automake autopoint build-essential cmake git libass-dev libbz2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libharfbuzz-dev libjansson-dev liblzma-dev libmp3lame-dev libnuma-dev libogg-dev libopus-dev libsamplerate-dev libspeex-dev libtheora-dev libtool libtool-bin libvorbis-dev libx264-dev libxml2-dev libvpx-dev m4 make nasm ninja-build patch pkg-config python tar zlib1g-dev meson libva-dev libdrm-dev
pour la GUI :
sudo apt install gstreamer1.0-libav intltool libappindicator-dev libdbus-glib-1-dev libglib2.0-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk-3-dev libgudev-1.0-dev libnotify-dev libwebkit2gtk-4.0-dev
/***************************************************************************************/
* installer git-Large-File-System ( semble indispensable pour Intel QSV) :
1°)
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
2°)
sudo apt update
3°)
sudo apt install git-lfs=2.13.3
/***************************************************************************************/
* installer mediaSDK :
https://github.com/Intel-Media-SDK/Medi … w-to-build
le mieux est de partir sur un dossier dedié et se placé à l' interieur , donc:
cd ~ && mkdir workspace && cd workspace
Pour cela il faut d' abord installer d ' autres paquets et compiler le tout , ca se corse un peu
1°) installer libva : https://github.com/intel/libva
telecharger sur git et entrer dans le dossier :
git clone https://github.com/intel/libva && cd libva
installer la bibliotheque :
sudo bash ./autogen.sh
make
ou
sudo make
si une erreur de permission apparait
2°) installer Intel(R) Graphics Memory Management Library : https://github.com/intel/gmmlib
revenir dans le dossier workspace :
cd ~/workspace
telecharger sur git et entrer dans le dossier :
git clone https://github.com/intel/gmmlib && cd gmmlib
installer la bibliotheque :
mkdir build && cd build
cmake [-DCMAKE_BUILD_TYPE=ReleaseInternal] [-DARCH= 64] ..
make -j"$(nproc)"
comme c ' est une bibliotheque dynamique il n ' y a pas d ' installation plus que ca , ca se fait en interne et ca va servir a installer le paquet principal du pilote pour mediaSDK .
3°) installer Intel(R) Media Driver for VAAPI : https://github.com/intel/media-driver
installer les paquets necessaires :
sudo apt install autoconf libtool libdrm-dev xorg xorg-dev openbox libx11-dev libgl1-mesa-glx libgl1-mesa-dev
revenir dans le dossier workspace :
cd ~/workspace
telecharger sur git et entrer dans le dossier :
git clone https://github.com/intel/media-driver
creer le repertoire de build et entrer dedans:
mkdir build_media && cd build_media
cmake ../media-driver
lancer la compilation :
make -j"$(nproc)"
lancer l' installation :
sudo make install
et pour finir 2 lignes pour les variables d' environnement :
export LIBVA_DRIVERS_PATH=<path-contains-iHD_drv_video.so>
export LIBVA_DRIVER_NAME=iHD
4°) Maintenant on peut veritablement passer a l ' installation du mediaSDK : https://github.com/Intel-Media-SDK/MediaSDK
telecharger sur git et entrer dans le dossier :
git clone https://github.com/Intel-Media-SDK/MediaSDK msdk
cd msdk
creer le repertoire de build et entrer dedans :
mkdir build && cd build
lancer la prepa de compilation :
cmake ..
compiler :
make -j"$(nproc)"
installer :
sudo make install
/***************************************************************************************/
* Configuration de l' environnement : https://github.com/Intel-Media-SDK/Medi … -on-Ubuntu
sudo apt-get install libmfx1 libmfx-tools
en fonction de votre environnement graphique :
sudo apt-get install libva-drm2 libva-x11-2 libva-wayland2 libva-glx2
modification de variables d ' environnement :
export LIBVA_DRIVER_NAME=iHD
De façon a verifier si a ce stade tout s ' est bien passé , il faut :
sudo apt install vainfo
puis :
vainfo
qui devrait renvoyer un retour dans le genre de :
vainfo # running on SKL
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.4 (libva 2.4.0)
vainfo: Driver version: Intel iHD driver - 1.0.0
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
Si jusque là tout est ok , il est facile de verifier le fonctionnement du package en lancant ces quelques lignes de commandes :
export LIBVA_DRIVER_NAME=iHD
wget https://fate-suite.libav.org/h264-conformance/AUD_MW_E.264
# Decode H.264 video stream w/ maximum speed
/usr/share/mfx/samples/sample_decode h264 -i AUD_MW_E.264
# Decode H.264 video stream and dump output YUV
/usr/share/mfx/samples/sample_decode h264 -i AUD_MW_E.264 -o AUD_MW_E.yuv -i420
# You can verify the result comparing with the following checksum:
# sha1sum AUD_MW_E.yuv
e17a3f8cfeeeb1cc46218c3c797d24dd84e82b59 AUD_MW_E.yuv
# Encode H.264 stream w/ Low Power encoder on gen9+ (skl+)
/usr/share/mfx/samples/sample_encode h264 \
-w 176 -h 144 -f 30 -cqp -qpi 30 -qpp 30 -qpb 30 -qsv-ff \
-i AUD_MW_E.yuv -o encoded_AUD_MW_E.264
Maintenant il faut installer un pilote suplementaire de façon a obtenir les fonctions quick sync il faut a priori installer le pilote non free de intel ... qui va rajouter les profils d ' encodage et de decodage adequate :
sudo apt install intel-media-va-driver-non-free
verifiable avec la commande :
vainfo # running on SKL
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.4 (libva 2.4.0)
vainfo: Driver version: Intel iHD driver - 1.0.0
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointFEI
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointFEI
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointFEI
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
Pour revenir a la version limité et au pilote opensource :
sudo apt-get install intel-media-va-driver
* Allez hop , pendant qu' on est chaud , la Derniere compil avant le grand final , configuration de ffmpeg : https://github.com/Intel-Media-SDK/Medi … FFmpeg-QSV
export des variables d' environnement :
export LIBVA_DRIVERS_PATH=/path/to/iHD_driver
export LIBVA_DRIVER_NAME=iHD
export LD_LIBRARY_PATH=/path/to/msdk/lib
export PKG_CONFIG_PATH=/path/to/msdk/lib/pkgconfig
installation des paquets indispensables :
sudo apt install libva-dev libmfx-dev intel-media-va-driver-non-free libsdl2-dev
export LIBVA_DRIVER_NAME=iHD
Maintenant que tout est en place , on passe a la compilation :
telecharger le repo ffmpeg et entrer dans le dossier :
git clone https://github.com/ffmpeg/ffmpeg && cd ffmpeg
configuration :
./configure --arch=x86_64 --disable-yasm --enable-vaapi --enable-libmfx
compilation :
make -j"$(nproc)"
installation :
sudo make install
Et voilà c ' est deja fini MDR !! il ne reste plus qu ' a passer a la compilation de handbrake .
/***************************************************************************************/
* compiler et installer handbrake :
1°) telecharger le repo et entrer dans le repertoire telechargé :
git clone https://github.com/HandBrake/HandBrake.git && cd HandBrake
2°) selectionner la derniere version de la branche 1.3 :
git tag --list | grep ^1\.3\.
git checkout refs/tags/$(git tag -l | grep -E '^1\.3\.[0-9]+$' | tail -n 1)
3°) lancer la compilation avec intel QSV activé + GUI :
./configure --launch-jobs=$(nproc) --launch --enable-qsv --force
sans l ' interface graphique :
./configure --launch-jobs=$(nproc) --launch --enable-qsv --force --disable-gtk
4°) pour installer sur le system :
sudo make --directory=build install
5°) vous pouvez supprimer le fichier build si vous le desirez :
rm -rf build
A priori un redemarrage est necessaire !
Dernière modification par iznobe (Le 20/05/2021, à 13:18)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#5 Le 28/03/2021, à 11:52
- iznobe
Re : [ RESOLU ] comment installer intel quick sync QSV dans handbrake ?
Salut ,
bon finalement j ' ai fini par reussir
j ' editerai le message precedent pour la finalisation de la procedure , loin d' etre simple quand on est pas habitué , mais ca forme a la compilation ...
J ' espere que ca servira a d' autres vu que maintenant tout les processeurs intel sont quasiement doté d' un iGPU ca serait dommage de ne pas utiliser ses capacités , niveau encodage , je n' ai pas encore testé et j ' espere que lees devs vont faire en sorte d ' ameliorer la prise en charge et les capacités de ces iGPU au fil du temps .
Si besoin je donnerai les resultats de mes tests d ' encodage si ca interresse .
Dernière modification par iznobe (Le 28/03/2021, à 14:52)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#6 Le 29/03/2021, à 12:24
- iznobe
Re : [ RESOLU ] comment installer intel quick sync QSV dans handbrake ?
Bonjour ,
apres un bon gros test sur du 3840 * 2160 P , en HEVC (x265) 10 bits HDR sur un film de plus de 2 h 30 m en 2 passes , il me fallait auparavant 96 heures
Avec QSV quality a fond et meme parametres partout , il me faut un peu moins de 10 heures !!!!!
c' est a dire 10 fois moins de temps ! enorme la difference et le proc n e tourne plus qu ' à 10 % bref vraiment de la balle .:D
Cependant , la qualité des images a l' air un peu moins bonne qu ' avec le processeur
Mais j' ai vu qu ' en ce moment des devs qui sont sur handbrake sont en train de permettre d ' avoir des reglalges plus poussés sur les differents types d' acceleration hardware .
Je pense donc qu ' il ne tarderont pas a nous sortir une nouvelle version sur laquelle on pourra mieux gerer les reglages et produire un encodage de qualité , mais en beaucoup moins de temps , vivement que ca sorte !
Du coté d ' intel , pour avoir des infos sur le sujet , je ne sais pas trop comment m ' y prendre malheureusement .
j ' espere juste qu ils vont ameliorer leur prise en charge pour faire de l' encodage de plus haute qualité car d' apres mes recherches , c ' est plus fait pour du materiel avec un niveau de resolution faible , type smartphone tablette streaming etc ...
Dernière modification par iznobe (Le 31/03/2021, à 07:53)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#7 Le 30/03/2021, à 21:14
- alv37
Re : [ RESOLU ] comment installer intel quick sync QSV dans handbrake ?
Je reviens un peu après, j'étais pas mal occupé, c'est cool d'avoir trouvé comment l’ajouter (et merci pour le "tuto" ça sera très utile) c'est juste un peu dommage de devoir recompiler le paquet, espéreront qu'ils feront une mise à jour où ça sera directement dans le paquet de base.
Cependant , la qualité des images a l' air un peu moins bonne qu ' avec le processeur
C'est un des inconvenants de encodage via GPU c'est pas terrible niveau qualité mais niveau vitesse on fait pas mieux^^
Probablement que ça s’améliora avec le temps.
PC #1: Dual-Boot (Custom) : MS-7823 (MSI B85M-G43) | CPU: Intel i7 4790k | RAM: 8 Go | GPU: Nvidia Geforce GTX 970 | DE: Cinnamon
VoidLinux // ArchLinux
PC #2 :(Custom) : Linux Mint 22 | DE: Cinnamon | MB: Gigabyte GA-G31M-ES2L v2 | CPU: Intel Pentium D 915 | RAM: 4 Go | GPU: Intel 82G33/G31 Express Integrated Graphics
Hors ligne
#8 Le 31/03/2021, à 11:48
- Funix
Re : [ RESOLU ] comment installer intel quick sync QSV dans handbrake ?
C'est bizarre cette histoire de moindre qualité avec un encodage via GPU, je ne vois pas personnellement de différence (j'ai un GPU NVIDIA) si ce n'est le temps d'encodage, bien sûr
FUNIX - https://www.funix.org
Mettez un pingouin dans votre PC
Blog - https://olivier.hoarau.org
Hors ligne
#9 Le 20/05/2021, à 13:17
- iznobe
Re : [ RESOLU ] comment installer intel quick sync QSV dans handbrake ?
Bonjour , peut etre que nvidia gere mieux le truc que intel ...
j ' ai fait 2 3 modifs sur des petites erreurs ou oubli sur les commandes , ca devrait etre bon maintenant , je viens de verifier et ca marche aussi pour ubuntu 21.04
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne