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. ↩︎

illustration magazine 25 ans

MacGeneration a 25 ans !

Participez à la fête et découvrez l’histoire de votre site favori en précommandant notre magazine exclusif.

Je précommande le magazine

Incogni : une promotion fantastique pour le Black Friday, foncez ! 📍

11:35


Tim Cook revient en Chine pour la 3e fois de l'année

11:20

• 2


Outlook, Exchange et le calendrier de Teams sont en panne

11:11

• 8


Black Friday : de grosses remises sur les Magic Mouse (60 €) et Magic Keyboard USB-C

10:10

• 4


Les haut-parleurs des MacBook Pro 14" et 16" Apple Silicon seront moins couteux à réparer

09:48

• 0


Google Chrome : ça vaut combien ?

08:43

• 22


Entre l’Apple TV, l’AirPods Max et Intel, la semaine d’Apple ne manque pas de rebondissements

07:55


Les meilleures promos du Black Friday : AirPods Pro 2 et serrure HomeKit à 199 €, Apple Pencil…

24/11/2024 à 19:05

• 20


Black Friday : MacBook Air M2 à 879 € et M3 dès 979 €

24/11/2024 à 18:45

• 7


Black Friday : les AirPods Pro 2 maintenant à 199 €, un prix jamais vu 🆕

24/11/2024 à 12:56


La maison au soleil : test du système SOLIX d’Anker, le solaire avec batterie

24/11/2024 à 10:04


Apple et la mémoire flash, une longue histoire d'amour

23/11/2024 à 11:00

• 27


Sortie de veille : télé Apple et iPhone 17 ultra-fin, des rumeurs folles ou crédibles ?

23/11/2024 à 08:00

• 0


Intrusion informatique, quand une entreprise joue le jeu de la communication ouverte

22/11/2024 à 20:45

• 17


Le SSD de certains MacBook Pro M4 Max atteint presque 11 Go/s

22/11/2024 à 20:30

• 18


Test du système mesh Wi-Fi 7 Netgear Orbi 970 : une poignée de mégabits, pour quelques centaines d’euros de plus

22/11/2024 à 17:00

• 13