Je regarde régulièrement des fichiers MKV avec des vidéos H.264 1080p sur mon MBP retina 15" (fin 2013, GPU Intel uniquement), et jusqu'à présent, je le faisais en utilisant la dernière version de VLC. Malheureusement, la batterie se vide assez rapidement avec cette configuration et j'ai décidé de chercher des alternatives. En essayant d'être un peu scientifique, j'ai créé une feuille de calcul listant le temps CPU utilisé (vérifié dans Activity Monitor) pour chaque alternative que j'ai testée. Pour tous les tests, j'ai lu la première minute d'un clip vidéo de mon choix, avec une vidéo H.264 1080p et un son DTS, ainsi qu'un remuxing au format M4V à l'aide de MP4Tools, et un transcodage de l'audio en AAC 2 canaux (la vidéo n'a pas été modifiée). J'ai mesuré le temps CPU utilisé après la lecture de la première minute du clip dans Activity Monitor. Les tests ont été effectués avec l'ordinateur branché sur le secteur et la résolution réglée sur 1920 x 1200 (rappelons qu'il s'agit d'un MBP 15" retina). La vidéo était lue au premier plan, en mode fenêtré, maximisée pour utiliser toute la résolution horizontale disponible.
La référence est QuickTime Player, qui lit la version M4V du fichier, avec un décodage accéléré par le matériel supposé être activé. Cette opération a consommé 4,51 secondes d'unité centrale.
En utilisant VLC version 2.12, j'ai obtenu les résultats suivants :
- Fichier MKV, décodage logiciel : 28,89 secondes CPU ;
- Fichier MKV, décodage accéléré par le matériel : 22,82 secondes CPU ;
- Fichier M4V, décodage logiciel : 29,76 secondes CPU ;
- Fichier M4V, décodage accéléré par le matériel : 22,44 secondes CPU.
Dans MPlayerX version 1.0.21 (1718), j'ai obtenu les résultats suivants (aucune mention n'est faite de l'accélération matérielle car je n'ai pas trouvé de moyen de l'activer ou de la désactiver, et je n'ai aucune idée du comportement par défaut) :
- Fichier MKV : 15,92 secondes CPU ;
- Fichier M4V : 15,74 secondes CPU.
Enfin, j'ai essayé la version 1.3.3 de Movist, qui permet d'utiliser QuickTime ou FFmpeg comme décodeur, et qui dispose également d'une case à cocher pour l'accélération matérielle. Cependant, je n'ai pas réussi à décoder la version MKV du fichier à l'aide du décodeur QuickTime. Les résultats sont les suivants :
- Fichier MKV, décodage logiciel, décodeur FFmpeg : 31,96 secondes CPU ;
- Fichier MKV, décodage accéléré, décodeur FFmpeg : 8,31 secondes CPU ;
- Fichier M4V, décodage logiciel, décodeur FFmpeg : 30,73 secondes CPU ;
- Fichier M4V, décodage accéléré, décodeur FFmpeg : 9,04 secondes CPU ;
- Fichier M4V, décodage logiciel, décodeur QuickTime : 37,03 secondes CPU ;
- Fichier M4V, décodage accéléré, décodeur QuickTime : 8,12 secondes CPU.
Comme on peut le voir, Movist utilisant le décodeur FFmpeg et le décodage accéléré par le matériel est l'alternative la plus efficace par rapport à VLC ou MPlayerX, mais reste nettement moins efficace que QuickTime pour décoder les fichiers M4V. La solution idéale serait de lire les MKV sous QuickTime Player, mais il semble que Perian ne fonctionne plus sous Mavericks.