The best codec for video in Ableton Live on a Mac.

Ableton Live video window - screenshot

Let’s face it, every good song you write should have a music video. Every PC comes with easy to use free video editing software. The MP3 players and phones we use to listen to music on all play videos. YouTube and dozens of other popular websites are ready to help you spread your video all over the net. Why miss such out on such a great promotion tool? As I mentioned in another post every musician also has to be a performing musician. Since you have all these videos why not play them behind you when you perform live? I’ve been doing exactly that for years. Here’s a video of me performing in Stuttgart: The Horrorist Live, Stuttgart See my LCD projector shooting my record label’s logo behind me?Things to Come Records - logo projection

I just bought a new Macbook Pro and I decided to completely redo the video I project during my shows. Ableton Live allows me to use any Quicktime .mov file. Simple right? Well no because within the Quicktime format there are dozens of Codecs and options you can choose when rendering your video file.

Codec stands for Coder Decoder and in this subject it’s refering to Coding and Recoding compression. Why do we want compression on our video file? If you were to export your video from your editing system (Final Cut Pro) without any compression the file size would be huge. Wikipedia says about one Gigabyte every four minutes. Besides taking up hard drive space large video files make your drive work harder. There are some super compression codecs that make great looking video at low files sizes like the new codec called from Apple called H.264. But we have a problem. The problem is that H.264 uses a massive amount of CPU to decode the file. If your performing live with several audio tracks and plug-ins you don’t want 45% of your CPU going to play a video file.Activity Monitor - screenshot

So I set out to find the perfect codec for playing video in Ableton live on a mac during a live performance. I want to warn everyone about something important. Ableton’s CPU meter does NOT reflect the CPU hit from playing back video files! I put multiple video files each the exactly the same except with different codecs into the timeline and the CPU meter in Ableton never changed. This means Ableton is using some sort of external quicktime plug-in to handle video playback. The way to see how much CPU each codec demands is to launch Activity Monitor and double click Quicktime. Now one by one launch each rendered video clip using the Quicktime player application and watch the % CPU reading.

After rendering the same clip with many different Codec’s here’s what I found. The winner was “Photo – JPEG” on the medium quality setting. This produced a file that was small in size, low in CPU usage and also looked very good. To be honest I never heard of using “Photo – JPEG” as a video codec. I asked people on the Creative Cow and Ableton forums what codec they would use and consistently they mentioned “Photo – JPEG”. All the other codecs including MPEG4, H.264, Sorenson and PNG all require over 40% of your CPU.

11 Comments

  1. If you play back a lot of animation movies, the animation codec works well and is light on the CPU. I was surprised H.264 was expensive, would think that codec is optimized to the N:th degree. Note that a lot of how the playback works is reflected when you encode the movie itself. You could make it play really slow and take a lot of CPU cycles if you make the quality parameters very high. –Kent

    Reply

    1. Hi,Kent .
      I’m a New Developer and work in Korea,My First Performance Operating after a month.We use Millumin to play about 7minutes video mapping connect with 20 more videos.(Millumin is a live performance mapping control tool which can connect live9 and max and resolume and VDMX and QC),So i think if videos can small and play perfectly in Ableton live,it would be play as well as Millumin.
      Our Video Resolution is over 2000+Pix,like 2500*1080or biger.So If realtime video mapping with Photo-Jpeg Codec would be huge and So heavy.(more than 10G when use Photo-JPEG)
      If use Hap Codec only in 32Bit,Can not over 4G.
      If use H.264 Codec it can not support over2000+pixels.
      If use Sorenson Video3 Codec it’s not good for realtime…
      We are plan to use MacBook Pro Retina 15 as Millumin Serve.I know it’s not very good for serve system, but it’s the best we’ve got for now…
      I’m wandering if there’s any codec for realtime performance,can renderer my video smaller file that can control my MacBook for our performance?

      PS:I’ve try many codec,but it’s not good for realtime play 3or 4files at one time.
      Millumin can play Photo-JPEG and Animation and ProRes-4444 and Hap Codec(32bit only)
      Hope for your answer.
      Best withes!

      Reply

  2. What about during composition? Can anyone suggest a good codec for lossless video? I tried None as a codec and it failed to export from live.

    Reply

  3. You could use DV as ‘none’ would create a HUGE file!
    BTW: H.264 is very CPU intensive because there is a large amount going on when the video is encoded and decoded; I,P and B frames, slices, motion vectors, error correction, entropy encoding, variable macroblocks etc etc.

    Reply

  4. So far everything I tested or read about leads me to photo jpeg as the best choice.

    Reply

  5. @ Neuronaut

    A ‘creative’ way to do lossless video is to use MPEG-2 ‘I-Frame Only’ at very high bitrate.

    I do not know if Ableton can render videos in MPEG-2 but if it does then edit the parameters that allow you to access the GOP Structure and select I Frames only (no P and B frames). If your render is say around 25Mbps of I Frames only then this is nearly lossless.

    Reply

  6. one important thing about Photo – JPEG: it’s frame accurate, so when you stop the music, the exact frame is shown. most composers use Photo JPEG because of this.

    Reply

  7. jason skidmore May 13, 2011 at 8:14 pm

    what’s the best quicktime plug in for window 7??

    Reply

  8. Thank you very much for that post. I’ve just been through 3 days of nightmare while making sound design over some videos in Ableton. Now i now i just have to convert my video into a CPU lighter format so i can work more easily !

    Reply

  9. H.264 is a great compression for straight playback in something like Qlab or Quicktime, but for use in an app that can tweak the playback like ableton or Isadora then its got to be photoJPEG all the way. It doesn’t use keyframes, so you can pause it anywhere or scrub it backwards and forwards without using excessive CPU to calculate what’s going on. The only way to use H.264 and similar codecs is to set them to keyframe every frame – which is pretty pointless. I use MPEG Streamclip to optimize video. it’s free, fast and works well.

    Reply

    1. Thank you for confirming my novice testing! Although this post is older I still am using motion jpeg.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>