Texture3D, Volume Texture, Texture Array as a ringbuffer for shader access

I am new to UE, I am looking for a way to have the last 600 of my 2D Textures from a live camera (FHD or UHD) feed via MediaPlayer stored in a 3D Texture or Texture Array to access this in a shader/material. So that I have access to the last 10 seconds of my webcam feed. (I know that this needs a lot of gpu memory)
What I got so far is a material with a TextureObject (my webcam feed)and a Customs Expressions Object containing my simple shader snippet.

Now I want so save the webcam texture every new frame at a different position (like a ringbuffer) in a Volume Texture (or Texture Array, if that is more suiteable) and have a shader/material which reads that volume and renders a image form that time series.

Is that possible with Blueprint?
If not, is that possible with C++?

Can anybody point in the right direction?, thanks a lot.