ProRes support? Need your voice!

@J_the_Ninja nice insight.
Once I was doing a university project where we had to do some stabilisation, polishing and other stuff of the footage we had. It was all messy because we where exporting to png encoding pasing stuff all the way. So I filed a sort of bug report about the 15 mbits limitation in blender’s video export explaining our situation. The limitation got swiftly removed in svn so we could encode our footage to DNxHD at the nominal bitrate.

Intermediate codecs are really usefull but not much people outside a production logic(me being one of those) actually make use of them. Because one tend to think of the encoded video as something dirty, suitable only for presentations and youtube. I would appreciate being able to encode in ProRes. Even if DNxHD is pretty much the same. At least just for the sake to let the macheads stay on their apple tree not asking DN-whattt.

As far as I know DNxHD is quite a bit more open than ProRes as first it has a comprehensive royalty-free license, and second it has an OFFICIAL API. ProRes legal use seems to be controversial and thus scaring, at least as scary as mac layers.

Probably this is why devs are reluctant to include it. However, no one forbids you from using frameserver export option and encode your footage with an ffmpeg wrapper script encoding to whatever you like including the so beloved ProRes. It may seem a useless workaround but for me using mac stuff is a useless workaround in the first place, I don’t want to propagate their technologies so they are never my first choice and I’m pretty happy with the choices I make. However sometimes you are explicitly asked to deliver in ProRes, so my ideological dilemmas are far from being solved :stuck_out_tongue:

Anyway if you heard about ProRes you should try DNxHD, they are almost identical except for the ProRes being evil :stuck_out_tongue: :stuck_out_tongue: :stuck_out_tongue: just kidding

I still don’t understand why people still want more encode options inside Blender.
In my opinion it has more than it needs already.

I work professionally with Blender for over 6 years now and only once I had to export to jpeg2000 for a imax cinema production - the rest of the time it was lossless image sequences.

More than once you need transparency/alpha channels -> image sequence
You want to preserve the maximum quality and compatibility -> image sequence
Pretty much every professional video editor has it’s own compressed proxy format, which is best created off image sequences and on rendering exported from a lossless source.

And if you need your footage to be anything, just get any random encoder and encode it to whatever you want, maintaining the original, lossless footage.

All that aside, compression algorithms are developed quite fast, new standards crop up every 3 months.
Let the specialized applications for encoding keep up with development pace and use them, instead of trying to get everything into Blender, diverting development resources and creating licensing issues where there is absolutely no need for it.

The upcoming Blackmagic Pocket Cinema Camera will shoot ProRes:http://www.blackmagicdesign.com/products/blackmagicpocketcinemacamera

@bashi: For Blender work I just render to an image sequence, typically PNG or OpenEXR. For After Effects work on OSX I use ProRes, especially if I have to deal with camera footage. For After Effects on Windows I use JPEG2000. For most motion work on OSX I will export to Animation codec. The Red shift is just something I and other editors have observed. I am not sure what Rec709 is?

@craig: I have been evaluating using MP4 as a ProRes replacement as well. What bit rate do you use?

As for the development burden… all those things rely on external libraries which are developed independently anyway. Like FFMPEG or others, if you use linux you appreciate immediatly this fact the first time you do a system update, when independent modules get updated adding functionality, fixing bugs and flaws (and sometimes introducing more of them :slight_smile:

Anyway there are really tons of awesome stuff in blender to be used in movie production i.e. composting and tracking which have to input some sort of footage and output another footage without ever rendering a single 3D polygon for which one would surely want to use image sequences.

@all
To be honest, i’m a bit wondering, out of several reasons. No one said one should Render his 3D stuff to ProRes or any other Video format, we have image seq for this - but that does not mean render to Video does not make sense at all - as we already have several Video Codecs to Render to. With this logic we should not have any Video render capabilities in Blender in the first place - which in my opinion is bullshit.
This thing isn’t about opinions about Video Codecs - those are obviously opinions - and might be wrong or right - based on - you guess it - opinions. (While there certainly is a objective difference - my feeling is the arguments in this thread are opinions. my opinion)
And just cause it does not fit in your workflow doesn’t mean it wouldn’t fit others, does it?
And there’s no waste of time of Developers time, except allow the patch to apply. This is my time i spent (to enable ProRes) and time i eventually will spend on enable some more output settings. This gets me to the point that makes me kind of sad - but obviously is reality.I’m about to start learning C a bit - to be able to understand Blender better and to fix/add stuff in Blenders Code. But seeing this fuss about a ONE f… LINE PATCH honestly does make wonder if i’m on the right path and not just stop trying to develop right there…(not that i would consider one line as coding :wink:

Don’t take this too serious - it’s just my opinion right now - just after waking up.

To be clear once again: What i would like is simply enable ProRes codec- it’s already there in ffmpeg - ffmpeg already in Blender. This is one Line of Code - which makes ProRes selectable as Codec in MPEG -and none of developers time wasted. You can find the Patch in the first Post of this thread.

What i’m not sure about is if this is supported by Blenders ffmpeg on Windows - which is Version 0.8.6 (afaik) and older than the ffmpeg1.0 in mac/linux…

thanks for your time. bashi

Don’t get me wrong on this. The fact that I don’t like the way apple handles technology doesn’t mean that there should be no ProRes export in my opinion. I think it’s wrong to restrict user’s possibilities. I will continue to advise using avid codecs for all sorts of purposes but since prores is already there I don’t know why someone for whom intermediate equals prores shoudn’t be able to use it.

Otherwise there will always be sterile discussions about can your windows(or linux) box do prores?

So I’m totally in favor of your initiative. Be careful though and try to find some notices about the legality of this thing. Because what essentially FFMPEG devs say is that they are just a bunch of coders and they do not infringe any pattents, however when somone grabs their binaries and use them he may, thus he should inform himself about legislation and patents in his country beforehand.

Legal status of codecs [edit]FFmpeg contains more than 100 codecs,[SUP][35][/SUP] most of which do not just store uncompressed data. At least all codecs that compress information could be claimed by patent holders.[SUP][36][/SUP] Such claims may be enforceable in countries like the United States which have implemented software patents, but are considered unenforceable or void in countries that have not implemented software patents. Furthermore, many of these codecs are only released under terms that forbid reverse engineering, even for purposes of interoperability. These terms of use are forbidden in certain countries. For example, some European Union nations have not implemented software patents and have laws expressly allowing reverse engineering for purposes of interoperability.

An almost happy european inhabitant :slight_smile:

@bashi
Don’t feel discouraged, even if I get why it’s easy to be. While I have no immediate need for ProRes myself, I don’t understand why it is a problem to enable it (get your patch committed). I generally think any potential patent issue is BS, so I hope that is not the reason. With Apple pushing the codec, it should accept ProRes being encoded by 3. parties, IMO, and a lot have or are already doing that with ffmpeg including myself. Technically I can see that all platforms needs a newer ffmpeg, but why is Windows using such an old version?

When I worked on post-production, like most others I always rendered out to image sequences (primarily DPX), but when working with FC-editors they always expected to receive files in ProRes for offline work, and they couldn’t be bothered to do the encoding themselves (FC can’t even read DPX natively…) Like always, ffmpeg is gold when it comes to converting image sequences to whatever codec, and with ffmpeg build into Blender… well of course I think Blender should output to whatever ffmpeg can, and if not everything, at least include ProRes being a necessary evil.

I’m not certain if FC takes in any image sequence natively. My understanding is,… you’re to use Quicktime Pro to import an image sequence, then render out a video in your preferred format such as ProRes.

ProRes is wildly popular in broadcast 'cause you can shoot, edit, process, and broadcast without trans-coding to another format - it keeps everything fast and simple.

Anywho, If you’re on Windows or Linux, your best bet is to render out a 16bpc png sequence from Blender, then use “ffmbc” to encode a suitable ProRes compatible video ( be sure to include the timecode option so FC can read it.)

ffmbc

later

Not only does ffmpeg support both encoding and decoding, but it offers serveral different versions: 2 decoders and 3 encoders. They offer different speeds, functionality, and licenses.


$> ffmpeg -codecs | grep prores

ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers
DEVIL. prores   Apple ProRes (iCodec Pro) (decoders: prores prores_lgpl ) (encoders: prores prores_anatoliy prores_kostya )


It would be super useful to be able to encode straight out of blender to prores… This would be mainly for the VSE exports we do (render to image sequences > comp > vse is our usual work flow)… right now if i need to go to prores… i export out of the VSE to png imagesequence or something, and then use ffmpeg commandline to convert from there.

The only question i have is does this support the correct colourspace of prores? when i convert to prores via commandline, sometimes there is a colourspace problem and hte resultant movie file isnt the same as the image sequence.

current ffmpeg in Blender is 1.0 (mac/linux) and 0.8.6 (win) and only has prores encoder (i’m actually not sure if win version has prores at all). I would like to have prores_kostya encoder - but for this the ffmpeg in Blender needs to be updated - which is not a trivial task and surely can’t be done by me :wink:

Hi Bashi,

You should definitely push for a ProRes export in Blender. I’m sure (like me) there are people out there using Macs and Final Cut Pro X who would like to bring Blender into their visual effects workflow, mainly for compositing and camera tracking. Many digital cinema cameras and external video recorders have the option to shoot in ProRes422 or ProRes444 and there is a desire to maintain the same codec throughout the workflow. Also importing an image sequence into Final Cut Pro X is currently a clunky affair.

You have my full support!

Ian Bailey

Is there any movement on this one? I’ve done some Blender work for my brother (a professional video editor) and he has asked for the output to be in PRO RES LT… the change mentioned seems pretty minor - is there any reason why this can’t be committed?

From the conversation above it seems that many FCP users use PRO RES on a daily basis, so support seems like a step towards taking Blender to a level of maturity where it will be used by artists who want to use it in a professional environment…

  • andrew

Guys, the problem is not enabling ProRES, but distributing it. Apple is quite diligent to suing anyone distributing their patented codecs in the US, even if the software producing it is not apple property (Apple vs Sorenson comes to my mind, maybe there are others). Even if BF is not a US based organization, lawyers can be very creative if they got some money, and we already know that Apple has plenty of it.

Probably, is one of these cases that some devs should be happy not to be NorthAmerican citizen.

The patents involved in ProRes pale in comparrison to the patents dealing with h264. And that doesn’t seem to discourage h264 encoder/decoder proliferation.

Hello Bashi,

I personally don’t use the ProRes (I use DNxHD instead), but you have my full support. If I had FCP I would definitely want to use the ProRes and the constant encoding to other codecs is so disk space and computation time expensive. I think that many people here don’t realize how features like this can speed up the workflow.

Yes I think we need to have this, since Apple prores 4444 is the only video format that supports an alpha channel and that is key in mixing in 2D video footage with certain scene animations (aside from using a PNG image sequence).

It’s ridiculous for Blender not to have this.

I understand that we should have the entire universe of codecs supported in Blender just because.

But given Apple prores 4444 is the ONLY video format that supports an Alpha Channel, we should support it in Blender.