finos / community

FINOS Community, Project and SIG wide collaboration space
http://community.finos.org
64 stars 28 forks source link

Software Project Contribution and Onboarding - Symphony Media Bridge #140

Closed marcusspangenberg closed 2 years ago

marcusspangenberg commented 2 years ago

Business Problem

The Symphony Media Bridge (SMB) is a media server application that handles audio, video and screen sharing media streams in an RTC conference system.

In RTC conferencing systems, when more than two participants are in a conference there is usually a media server component involved. Each participant in the conference will send their audio and video streams to the media server. The media server is then responsible for sending the correct media streams to each receiving participant.

Conferencing media servers are typically divided into two categories, multipoint conference units (MCU) and selective forwarding units (SFU).

MCUs decode, mix and transcode media streams delivering a single or a few output streams to each receiver.

SFUs do not decode or transcode media streams from participants, but forwards a selection of the incoming media streams to each receiver in some intelligent way. Not all incoming streams are forwarded, but typically more than one stream to each receiver.

Both types of media servers have their benefits and drawbacks depending on the use case, but that is outside of the scope of this document.

Proposed Solution

SMB is an SFU at its core, but has some hybrid MCU like solutions. Video streams are forwarded and not transcoded, but participants can request a mixed, transcoded audio stream instead of forwarded streams.

SMB can also be run in a mode where multiple streams are forwarded, but the contents of each stream can vary between different participants in the conference. This allows for larger conferences than SFUs can typically handle.

Written as a high performance native application with efficient resource management, SMB is designed to scale efficiently as the number of conferences and participants grow.

The main differentiators for SMB are:

Tentative Roadmap

Current State

The project is in GA state and is used in production for Symphony Meetings.

Existing Materials

Current official repository: https://github.com/SymphonyOSF/SymphonyMediaBridge

Development Team

What's next?

Upon submission of this project proposal, the FINOS team will get in touch with you to discuss next steps.


Contribution process (v. 1.0, last updated on October 2, 2020)

Below is the list of tasks that FINOS Team and the contribution author go through in order to complete the FINOS contribution process. Please do not edit these contents at contribution time!

FINOS Contrib POC

Kick-off meeting

Identify project meta (Lead: FINOS Contrib POC, Support: FINOS Marketing)

Maintainers, contributors and CLAs (Lead: FINOS Contrib POC, Support: FINOS infra)

Project Communication Channel(s)

Code validation (only if code is contributed) (Lead: FINOS Infra)

Approval (Lead: FINOS Infra)

Code transfer (Lead: FINOS Infra)

Infra setup (Lead: FINOS Infra)

Metadata update (Lead: FINOS Infra)

Announcement and follow up

TheJuanAndOnly99 commented 2 years ago

Announcement sent out to https://groups.google.com/u/1/a/finos.org/g/announce/c/WOvKXQll8E8. The contribution is now complete, congratulations Symphony team!

maoo commented 2 years ago

/CC @grizzwolf - for marketing purposes.