6

How can I play MKV files from QuickTime in Mavericks?

I used to use Perian but it hangs and the other third party players are very inefficient as QuickTime is the most optimized software among the ones I analyzed.

  • You have some amazing research here, but I feel few will attempt an answer. Would you be open to a dramatic simplification of the question and you moving most of the work to an answer? – bmike Dec 27 '13 at 22:30
  • OK I'll start doing that in a couple of hours. – swineone Dec 27 '13 at 22:39
  • This is a non-answer as it avoids the problem altogether: If I need to watch a lot of movies on battery (e.g. long plane ride), I transcode my MKVs to MOV+H.264 beforehand on my media server. – Kevin Chen Dec 28 '13 at 0:32
9

I regularly watch MKV files with H.264 1080p video on my retina MBP 15" (late 2013, Intel GPU only), and up until now, I did so using the latest version of VLC. Unfortunately the battery drains pretty quickly with this setup and I decided to investigate alternatives. In trying to be a little scientific, I created a spreadsheet listing the CPU time used (checked in Activity Monitor) for each alternative that I tested. For all testing, I played the first 1 minute of a video clip of my choosing, with H.264 1080p video and DTS audio, as well as remuxing it to M4V format using MP4Tools, and in the process transcoding the audio to AAC 2-channel (the video was untouched). I measured the CPU time used after playing this first minute of the clip in Activity Monitor. Tests were performed with the computer plugged in to AC, and the resolution set to 1920 x 1200 (recall this is a retina MBP 15"). The video was playing in the foreground, in windowed mode, maximized to use all the horizontal resolution available.

The baseline is QuickTime Player, playing the M4V version of the file, with hardware accelerated decoding supposedly enabled. This used up 4.51 CPU seconds.

Using VLC version 2.12, I got the following results:

  • MKV file, software decoding: 28.89 CPU seconds;
  • MKV file, hardware accelerated decoding: 22.82 CPU seconds;
  • M4V file, software decoding: 29.76 CPU seconds;
  • M4V file, hardware accelerated decoding: 22.44 CPU seconds.

In MPlayerX version 1.0.21 (1718), I got the following results (no mention is made to hardware acceleration since I couldn't find a way to enable or disable it, and have no idea what is the default behavior):

  • MKV file: 15.92 CPU seconds;
  • M4V file: 15.74 CPU seconds.

Finally I tried Movist version 1.3.3, which supports using QuickTime or FFmpeg as the decoder, and also has a checkbox for hardware acceleration. However, I was unable to decode the MKV version of the file using the QuickTime decoder. The results are:

  • MKV file, software decoding, FFmpeg decoder: 31.96 CPU seconds;
  • MKV file, hardware accelerated decoding, FFmpeg decoder: 8.31 CPU seconds;
  • M4V file, software decoding, FFmpeg decoder: 30.73 CPU seconds;
  • M4V file, hardware accelerated decoding, FFmpeg decoder: 9.04 CPU seconds;
  • M4V file, software decoding, QuickTime decoder: 37.03 CPU seconds;
  • M4V file, hardware accelerated decoding, QuickTime decoder: 8.12 CPU seconds.

As can be seen, Movist using the FFmpeg decoder and hardware accelerated decoding is the most efficient alternative compared to VLC or MPlayerX, but still noticeably less efficient than QuickTime at decoding M4V files. The ideal solution would be playing MKV under QuickTime Player, but it appears Perian no longer works in Mavericks.

| improve this answer | |
5

Give MPV a shot. The project is located on github if you wish to compile your own version. Information on compiling can be found here.

It aims to cut out the legacy code of mplayer and bring together the benefits of mplayer2. The result is quite impressive, though still in its infancy for OS X.

Unofficial builds can be found here. I am testing mpv_20131222004653_git-4833e92 compiled on Dec 22, 2013 and can tell you it works.

Additionally, you may wish to adopt some of the better configuration options, as outlined by pigoz himself.

As per your question, you may want to focus directly on opengl-hq which focused directly on offloading the video stream to the GPU.

In my testing, I've found MPV to trump MPlayer OSX Extended by up to half while playing back MKV files.

| improve this answer | |
  • Just wanted to add that I've tried mpv on macOS Sierra (you don't have to compile it yourself, it can be installed with Homebrew) and it's 2-3x more CPU efficient for me than VLC. I really recommend it! – mav Nov 8 '16 at 8:23
0

I like Movist. With Movist I don't need to reboot to Windows, using bootcamp, anymore. Movist can also play DXVA 2.0.

| improve this answer | |
0

For me mpv used less CPU than MPlauerX too.

But when checked "Power" tab in Activity Monitor mpv consumed much more juice in full-screen. So for temperature / battery sensitive case MPlayerX seems to be better suited (it may depend on configs of course i.e. scaler/postprocess/... filters).

For 720p mkv/h264 video power usage was 30 mpv vs 20+1 MplayerX

For 2160 webm/vp9 - 120 mpv vs 140 MplayerX

| improve this answer | |
-2

xvmc works but is not ideal when you need long battery life

| improve this answer | |

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .