Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 04-08-2020 05:31:03

unDebutant
Membre
Inscription : 04-08-2020

ffmpeg hevc_vaapi et 2 processeurs graphiques sur mon portable

Bonjour à tous.

Je cherche à utiliser la compression matérielle de mon processeur graphique radeon inutitlisé (je crois ???). Voici quelques infos sur ma machine suivies de la ligne de commande qui ne fonctionne pas...

Tout d'abord je n'ai installé que les xservers suivants :

$

apt list --installed *xserver*



x11-xserver-utils/stable,now 7.7+8 amd64  [installé, automatique]
xserver-common/stable,now 2:1.20.4-1 all  [installé, automatique]
xserver-xorg-core/stable,now 2:1.20.4-1 amd64  [installé, automatique]
xserver-xorg-input-all/stable,now 1:7.7+19 amd64  [installé, automatique]
xserver-xorg-input-libinput/stable,now 0.28.2-2 amd64  [installé, automatique]
xserver-xorg-input-wacom/stable,now 0.34.99.1-1 amd64  [installé, automatique]
xserver-xorg-legacy/stable,now 2:1.20.4-1 amd64  [installé, automatique]
xserver-xorg-video-dummy/stable,now 1:0.3.8-1+b1 amd64  [installé]
xserver-xorg/stable,now 1:7.7+19 amd64  [installé, automatique]



Comme vous le voyez je n'ai pas installé les severs vidéos suivants car je pense que ceux du noyau (modesetting) sont suffisants :

$

apt list  *server-xorg-video*



xserver-xorg-video-all/stable 1:7.7+19 amd64
xserver-xorg-video-amdgpu/stable 18.1.99+git20190207-1 amd64
xserver-xorg-video-ati/stable 1:19.0.1-1 amd64
xserver-xorg-video-cirrus/stable 1:1.5.3-1+b3 amd64
xserver-xorg-video-dummy/stable,now 1:0.3.8-1+b1 amd64  [installé]
xserver-xorg-video-fbdev/stable 1:0.5.0-1 amd64
xserver-xorg-video-intel/stable 2:2.99.917+git20180925-2 amd64
xserver-xorg-video-mach64/stable 6.9.6-1 amd64
xserver-xorg-video-mga/stable 1:2.0.0-1 amd64
xserver-xorg-video-neomagic/stable 1:1.3.0-1 amd64
xserver-xorg-video-nouveau/stable 1:1.0.16-1 amd64
xserver-xorg-video-openchrome/stable 1:0.6.0-3+b1 amd64
xserver-xorg-video-qxl/stable 0.1.5-2+b1 amd64
xserver-xorg-video-r128/stable 6.12.0-1 amd64
xserver-xorg-video-radeon/stable 1:19.0.1-1 amd64
xserver-xorg-video-savage/stable 1:2.3.9-2 amd64
xserver-xorg-video-siliconmotion/stable 1:1.7.9-2+b1 amd64
xserver-xorg-video-sisusb/stable 1:0.9.7-1+b1 amd64
xserver-xorg-video-tdfx/stable 1:1.4.7-1+b1 amd64
xserver-xorg-video-trident/stable 1:1.3.8-1+b1 amd64
xserver-xorg-video-vesa/stable 1:2.4.0-1 amd64
xserver-xorg-video-vmware/stable 1:13.3.0-2 amd64



Voici également quelques infos supplémentaires :

#

dmesg -H | grep -i error



[  +0,000005] ACPI BIOS Error (bug): Could not resolve [\_SB.PCI0.GFX0.DD02._BCL], AE_NOT_FOUND (20180810/psargs-330)
[  +0,000009] ACPI Error: Method parse/execution failed \_SB.PCI0.RP05.PEGP.DD02._BCL, AE_NOT_FOUND (20180810/psparse-516)



$

lspci -v



 00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
  Subsystem: Hewlett-Packard Company Haswell-ULT Integrated Graphics Controller
  Flags: bus master, fast devsel, latency 0, IRQ 45
  Memory at c2000000 (64-bit, non-prefetchable) [size=4M]
  Memory at b0000000 (64-bit, prefetchable) [size=256M]
  I/O ports at 7000 [size=64]
  [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
  Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
  Capabilities: [d0] Power Management version 2
  Capabilities: [a4] PCI Advanced Features
  Kernel driver in use: i915
  Kernel modules: i915
 0a:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430]
  Subsystem: Hewlett-Packard Company Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / Radeon 520 Mobile]
  Flags: bus master, fast devsel, latency 0, IRQ 46
  Memory at a0000000 (64-bit, prefetchable) [size=256M]
  Memory at c2400000 (64-bit, non-prefetchable) [size=256K]
  I/O ports at 3000 [size=256]
  Expansion ROM at c2440000 [disabled] [size=128K]
  Capabilities: [48] Vendor Specific Information: Len=08 <?>
  Capabilities: [50] Power Management version 3
  Capabilities: [58] Express Legacy Endpoint, MSI 00
  Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
  Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
  Capabilities: [150] Advanced Error Reporting
  Capabilities: [270] #19
  Kernel driver in use: radeon
  Kernel modules: radeon, amdgpu

$ lshw -c display
 *-display                
  description: VGA compatible controller
  produit: Haswell-ULT Integrated Graphics Controller
  fabriquant: Intel Corporation
  identifiant matériel: 2
  information bus: pci@0000:00:02.0
  version: 09
  bits: 64 bits
  horloge: 33MHz
  fonctionnalités: vga_controller bus_master cap_list rom
  configuration: driver=i915 latency=0
  ressources: irq:45 mémoire:c2000000-c23fffff mémoire:b0000000-bfffffff portE/S:7000(taille=64) mémoire:c0000-dffff
 *-display
  description: Display controller
  produit: Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430]
  fabriquant: Advanced Micro Devices, Inc. [AMD/ATI]
  identifiant matériel: 0
  information bus: pci@0000:0a:00.0
  version: 00
  bits: 64 bits
  horloge: 33MHz
  fonctionnalités: bus_master cap_list rom
  configuration: driver=radeon latency=0
  ressources: irq:46 mémoire:a0000000-afffffff mémoire:c2400000-c243ffff portE/S:3000(taille=256) mémoire:c2440000-c245ffff

$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x74 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 2 associated providers: 0 name:modesetting
Provider 1: id: 0x3f cap: 0x5, Source Output, Source Offload crtcs: 0 outputs: 0 associated providers: 0 name:modesetting



$

ls -l /dev/dri/



total 0
drwxr-xr-x  2 root root        120 août   4 04:27 by-path
crw-rw----+ 1 root video  226,   0 août   4 04:27 card0
crw-rw----+ 1 root video  226,   1 août   4 04:27 card1
crw-rw----+ 1 root render 226, 128 août   4 04:27 renderD128
crw-rw----+ 1 root render 226, 129 août   4 04:27 renderD129



je fais :

$

ffmpeg -i interstellarMmc.ts -vf crop=1920:800:0:140 -max_muxing_queue_size 1M -map v:0 -map a:0 -map a:2 -map s:0 -map s:1 -metadata:s:a:0 language=fr -metadata:s:a:1 language=en -metadata:s:s:0 language=frHi -metadata:s:s:1 language=fr -c:v libx265 -preset fast -x265-params crf=20 -c:a libvorbis -q:a 4 -c:s dvbsub /media/toto/3C25735176CA3A35/interstellarMmcFast20Q4.mkv; sync



cela donne un bon résultat mais la compression est un peu trop longue aussi je souhaiterais faire la même chose en utilisant la compression matérielle du processeur graphique radeon inutilisé (je crois ???) avec le codec hevc_vaapi.

J'ai relevé sur le site de ffmpeg "Encode with 10-bit H.265 at 15Mbps VBR (recent hardware required - Kaby Lake or later Intel):" (adresse : https://trac.ffmpeg.org/wiki/Hardware/VAAPI) la ligne suivante dont j'ai modifié le "renderD128" en "renderD129" correspondant au processeur radeon :

$

ffmpeg -vaapi_device /dev/dri/renderD129 -i interstellarMmc.ts -vf 'format=p010,hwupload' -c:v hevc_vaapi -b:v 15M -profile 2 /media/toto/3C25735176CA3A35/essai.mkv



qui donne comme erreur:

hevc_vaapi @ 0x55feaad54f40] No usable encoding profile found.
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[libvorbis @ 0x55feaad7de40] 37 frames left in the queue on closing
Conversion failed!



Si quelqu'un s'est à déjà fait le truc cad la compression matérielle afin d'utiliser son deuxième processeur graphique plus puissant et inutilisé (je crois ???) son aide serait la bienvenue. Merci d'avance.
A plus.

Edit à toto : Pour que la lecture du code sur le forum soit lisible par tous, il faut utiliser le BBCode. :)
Oh, quel beau BB …code où comment mettre en forme vos messages dans le fofo

Hors ligne

#2 04-08-2020 08:31:21

golgot200
Membre
Distrib. : Archlinux 2018-02-03
Noyau : Linux 5.7.11-arch1-1
(G)UI : Mate (Strict Minimum)
Inscription : 05-08-2007

Re : ffmpeg hevc_vaapi et 2 processeurs graphiques sur mon portable

Bonjour,

que donne le retour de cette commande :

ffmpeg  -hide_banner -encoders | grep vaapi



?

Hors ligne

#3 07-08-2020 09:42:10

unDebutant
Membre
Inscription : 04-08-2020

Re : ffmpeg hevc_vaapi et 2 processeurs graphiques sur mon portable

Tout d'abord merci de m'avoir répondu.

Voici le résultat de la commande demandée :

$ ffmpeg  -hide_banner -encoders | grep vaapi
   V..... h264_vaapi           H.264/AVC (VAAPI) (codec h264)
   V..... hevc_vaapi           H.265/HEVC (VAAPI) (codec hevc)
   V..... mjpeg_vaapi          MJPEG (VAAPI) (codec mjpeg)
   V..... mpeg2_vaapi          MPEG-2 (VAAPI) (codec mpeg2video)
   V..... vp8_vaapi            VP8 (VAAPI) (codec vp8)
   V..... vp9_vaapi            VP9 (VAAPI) (codec vp9)

Si vous avez d'autes infos à demander ou à lire n'hésitez pas !
Merci d'avance.

Hors ligne

#4 10-08-2020 08:59:37

unDebutant
Membre
Inscription : 04-08-2020

Re : ffmpeg hevc_vaapi et 2 processeurs graphiques sur mon portable

Bonjour à tous.

Il semblerait que vaapi ne fonctionne qu'avec un pilote amdgpu et non radeon.
Si vous avez des infos n'hésitez pas.
A plus.

Hors ligne

Pied de page des forums