Forum Discussion

russb-at-work's avatar
russb-at-work
Copper Contributor
Nov 19, 2021

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

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?

 

  • 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.
    • russb-at-work's avatar
      russb-at-work
      Copper Contributor

      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!

       

Resources