Ouvrir le menu principal

MacGeneration

Recherche

FFmpeg 4.0 prend mieux en charge les cartes graphiques

Nicolas Furno

lundi 23 avril 2018 à 17:30 • 9

Logiciels

Grosse mise à jour pour FFmpeg, l’outil en ligne de commande de décodage et d’encodage vidéo open-source qui est certainement l’un des plus courants et utilisés à l’heure actuelle. Même si vous l’ignorez, il est souvent utilisé comme base pour d’autres apps, comme le lecteur vidéo mpv et sa variante plus grand public IINA que nous évoquons régulièrement. Une version 4.0 est sortie pendant le week-end et la liste de nouveautés est, comme toujours, très longue.

À la base, FFmpeg est un outil en ligne de commande, à utiliser dans un terminal, mais de nombreuses apps l’exploitent avec une interface.

Plusieurs nouveautés concernent les cartes graphiques et leur prise en charge pour décoder ou encoder les fichiers. Sans cela, FFmpeg repose sur le processeur, mais exploiter les cartes graphiques a plusieurs avantages. Elles sont en général parfaitement optimisées pour cette tâche et peuvent ainsi le faire plus rapidement et en nécessitant moins de puissance, ce qui est utile sur un portable.

L’outil pouvait déjà faire certaines tâches, la version 4.0 complète la prise en charge. Du côté de Nvidia, elle intègre NVDEC pour décoder avec le matériel la plupart des codecs du moment, y compris le HEVC/H.265 qui nécessite plus de puissance en écriture comme en lecture. Pour AMD, FFmpeg ajoute les encodeurs AMD pour le H.264 et le H.265, ce qui permet de convertir des vidéos dans ces codecs en utilisant la carte graphique plutôt que le processeur.

Malheureusement, ces deux fonctions ne sont pas disponibles, a priori, sur les Mac. Apple boude Nvidia depuis des années et même si le constructeur de cartes graphiques propose ses propres pilotes pour macOS, les fonctions d’encodage et de décodage matériel des vidéos sont réservées à Windows et Linux. Si macOS ne gère pas les pilotes spécifiques publiés par AMD et Nvidia, c’est peut-être aussi parce qu’Apple intègre à son système de quoi bénéficier de l’accélération matérielle pour décoder et encoder des vidéos.

Comme le montre cette page du wiki publié par FFmpeg, on peut utiliser VideoToolbox, un framework fourni aux développeurs pour utiliser la carte graphique plutôt que le processeur. Et la différence est impressionnante. Ajoutez le paramètre -c:v h264_videotoolbox pour forcer l’utilisation de ce framework avec FFmpeg. Voici au minimum ce que vous devrez utiliser :

ffmpeg -i video.mp4 -c:v h264_videotoolbox out.mp4

Même si le processeur est toujours bien utilisé, la différence de temps de traitement est phénoménale, surtout si votre Mac est récent. Nous avons testé avec un MacBook Pro 15 pouces de 2017 : alors qu’il fallait autour de 40 secondes pour convertir une vidéo HEVC filmée à l’iPhone1 en H.264, l’option permet de réduire ce temps de traitement à 6 secondes seulement. Même sur un MacBook Pro 13 pouces Retina de 2014 équipé seulement d’un circuit graphique Intel, la différence reste spectaculaire : moins de 15 secondes avec VideoToolbox, contre plus d’une minute trente sans l’option.

Autant dire que c’est une option bien utile, avec des temps de conversion entre six et sept fois moins importants selon les Mac. Précisons que la version 4.0 qui vient de sortir ajoute aussi la prise en charge du H.265 pour l’encodage. C’était l’une des nouveautés de macOS High Sierra et FFmpeg la gère à son tour, même s’il faudra probablement compiler l’outil vous même pour ajouter le bon encodeur2. Cela permettra à terme de convertir les vidéos en bénéficiant de l’accélération matérielle et du meilleur codec du moment, avec une meilleure qualité à poids de fichier égal, ou un poids de fichier plus léger à qualité visuelle égale.

Notons que cette solution fournie par Apple n’est pas aussi souple que celles que l’on a sur Linux et Windows. Par exemple, sur le hackintosh que j’ai monté à l’été 2016, je ne peux pas utiliser la carte graphique de Nvidia présente dans l’ordinateur. VideoToolbox ne la prend pas en charge puisqu’il ne s’agit pas d’une carte AMD, et l’encodage matériel fourni par Nvidia n’est pas disponible sur macOS.

Si vous voulez découvrir FFmpeg sur macOS, vous pouvez télécharger la dernière version à cette adresse, mais le mieux serait de passer par le gestionnaire de paquets HomeBrew. Voici les deux lignes de commande à saisir si vous n’aviez jamais utilisé ces deux outils :

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install ffmpeg

  1. Vidéo 1080p 60 FPS de 20 secondes. ↩︎

  2. La version fournie par Homebrew ne dispose pas du bon encodeur, et il n’est pas possible de l’ajouter pour le moment. Seule solution à court terme : télécharger le code-source et le compiler avec la bonne configuration. ↩︎

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Apple insiste pour aider Google dans son procès, et fait appel de la décision de la cour de justice

31/01/2025 à 21:00

• 3


Première grosse mise à jour de MainStage depuis 2023

31/01/2025 à 20:00

• 3


Le CEC fonctionne en HDMI sur les Mac M3 et M4

31/01/2025 à 18:30

• 18


Caldigit met quatre ports Thunderbolt 5 dans une minuscule station d’accueil

31/01/2025 à 17:00

• 16


NordVPN veut simplifier la connexion à son service sur les réseaux bloquant les VPN

31/01/2025 à 15:00

• 20


Promo : MacBook Air M3 avec 16/512 Go à seulement 1 209 € (-320 €)

31/01/2025 à 14:59

• 10


Passez à Microsoft Office pour moins de 40 € avec les soldes d'hiver 2025 de Godeal24 📍

31/01/2025 à 14:23


Orange commence à démanteler son réseau ADSL en France

31/01/2025 à 12:37

• 69


Magazine des 25 ans : plus que quelques jours pour précommander votre exemplaire

31/01/2025 à 10:30

• 9


2,35 milliards d’appareils Apple actifs dans le monde

31/01/2025 à 10:20

• 32


Comment empêcher son MacBook de démarrer automatiquement à l'ouverture de l'écran ou au branchement sur secteur

31/01/2025 à 07:37

• 69


Résultats Apple T1 2025 : l'iPad et le Mac à la fête, l'iPhone en difficulté

30/01/2025 à 23:10

• 117


Le Pentagone bloque l’accès à DeepSeek à ses employés, après avoir constaté de nombreux accès au chatbot

30/01/2025 à 21:45

• 24


Payer son ticket avec sa carte bancaire dans les transports parisiens, ce n’est pas pour demain

30/01/2025 à 21:29

• 72


Le fondateur de TSMC explique pourquoi Apple a abandonné Intel

30/01/2025 à 15:01

• 34


Meta accepte de payer 25 millions de dollars à Donald Trump pour avoir banni ses comptes en 2021

30/01/2025 à 12:17

• 101