Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/03/2021, à 00: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, à 13:17)


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#2 Le 27/03/2021, à 02: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: Triple-Boot (Custom) : MS-7823 (MSI B85M-G43) | CPU:  Intel i7 4790k | RAM:  8 Go | GPU:  Nvidia Geforce GTX 970 | DE: Cinnamon
Windows 10 Pro 22H2 // VoidLinux // ArchLinux
PC #2 :(Custom) :  Linux Mint 21.3 | 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, à 06: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, à 10:52)


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#4 Le 27/03/2021, à 09: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 roll
    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 ...  yikes 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 tongue , la Derniere compil avant le grand final lol , 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, à 14:18)


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#5 Le 28/03/2021, à 12:52

iznobe

Re : [ RESOLU ] comment installer intel quick sync QSV dans handbrake ?

Salut ,

bon finalement j ' ai fini par reussir lolroll

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 lol ...

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, à 15:52)


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#6 Le 29/03/2021, à 13: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 mad

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 hmm

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, à 08:53)


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#7 Le 30/03/2021, à 22: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.

iznobe a écrit :

Cependant , la qualité des images a l' air un peu moins bonne qu ' avec le processeur hmm

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: Triple-Boot (Custom) : MS-7823 (MSI B85M-G43) | CPU:  Intel i7 4790k | RAM:  8 Go | GPU:  Nvidia Geforce GTX 970 | DE: Cinnamon
Windows 10 Pro 22H2 // VoidLinux // ArchLinux
PC #2 :(Custom) :  Linux Mint 21.3 | 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, à 12: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, à 14: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 wink


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne