Thanks much Lorenzo.The approach we were considering was to use a single PeerConnection on the client, hence the idea of the adding the "shadow user" to the video_room.
If I understand you correctly, then you are suggesting to use one PeerConnection with the video_room plugin in order to "hijack" the stream on the server, and then stream it back using the streaming plugin, which will require to open another PeerConnection on the client. Is that correct?
Also, if we are going to use the streaming plugin to stream the client's video back to himself, then we'll need a way to dynamically set the video source (per user). I noticed that the video source is defined in the janus.plugin.streaming.cfg file. Is there any recommended approach to set the source of the streaming plugin dynamically and support multiple sources/users simultaneously?
List existing mountpoints:
curl -H "Content-Type: application/json" -X POST -d '{"body":{"request":"list","secret":"adminpwd"},"janus":"message","transaction":"some_random_text"}' http://myserver.com/janus/5047052667785047/558499164148112
Create new mountpoint:
curl -H "Content-Type: application/json" -X POST -d '{"body":{"request":"create","type":"rtp","id":99,"description":"stream_description","audio":true,"video":true,"audioport":1111,"audiopt":111,"audiortpmap":"opus/48000/2","videoport":2222,"videopt":100,"videortpmap":"VP8/90000","permanent":false,"secret":"adminpwd"},"janus":"message","transaction":"some_random_text"}' http://myserver.com/janus/5047052667785047/558499164148112
Delete a mountpoint:
curl -H "Content-Type: application/json" -X POST -d '{"body":{"request":"destroy","id":99,"secret":"adminpwd"},"janus":"message","transaction":"some_random_text"}' http://myserver.com/janus/5047052667785047/558499164148112