Render Output Format
More actions
Render output formats refer to file formats used to store the final render output of a scene. This can either be in an image format, or video format.
Recommendations
For the vast majority of cases, it is recommended to save the render output in an image based format, as the extra complexity of video formats[1] can cause corruption issues in the middle of a render. In addition, memory issues during a render for animation can also cause individual frames to be corrupted with their output, which for single images is easier to fix with a simple re-render.
Image Formats
In terms of image formats, lossy compression is generally discouraged, as a large amount of information and quality is lost in the compression process. In cases where heavy post-processing is not needed, common formats include PNG and TIFF. In cases where heavy post-processing is needed, EXR is recommended, as the extra information stored in each pixel allows for much more flexibility. It should be noted however that tonemapping isn't baked into EXR outputs, so tonemapping will need to be performed in any later programs used for post-processing. As EXRs store much more information compared to other formats, lossy compression algorithms such as DWAA can be used to reduce image sizes, without losing as much in quality compared to JPEG.
In situations where file sizes need to be reduced (such as posting on the internet), it's best to first output to a file format of a high quality (e.g. PNG, TIFF, EXR, etc.), then convert the high quality image to a lower quality image, or to a format with lossy compression and low file sizes (e.g. JPEG, WebP, JPEG-XL, etc.). The main benefit of this approach is being able to convert to multiple images of varying qualities from one, high quality source image, either for the purposes of experimentation or for having different qualities for different purposes (e.g. thumbnails, banners, profile pictures, etc.). In addition, for animation, having a high quality image sequence allows for more flexibility with the final video file, allowing for easily switching between different codecs (e.g. H.264, H.265/HEVC, AV1, etc.), adjusting bitrate, etc.
Video Formats
When choosing a video format for turning an image sequence to a video file, two formats need to be chosen:
- The container format (e.g. MP4, WebM, MKV, etc.)
- The video codec (e.g. H.264, H.265, AV1, etc)
The container format contains encoded video, audio, and additional data such as subtitles. The video codec is how the actual video is encoded to disc, and is independent of the container format. For example, an MP4 file may have video encoded in H.264, while another MP4 may have video encoded in AV1. Thus, container formats rarely matter for aspects such as file sizes, embedding on the internet, encoding/decoding speeds, etc.
With video codecs, H.264 is one of the most commonly used codecs, due to wide hardware encoding/decoding support, as well as wide support with software. However, H.264 (and by extension, H.265) is under software patents, meaning on some operating systems or programs, encoding/decoding may not be available. For example, Fedora Linux (and other Linux distribution projects based in the United States) by default doesn't include hardware encoding/decoding for H.264, and must be manually opted-in by the user[2]. In addition, the free version of DaVinci Resolve on Linux does not include encoding/decoding for H.264 and H.265, as the license is only included in the Studio version[3].
In recent years, the AV1 codec has become more widely used, due to being more efficient with file sizes and not being under patents. However, hardware encoding/decoding for AV1 isn't as widely supported, being limited mainly to newer systems.
When encoding video, the bitrate must also be considered. Bitrate defines the amount of bits used for encoding video, generally on a per second basis. This is to some degree independent of resolution; for example, 4K video that is streamed over the internet often has a much lower bitrate than 4K video from UHD Blu-rays. A higher bitrate allows for more data can be present in the encoded video, but at the cost of increased file sizes; a lower bitrate by contrast allows for smaller file sizes, but at the cost of detail in the encoded video.