Using mmal significantly boosts video fps by offloading the encoding work from CPU to GPU. On a Raspberry Pi 3, libx264 only gives 480p18, whereas mmal can give 720p30.