In my old app which used the original camera library I could capture the byte data directly from the surface (vertical arrangement) of the control displaying the preview image. The advantage of this was that I could reduce the size of the preview image (making the amount of data much less) and the preview image is updated at a 100s of milliseconds rate rather than the several seconds required to take a picture. I could simulate a real-time movie by using the preview image data.
Since the preview image is displayed the data must be available on the visible surface of the control displaying the image. Theoretically it should be possible to read this data directly from the control surface.
Your original answer of capturing the data into a list and using as a byte array sounds exactly like what I would need to do. I could not see how to do that in App Inventor. Is there a function of the vertical arrangement I am not seeing?
The second part of my question about changing dimensions is an attempt to reduce the amount of data. The quality of the real-time image needed is very low – 640x480 is more than sufficient and reduces the image data size substantially. In the older original camera library you could choose the size of the preview image. I chose something like 640x480. In the new camera2 library documentation I have seen mention that changing the size of the display surface (vertical arrangement) will perform the function of reducing the preview image size – although this was not explicitly stated. Hopefully it is true and I can use the reduced size image.