Keeping rendered footage reasonably low...?

368 views
Skip to first unread message

Joe Adam

unread,
Sep 13, 2016, 5:42:52 PM9/13/16
to OpenToonz Users Forum
Hello!  About a month ago, my friends and I finished a 5-minute-long animation.  I've been told many times that you should always export the footage in lossless quality, and only use lossy compression when you render your edited-together video.  

In keeping with this, I rendered all the individual scenes as PNGs.  The resolution was 1280x720.  All the footage combined took up about 5 gigabytes on my computer, despite the fact that I was resorting to things like only rendering a single frame when there was no movement for a bit.  

If it takes this much for 5 minutes, I cringe to imagine the kind of disk space that would be required for longer works...  

So... is there some work-around I'm missing?  Is there some way to render scenes in OpenToonz that keeps the disk space at a sane level, without compromising on quality?  

Thanks!  

Greg Smith

unread,
Sep 14, 2016, 3:26:32 PM9/14/16
to opento...@googlegroups.com
Joe:

I don't know how ambitious or talented you are - or whether you are working on a "short" alone - but, if you manage to actually finish a 5 minute short subject of quality animation, you will be among the heroic few artists that have done so.


Greg Smith

Rodney

unread,
Sep 15, 2016, 12:00:04 AM9/15/16
to opento...@googlegroups.com
@Greg
We do know some of that... Joe says he and his friends already completed it.  
Perhaps he edited his post to provide that info as a result of your post.
Regarding quality... a measurement very largely in the eye of the beholder... a five minute short of marginal quality can often take the same amount of storage space on disk as one of high quality.


@Joe
The subject of rendering is a fascinating one. While the subject is covered elsewhere on the internet I do wish we had dedicated discussion that delved deeply into such topics here that pertain specifically to OpenToonz.
For the purpose of this discussion I will make a distiction between 'quality' and 'resolution'.  As stated above, 'quality' is largely in the eye of the beholder whereas resolution is more akin to pixels on a screen and blobs of ink on paper.

The first point I would make with regard to your observation about a 5 minute series of images taking up 5GB of space is that 5GB isn't that much space in current terms of storage.
I would guess that 5GB is at the extreme low end of the scale with regard to number of files, not so much with text files... such as most of the files you'll save out of OpenToonz but with rendering of video and audio.
Storage space is pretty cheap these days and it's common to have Terrabyte external harddrives.
Now distribution of those files... that's another matter entirely.
Keep in mind here that we are talking about a 'master print' of your production.  The one you will very likely create derivative works from.  The product that you won't have to render again because for all intents and purposes the 'rendering' is technically done.  What remains is conversion to other similar (although likely inferior) products because with each change we risk the loss of data (hence the suggestion to keep that first rendering uncompressed/lossless).

The second point would be to understand what your target 'audience' is and work toward that... allowing for a sufficient margin of error as well as subsequent renders to other resolutions..
This is one of the reasons it is often recommended to render out to high quality with lossless compression (or no compression) because you can then always use those high quality 'prints' to hit those lower quality targets.
If you know for a fact your primary audience will view your product at a lower quality then you can save a lot of time and space by rendering directly to that level of resolution.

A third point would be that the first and best files you must store (and backup!) would be your project files.  
Those should at least theoretically take up less space than the byproducts produced but if worse comes to worse and someone wants your product in a different resolution or format you can always go back to the source and target those.  Lose those original source files and you've got a very serious problem.

So, in summary... in the larger scheme of things the storage of the rendered files is not that important.  Whether those files be tiny gif animations or huge high resolution images meant for projection... those are temporary and often moving targets.  As long as you have the original source files you can target any storage size you want.  If you only want to fill up 1GB... done.  Want to fill up 1TB?  Crank up that resolution a ton... and plan to wait days before the rendered images are done.

There is a lot more to this discussion... and a lot depends on what you need to get done.
I hope your query will generate a lot of feedback because it is a very important topic.  

syn1kk

unread,
Sep 15, 2016, 2:20:31 PM9/15/16
to OpenToonz Users Forum
here's some other things to try.

step 1:
- render to a video file format that is "lossless" (instead of a png image for each frame)[1] 
- or stick with the many png files you created

step 2:
either of those options followed by using a .7z (better compression than zip files and still open-source and cross-platform) file compression software

FYI the additional 7z step will take a long while and may not save you that much space. so if it only saves you <= 10% data... IMO it's not worth the effort. 

(additionally when you store something in a 7z file... if any bytes get corrupted you can lose the whole file)

[1]
why use a "lossless video codec"?

because for instance if you have lots of pixels that aren't changing over many frames... the lossless video codec will still capture everything but do so with much less space (for instance the frames that didn't have any movement).

syn1kk

unread,
Sep 15, 2016, 2:24:32 PM9/15/16
to OpenToonz Users Forum
i don't know what lossless video codecs opentoonz supports but here's some suggestions I found from googling:

didn't the original (before ffmpeg/etc) opentoonz render file output give lossless avi files?

Joe Adam

unread,
Sep 15, 2016, 7:12:22 PM9/15/16
to OpenToonz Users Forum
Thank you both for your helpful replies! 

"If you have lots of pixels that aren't changing over many frames... the lossless video codec will still capture everything but do so with much less space (for instance the frames that didn't have any movement)." 

This is important!  In our video, there was a great deal of repetition in the frames, which made me feel stupid that each frame had to be a fully-rendered HD image! 

The lossless video I exported from Blender was AVI with H.264 codec.  It would be sweet if we could output from OpenToonz with this format...  but that doesn't seem to be possible at the moment. 

In the Output Settings menu, AVI appears to be the only video container option.  (I remember .mov also shows up if you have Quicktime installed, but now that's supposed to be dangerous...  ^^')

If you click on the "Options" button next to AVI, these are the codec options: 
- Uncompressed
- MS-CRAM '32' Microsoft Video 1
- MS-CRAM '24' Microsoft Video 1

Uncompressed sounds quite different than lossless...  I'm assuming uncompressed is essentially the same thing as a PNG sequence. 

No matter which codec you select, there is just an empty box underneath, followed by a button labeled "nfigure Cod" XD  (which does nothing if you click it). 


P.S.:  According to this video, HuffYUV lossless files are much larger than H.264, so H.264 sounds like the better option. 

syn1kk

unread,
Sep 16, 2016, 2:32:41 PM9/16/16
to opento...@googlegroups.com
i would try uncompressed.

then compare total size of that output to the many png files you generated.

maybe the "uncompressed" is actually "lossless" (i haven't looked at how the code is implemented).

---
---
---

if the "uncompressed" video is still really large. then try doing a one line command with ffmpeg to apply a lossless h.264 compression. unfortunately i don't know off hand what is the exact command for doing "lossless h.264" with ffmpeg. 

i did a very quick google search "ffmpeg lossless h.264" and found https://trac.ffmpeg.org/wiki/Encode/H.264:

Lossless Example (fastest encoding)

ffmpeg -i input -c:v libx264 -preset ultrafast -qp 0 output.mkv

Lossless Example (best compression)

ffmpeg -i input -c:v libx264 -preset veryslow -qp 0 output.mkv

see if that suits your fancy.

however i'm just copying and pasting and so I can't really help further than that.

---
---
---

i know it sounds a little strange to do two steps (render in "uncompressed" and then do "lossless compression"). however if your file size is 5-100 times smaller it may be worthwhile the extra effort.

-s
Reply all
Reply to author
Forward
0 new messages