You can work with the UV Project modifier. This modifier works with an empty object which helps you to project the image onto the mesh faces. First you need to add a new UVMap to mesh
Then with mesh selected add UV Project Modifier
In the modifier, in "UV Map" input select the new UVMap we add earlier
In "Object" input select an Empty object that we help us project the image.
In the material add "UV Map" node
In the UV Map node select the new UVMap and conect to image node
Now the fun part, rotate the empty object to align with the face, also you can rotate and scale the empty to fit the image.
Optionally, to finish, you can apply the UVProject modifier to not rely on the empty object in the future if you wish.
@Leonardo Cáceres Thank you for your effort. I tried to implement your suggestion but to no avail. This "Panel Column" object has 24 different "panel surfaces", where I need to project different "image textures" and "mp4 videos" on each panel. I'm not sure how many UV surfaces can be used (per object) in Blender. That's why I prefer a more simple and direct method like using "surface image texture", since there are no limit (per object). (See attached images for clarification):