ProRes support in FFmpeg – I love it!

FFmpeg added support for ProRes in october 2011 – which made my life a little easier. The added support for ProRes closed a big gap for me as I quite often gets exports in ProRes and needs to transcode it into something more lossy like H.264 for usage on the web.
FFmpegs support for ProRes will also lead VLC to supporting ProRes in their upcoming 1.2 release. Great!
(Update: It was later renamed to version 2.0 and was released in february 2012.)

A quick note on how to trancode to Apple ProRes (often denoted APCN) using a recent build of FFmpeg:

ffmpeg -i input.mov -vcodec prores -profile NUMBER -an output.mov

For different flavors of ProRes replace NUMBER with a number from zero to 3 where:
0 : ProRes422 (Proxy)
1 : ProRes422 (LT)
2 : ProRes422 (Normal)
3 : ProRes422 (HQ)

OR use one of the following shorthands to select your profile:

-profile NAME
proxy
lt
std
hq

The following was taken from FFmbc’s wiki site:

The encoder behave differently based on 3 options:
-qscale < value > or -cqp < value >
Specify a fixed quantizer that will be used for every frame. This is a VBR encoding method.

If bitrate is not specified, the bitrate will be automatically chosen based on video resolution and will be similar to the reference encoder for the same profile.
-b < bitrate >
Specify a approximately constant bit rate to use during encoding.
444 encoding: add -pix_fmt yuv444p10 to your commandline options.

Update: ProRes 444 doesn’t seem to work, but people are working on a patch as learned from this thread:
http://ffmpeg.org/pipermail/ffmpeg-user/2012-September/009521.html
I must admit I haven’t used the codec lately, but people write that Final Cut Pro often gives the warning that ProRes files made with FFmpeg, are not optimized for FCP. All that means is, that the file wasn’t compressed using FCP while as the file should work fine.

If you use the ProRes encoder, you might want to read this blogpost by the author Kostya.

About these ads

3 thoughts on “ProRes support in FFmpeg – I love it!

    • In recent ffmpeg, you have to use ‘-profile:v’ instead of ‘-profile’.

      This means that you can also use ‘-profile:a’ for some audio codecs that support profiles, or even select individual streams: ‘-profile:0′ would select the first stream (be it video or audio), ‘-profile:v:0′ will select the first video stream, and so on.

  1. Pingback: ML RAW FFMPEG Windows workflow | EddsWEB

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s