Kind of like a TV, CCTV, or the portal for Portal and Portal 2, so I can see what the camera is seeing on an object. I don't care whether its a material or a modifier, or something like that, even if someone will make a script that is a node or whatever as long as it works, nothing specific as in how I would go about it.
I think you have two options: one in "real time" and another two-stepped.
The two steps workflow
This is the simplest one. You have your scene with two cameras and a screen in which we are going to see the view of one of the cameras.
The first step is rendering the view of the CCTV camera so you have an image sequence of what camera is seeing. For this, select the camera Ctrl Numpad 0 to make it the scene's active camera. Then render the scene.
Note that this render might have the same aspect ratio than your screen object.
After the render, simply add the image sequence as a texture on your screen material. Make the other camera the active one and render.
The "real time" workflow
With this workflow, which involves the compositor, you'll be able to see the real view of the CCTV camera in one F12 push.
Having your scene with the two cameras and the screen, these are the steps. (Also I've provided an example .blend below)
As a scene can only have one active camera in any given frame, we need another scene for rendering the CCTV camera. So create a new scene with Linked Object Data. Doing so, if you change datablock related stuff in any scene, it changes in both. But not transformations so I recommend waiting until the end to start this workflow.
In this new scene (lets call it CCTV scene) select your CCTV camera and make it the active one by Ctrl Numpad 0 it.
- If necessary, change that scene's render dimensions to match the screen's aspect ratio.
- In the main scene select the screen object and move it to another layer alone. Press M and hold Shift when you select the new layer so you can have it in both layers. Doing this you'll have your main render as expected.
Now lets go to the Compositor.
- Add the three render layers: the main one and the Screen one from the main scene and the main render layer from the CCTV scene.
- Connect the CCTV node image output into the image input of a Map UV node. Then connect the UV output from the Screen render layer to the UV input of the Map UV node.
- Now Add the output of that Map UV node to the main render layer.
Did you try the compositor?
Just create a camera that points at what you want, render that camera into a file and use that file as a texture on the monitor displaying the "camera feed".
Technically, yes, this will make the "feed" lag behind one frame, but really nobody will notice.