for %%a in ("*.mov") do ffmpeg -i "%%~na.mov" -i "%%~na.wav" -c:v hevc_qsv -preset veryslow -load_plugin hevc_hw -global_quality 15 -look_ahead 1 -profile:v main10 -y -brand mp42 -tag:v hvc1 -c:a aac -b:a 256k -map 0:v:0 -map 1:a:0 "%%~na.mp4"
Again, this is a windows batch file. I don't have a Mac and the last one I used creatively had a G4 processor!! You will probably need to google batch processing on your Mac, if you're not already savvy.
I'm using hevc_qsv as my video codec - Intel QuickSync. You don't get as much control over things like keyint, but being HW accelerated it's the best option on my 8th gen i7. It's variable bitrate. Complex scenes are high bitrate, low complexity scenes are lowbitrate. Change the -global_quality if you want bigger or smaller files.
In this example it is taking every 10bit prores MOV and my cleaned up WAV and combining it into a good quality MP4 for Lumafusion. Take out references to the WAV and the map commands if you're not using external audio. You can increase the audio bitrate. FFMpeg doesn't seem to mind 32bit WAV input.
Important things to include for iOS are the -tag:v hvc1 and -brand mp42
You may still get the occasional file that Lumafusion says is not iOS compliant. I didn't get this when using a software based video codec, so I imagine QuickSync isn't ideal. They still play OK.