Just to add to this. While I have not been able to actually process the QVideoFrame yet (meaning I have not been able to covert properly to QImage as all I have is a black image using the QVideoFrame::map or black image with some distortions using the alternate QOpenGLContext method outlined here - while it all says it is valid and not null 😢), I have discovered that in order to use the OpenGL Context one can create QWindow and use its surface like so:
https://github.com/qt/qtmultimedia/blob/5.12/src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm#L123
Took me a while to figure out how to use it though as it didn't work for me and was crashing the app right on start when the code was part of a plugin (QObject). Unfortunately I was not able to Google it properly (didn't bump into anything that would say that usage is incorect), however with some luck and a lot of trial and error I found out it works when one creates this in the main.cpp file and then simply replies on the QOpenGLContext::currentContext().
And then considering QVideoFrame::map works on UT as part of the Camera QML object I would presume both methods need to work somehow :(. I am just obviously not doing something properly as it is failing for me as described above ^.
https://github.com/qt/qtmultimedia/blob/5.12/src/multimedia/video/qvideoframe.cpp#L1094