I tested libvpx's VP8, VP9 with VPX_DL_REALTIME and x264 (don't remember the exact speed preset, but it was something really fast, on par with VP8) a couple of years ago and quite surprisingly VP9's quality was the worst. libvpx's VP9 improved a lot over the years, encoding speed went up from 1/1000 of VP8, to 1/100 and then to 1/10, but real-time performance never really caught up with VP8.
Imo the best you can do nowadays is H.264, just don't use terrible built-in OpenH264 - any hardware encoder will do much better in terms of quality and, obviously, power consumption. And these days it's practically impossible to find a device without a hardware H.264 encoder and decoder, while HW VP9 support is really rare