Accelerated video encoding
I like to use blender's video editor because of how easy it is and because I'm familiar to blender's ui. I've tried to use other stuff like premier pro and it'd just take longer to do what I need it to do so I've just been using blender. The problem I'm having is that everything related to video on blender is all using software rendering so creating proxies for videos takes a long time, even rendering H264 videos takes too long. It'd be nice to take advantage of my gpu's nvenc encoder. I think allowing custom ffmpeg args would be a nice addition to the rendering options in blender.
6 Comments
I'm not really familiar with editing video, but I remember about a decade ago when I was a student the whole class including me made the mistake to use H264 for editing videos. The problem is it has to do so much compression work that it's better to work with a raw format for example (if hard disk space allows it...).
However, you mention the gpu's nvenc encoder so I guess things have changed. And maybe now in certain software it's ok to use H264 in the editing pipeline. And yeah if blender could take advantage of that it would be great.
Yeah, did some tests with cpu and gpu encoding and H264 is basically similar in speeds these days at the settings I was using. At lower quality you do get faster times on gpu. However, on more modern codecs, you do get much higher speeds and you could take advantage of stuff like quicksync video for vp9 or current gen gpu encoders for av1 where those it could take like 15 minutes to render 7 seconds of 60fps video on cpu.
I don't agree. Blender is in its core not a video editor, it's 3d software. I honestly think that everybody should always render to an image sequence from blender and use specialized video editors to do the rest.
For one because a H264 encoded video could never be seen as the master because of its destructive compression. So when being serious about it you always need to have a render either in uncompressed video or, better, image sequence. An image sequence also prevents problems when rendering fails; because it still has all images on disc and you can safely continue with newer frames without having days (or weeks) of works lost.
Davinci Resolve is a dedicated video editor and has way more options. It's used by many professionals and it has a free version which has almost no limits.
My advise; always render 3d to PNG-sequence. It's literally just a single drag'n'drop to get it as an image sequence unto a Davinci Resolve timeline and to render it from there to whatever video format you like.
I rarely render animations in blender. What I do use often is the video editor for actual videos. I've tried davinci but even that seems to have less support than premier pro for the codecs and containers I need which I've only seen blender support. I used h264 as an example because it should be the fastest of the more modern codecs on cpu.
I wonder what codecs you want to use and why, which aren't supported in Davinci. A large portion of the professional world uses Davinci and also a huge portion of the world which is not professional uses Davinci. I've never had any issues is a codec not being supported. But honestly; how many codecs do you really need?! All most important codecs, image sequences and raw video formats are in there.
I suspect some of them have incompatible licenses or require some patent fees.