How to add multiple (camera) video streams to an MS Teams meeting (video conference)?

Copper Contributor

I work for a company that produces a video camera device (ie: webcam) that uses smart AI technology to produce a separate video stream for each person in the camera's field of view (in the room).

 

We would like to each of the multiple camera video streams to an MS Teams meeting (video conference) as if they were separate participants (sitting at another computer attending the same video conference).

 

 Any thoughts on how we might do this?

 

8 Replies
Dunno if this is possible but Microsoft is working on this feature in Teams
If the stream is divided and shared as individual on Microsoft Teams. You can try custom Together mode scene. - https://docs.microsoft.com/en-us/microsoftteams/platform/apps-in-teams-meetings/teams-together-mode

Let us know if this helps.
Thanks
Hunaid L Hanfee
--------------------------------------------------------------------------------------

If the response is helpful, please click "**Mark as Best Response**" and like it. You can share your feedback via Microsoft Teams Developer Feedback link. Click here to escalate.
Could you please confirm if given solution resolves your query?

@HunaidHanfee-MSFT 

 

 

As mentioned, the video camera that I am using as a source can produce multiple video streams... 1 video stream for each person in the camera's field of view.  The number of streams produced will change, depending on the number of people in the room (that can be seen by the camera).  This could be from 1 to 8 people (I think our max number of people identified is 8), and the camera actually even tracks those people if they move around the room.

 

The video stream that is currently output over the USB cable (as a webcam device) does currently contain between 1 and 3 people (tiled horizontally in the frame).  The camera will display (up to) the last 3 people who have spoken, side-by-side in the video stream.

 

One of the problems with this is that placing the image of more than 1 person into the video frame decreases the resolution of each person being shown.  The more people you put into 1 video frame, the lower the video resolution would be for each.

 

I will however look at the link you sent to see if we can make any use of it, but forcing the separate video streams from a variable number of video sources into a 4 quadrant video does not seem like a good solution.

 

Note that our video camera captures a very large area of the room where it is placed (via a fish-eye wide angle lens) at a very high resolution.  It is capable of sending HD resolution (1280x720) video streams of each person it identifies in the room. 

 

As I mentioned... We would like to send each of the video streams that is produced by the video camera up to the Microsoft Teams Meeting server, as if it was a separate person attending the Teams Meeting from another computer, so that Teams will display all of them equally within the tiled view of people who are attending.

 

One thought I had would be that if MS Teams supports a/v streams to the Teams Meeting server via WebRTC, I could create a separate WebRTC endpoint/session for each video stream that is produced by our video camera.  I have heard that MS Teams supports WebRTC clients, but I do not however know how to do the WebRTC "signaling" (create the appropriate WebRTC SDP and send it to the Teams Meeting server, to start the WebRTC "candidates" process).

 

What would be far simpler/better would be if the Microsoft Teams Developer Support group would create an SDK call that we could use to send video frames from multiple video streams up the Teams Meeting server (as if they were coming from a webcam via the Teams Meeting Client).

 

I would like to thank you for all help that you can offer!

 

Please have a look at this sample - https://github.com/microsoftgraph/microsoft-graph-comms-samples/tree/master/Samples/PublicSamples/Ps... and other samples in this repo. Please go through the description of Readme.md about the capabilities 


Thanks, 

Hunaid Hanfee

------------------------------------------------------------------

If the response is helpful, please click "**Mark as Best Response**" and like it. You can share your feedback via Microsoft Teams Developer Feedback link. Click here to escalate. 

Hi did you get a chance to look into the docs? Are you having any doubt?

Thanks

@HunaidHanfee-MSFT 

 

Hi. 

I looked at the documentation, and it looks very promising for what we want to do.  That being said, it was not obvious to me how to us that PSIBot software to take a video stream and send it to an MS Teams meeting.  Is there an API call that I can use to write video frames to or something like that?

 

Thanks for all your help.

  

@russb-at-work - Explanation about the template is given in this video. Please see it for clarity.

Thanks

Hunaid L Hanfee

------------------------------------------------------------------------

If the response is helpful, please click "**Mark as Best Response**" and like it. You can share your feedback via Microsoft Teams Developer Feedback link. Click here to escalate.