As I moved to Resolve I was forced to change my Vegas Movie Studio dashcam processing workflow a bit. Not only you cannot use MP4 under Linux at all, but MP4 presents challenges to the free Resolve under Windows too.
The first step I take for all dashcam footage is to convert it using ffmpeg to DNxHR LB. Not only it’s a well-supported intermediary codec that increases performance significantly, but it also get’s rid of any nonsense my dashcam puts in the clip. And 36 Mbps is more than enough for anything my dashcam can throw at it. Instead of converting clip-by-clip, I opted to merge them all into a single file - that’s the reason behind weird syntax:
ls *.MP4 | awk '{print "file \x27" $1 "\x27"}' | ffmpeg \
-f concat -safe 0 -protocol_whitelist pipe,file -i - \
-c:v dnxhd -profile:v dnxhr_lb -q:v 1 -pix_fmt yuv422p -an \
^^dashcam.mov^^
Once all these videos are imported into Resolve, I go over them removing any clip portions when car is not moving. For any stops where state around car changes (e.g. waiting for traffic light), I use smooth cut to transition from one state to another. Other than that, I leave footage as is.
Once I’m done with editing I export the whole video into DNxHR SQ VBR. If I hadn’t done any editing, exporting to DNxHR LB would be fine as generational loss is quite acceptable. However, with all smooth cuts I’ve made, a temporary bump in video quality is beneficial. Especially since this is not the final output.
As I don’t expect to edit these clips again, the final output is H.264 as it’s size savings cannot be ignored. I usually use two-pass encoding with 6 Mbps average rate. You can use veryslow
preset to increase quality at the cost of speed but improvement is minimal so I simply go with the default of medium:
ffmpeg -i ^^render.mov^^ \
-c:v libx264 -pix_fmt yuv420p -b:v 6M \
-an -y -pass 1 -f mp4 ^^render^^.mp4
ffmpeg -i ^^render.mov^^ \
-c:v libx264 -pix_fmt yuv420p -b:v 6M \
-an -y -pass 2 -f mp4 ^^render^^.mp4
rm ffmpeg2pass-0.log*
And that’s it - final video is similar enough in quality while not taking extreme amounts of disk space.
PS: I am not using H.265 at this time because I find it even more trouble to work with than H.264 is. I might think about it in the future as support for it increases.