FabioV
 Second Officer
Flight distance : 2185043 ft
Italy
Offline
|
I use DJI drones (and sometimes the iPhone with the Osmo Mobile 6) mainly for taking shots and creating videos, after post-processing them. Our drones and mobile phones can capture very detailed 4K shots, also in HDR. The shots are typically saved as MP4 or MOV files, with a quite hight bitrate, to insure a high level of quality. Keeping this bitrate for the final output requires an huge amount of storage.
For that reason, I made some tests for finding the best way to obtain high quality videos, but significantly reducing the amount of storage required.
First of all, we need to find a quantitative way to measure the "quality" of an encoded video. After some researches, I decided to use the VMAF model, implemented by Netflix. This model aims to quantify the perceived quality of an encoded video, analyzing frame by frame the original shot and the encoded video and calculating a final score. The model is available for Full HD and 4K. If you're interested in more details, you can easily find them with a simple Google search.
The typical workflow for delivering a final video usually includes:
- Creation of a project in a video processing application (DaVinci Resolve, Final Cut Pro, ...)
- Import of the drone captured clips into the project
- Editing of the timeline: scenes, cuts, titles, transitions, ...
- Color correction, grading, effects
- Adding an audio track
- Generation of the final output
In my workflow, I'm using DaVinci Resolve Studio on a MacBook Pro M3 Pro laptop. My final output is a mp4 video (h.265 4K HLG with Dolby Vision).
After running some tests, I figured out that the best output as possible from DaVinci Resolve is a ProRes Master File (422HQ is enough for keeping the quality of our drone or phone shots). In fact, running a VMAF scoring between an original drone shot and a ProRes encoded file (without any kind of editing, of course) generates a VMAF score of 100%.
At that point, for delivering the final output, I just need to encode the ProRes file to a h.265 file.
My tests are also showing that software compression usually provides a better quality than hardware compression for the same final bitrate (but taking a much longer elapsed time). With the software compression a bitrate of 25 Mbit/s usually generate a final output with a VMAF score of about 96% to 97% (Netflix specifications tells that a score greater than 93 indicates a good quality). For achieving the same quality score with the M3 Pro hardware encoding, I need a bitrate of 35 Mbit/s.
The quality of hardware encoding is about the same when using different encoding applications (as expected, because the calculations are always performed by the M3 internal encoder): I used DaVinci encoder, Handbrake and Apple Compressor and the difference in VMAF score between the three application is always less that 1%.
When using the software encoding the difference is much greater: we can have more than 1.5 to 2% difference. My tests are suggesting that Handbrake can provide great results, if properly configured and now this is my choice for generating the final output.
In the end I finalized my workflow:
- after the post-processing, I generate a h.265 output directly from DaVinci Resolve, using the h.265 hardware encoder, with a bitrate of 35 Mbit/s.
- I use this output for a final visual check on the TV. The generation of the final output in that way usually takes few minutes, allowing me to quickly iterate for fixing issues.
- when everything is fine, I generate a ProRes master from DaVinci Resolve, then I encode it, using Handbrake, with a 25 Mbit/s bitrate. It takes some time, but it is just the last step and it can executed nightime.
This workflow allows for the reduction of the original drone bitrate (about 90 Mbit/s for a 4K HLG shot) to 25 Mbit/s, keeping a VMAF quality of about 97% (it means that it is almost impossible to perceive any difference when looking at the video at the right distance).
My workflow includes also the generation of the Dolby Vision metadata and their injection into the final mp4 file. But this is another story ...
I hope this information can be useful for all of you.
|
|