Lecteur MKV H.264 efficace avec décodage GPU pour Mac OS X


6

Comment puis-je lire des fichiers MKV à partir de QuickTime dans Mavericks?

J'avais l'habitude d'utiliser Perian, mais il se bloque et les autres lecteurs tiers sont très inefficaces, car QuickTime est le logiciel le plus optimisé parmi ceux que j'ai analysés.


Vous avez des recherches étonnantes ici, mais je pense que peu tenteront d’y répondre. Seriez-vous ouvert à une simplification dramatique de la question et que vous transfériez l'essentiel du travail en réponse?
bmike

OK, je vais commencer à le faire dans quelques heures.
swineone

Ceci est une non-réponse car cela évite complètement le problème: si j'ai besoin de regarder beaucoup de films sur batterie (par exemple, un long trajet en avion), je transcodage mes MKV au format MOV + H.264 au préalable sur mon serveur multimédia.
Kevin Chen

Réponses:


8

Je regarde régulièrement des fichiers MKV avec des vidéos H.264 1080p sur ma rétine MBP 15 "(fin 2013, GPU Intel uniquement), et je l’utilisais jusqu’à présent avec la dernière version de VLC. Malheureusement, la batterie se décharge rapidement avec cette configuration. et j’ai décidé d’enquêter sur les alternatives. En essayant d’être un peu scientifique, j’ai créé un tableur répertoriant le temps CPU utilisé (vérifié dans Activity Monitor) pour chaque alternative que j’ai testée. Pour tous les tests, j’ai joué la première minute d’une vidéo. Le clip de mon choix, avec la vidéo H.264 1080p et l'audio DTS, ainsi que le remuxage au format M4V à l'aide de MP4Tools, puis le transcodage de l'audio au format AAC à 2 canaux (la vidéo n'a pas été modifiée). J'ai mesuré le temps de calcul 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 AC,et la résolution réglée à 1920 x 1200 (rappelons qu'il s'agit d'une rétine MBP de 15 "). 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 le décodage accéléré par le matériel censé être activé. Cela a utilisé 4,51 secondes CPU.

En utilisant la version 2.12 de VLC, j'ai obtenu les résultats suivants:

  • Fichier MKV, décodage logiciel: 28,89 secondes CPU;
  • Fichier MKV, décodage accéléré: 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 ne pouvais pas trouver un 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é Movist version 1.3.3, qui prend en charge l'utilisation de QuickTime ou de FFmpeg en tant que décodeur, et dispose également d'une case à cocher pour l'accélération matérielle. Cependant, je n'ai pas pu décoder la version MKV du fichier à l'aide du décodeur QuickTime. Les résultats sont:

  • Fichier MKV, décodage logiciel, décodeur FFmpeg: 31,96 secondes CPU;
  • Fichier MKV, décodage avec accélération matérielle, décodeur FFmpeg: 8,31 secondes CPU;
  • Fichier M4V, décodage logiciel, décodeur FFmpeg: 30,73 secondes CPU;
  • Fichier M4V, décodage avec accélération matérielle, décodeur FFmpeg: 9,04 secondes CPU;
  • Fichier M4V, décodage logiciel, décodeur QuickTime: 37,03 secondes CPU;
  • Fichier M4V, décodage avec accélération matérielle, décodeur QuickTime: 8,12 secondes CPU.

Comme on peut le constater, l’utilisation du décodeur FFmpeg et du décodage accéléré par Movist est l’alternative la plus efficace par rapport à VLC ou MPlayerX, mais elle reste nettement moins efficace que QuickTime pour le décodage de fichiers M4V. La solution idéale serait de jouer MKV sous QuickTime Player, mais il semble que Perian ne fonctionne plus dans Mavericks.


5

Donnez un coup de MPV . Le projet se trouve sur github si vous souhaitez compiler votre propre version. Des informations sur la compilation peuvent être trouvées ici .

Son objectif est de supprimer le code hérité de mplayer et de réunir les avantages de mplayer2. Le résultat est assez impressionnant, bien qu'il en soit encore à ses balbutiements pour OS X.

Des constructions non officielles peuvent être trouvées ici . Je teste mpv_20131222004653_git-4833e92 compilé le 22 décembre 2013 et je peux vous dire que cela fonctionne.

De plus, vous voudrez peut-être adopter certaines des meilleures options de configuration , décrites par pigoz lui-même.

Selon votre question, vous voudrez peut-être vous concentrer directement sur opengl-hqce qui est directement axé sur le déchargement du flux vidéo sur le GPU.

Lors de mes tests, j'ai trouvé que MPV dépassait de moitié MPlayer OSX Extended lors de la lecture de fichiers MKV.


Je voulais juste ajouter que j’ai essayé mpv sur macOS Sierra (vous n’avez pas besoin de le compiler vous-même, il peut être installé avec Homebrew) et c’est 2-3 fois plus efficace en ressources processeur que VLC. Je le recommande vraiment!
Mars

0

J'aime Movist . Avec Movist, je n'ai plus besoin de redémarrer sous Windows, en utilisant bootcamp. Movist peut également jouer à DXVA 2.0.


0

Pour moi, MPV a utilisé moins de CPU que MPlauerX aussi.

Mais lorsqu'il est coché l'onglet "Power" dans Activity Monitor mpv consommé beaucoup plus de jus en plein écran. Donc, pour les cas sensibles à la température / à la batterie, MPlayerX semble être mieux adapté (cela peut dépendre bien sûr de la configuration, par exemple des filtres de mise à l'échelle / de post-traitement / ...).

Pour 720p mkv / h264 la consommation vidéo était de 30 mpv contre 20 + 1 MplayerX

Pour 2160 webm / vp9 - 120 mpv vs 140 MplayerX


-2

xvmc fonctionne mais n'est pas idéal lorsque vous avez besoin d'une batterie longue durée

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.