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.

This entry was written by Oliver Chesler, posted on October 25, 2007 at 9:47 am, filed under Ableton Live, apple, live performance, video and tagged , , , . Bookmark the permalink. Follow any comments here with the RSS feed for this post.

timeline

10 Responses to “The best codec for video in Ableton Live on a Mac.”

  1. Kent Sandvik says:

    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

  2. Neuronaut says:

    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.

  3. lagowski says:

    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.

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

  5. sp_key says:

    @ 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.

  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.

  7. jason skidmore says:

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

  8. lematt says:

    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 !

  9. dub says:

    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.

Leave a 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>