ORI Video Encoding Guidelines.
This project is from the ASWF Open Review Initiative. It attempts to establish best practices for encoding Video media for VFX/Animation media review. We aim to explain what various parameters do, and in what situations you might want to choose to modify them.
This is not the site for general encoding, although you may find answers here, we will likely opt for a simple one-size fits all solution over file-size efficiency. We welcome suggestions and improvements.
The main confluence page for this for now is here
We recommend usage of VP9 and AV1 over h264 and h265 where possible to encourage the usage of patent-free codecs, for more information on this see the white-paper Next-gen codecs for VFX Community.
Why is this needed.
There are a lot of excellent guides out there. But few addressing the needs of the VFX community.
An example of why this is important is to compare:
Original PNG Image | ||
Default ffmpeg conversion | NOTE color shift compared to original | |
Using the libavscale library | Should match original |
You can see the default ffmpeg conversion introduces a dramatic color shift that if you use the right flags, you can match the original. See Color space conversion for more details on this.
- Acknowledgements
- Encoding Cheat Sheet
- Encoding Overview
- Color space conversion
- Media Encoding with ffmpeg
- Codec Comparsions
- Metadata NCLC/NCLX
- Web Review
Acknowledgements
This document is a result of feedback from many people, in particular I would like to thank Kevin Wheatley, Trevor Aylward, Mark Reid, Gates Roberg Clark, Rick Sayre, Wendy Heffner and J Schulte for their time and patience.
Status
This document and project is still a work in progress. We are working on building a more complete testing framework, so that it is easy to confirm that changes to ffmpeg are not breaking existing functionality.
Authors
This document is primarily the work of Sam Richards. The test suite was developed by Daniel Flehner Heen.
Feedback and error reporting.
We welcome feedback on this document, please report any errors or suggestions to the github issues page.