# Livestream to third parties

Covers the best practices and instruction to stream out to third parties streaming platforms such as social media platforms

# Getting started

If you require our operators to stream out to your, or partners, accounts on external platforms (i.e., Facebook, Youtube, Linkedin, Instagram, etc.) We will need to exchange confidential information.

If your project includes many output destinations, and many sources (i.e., different source for each output) the project complexity will increase and the management on both ends can be time consuming and source of errors.

Please read this article and the [related ones](https://docs.streamaura.net/link/2#bkmrk-related-articles) to get familiar with our processes.

<p class="callout warning">In general, to preserve security and confidentiality best practices, <span style="text-decoration: underline;">Brainsonic Live recommands its client to not communicate any credentials to outside the organization</span>, even to Brainsonic Live.</p>

<p class="callout info">To avoid useless complexity we ask organizers to fill and use our template for simulive and thrid parties streaming projects. It's available in [Microsoft Excel](https://docs.streamaura.net/attachments/2 "Third parties streaming template") format.</p>

Depending on the third party (social media platform) we would prefer organizer:

1. To add a Brainsonic Live account as content administrator to your account or page
2. To share the streaming destination values (i.e., stream key) with Brainsonic Live

However in some cases it can be necessary for Brainsonic to get those credentials.  
Those scenarios are:

- Organizer wants Brainsonic Live to create and manage the live event using the third party application
- The third party platform does not provide a appropriate way to delegate live event management to another account
- Getting the streaming destination values requieres a complex workflow

### Related articles

- [Third parties specifics](https://docs.streamaura.net/books/livestream-to-third-parties/chapter/how-to-work-with-third-parties-live-streaming-platforms "Third parties specifics")
- [Live streaming from pre-recorded material (Simulive) 🇬🇧](https://docs.streamaura.net/books/guide-for-third-parties-content-providers "Live streaming from pre-recorded material (Simulive)  🇬🇧")

# How to work with third parties live streaming platforms

# Nouvelle page



# LinkedIn Live

There is two ways to stream out to your LinkedIn page:

<p class="callout warning">In any scenario, your page needs to meet the LinkedIn Live access criteria.  
Please refer to the [official LinkedIn Live access criteria documentation](https://www.linkedin.com/help/linkedin/answer/a568503).  
Be aware that this enablement can take time.  
</p>

<p class="callout info">Regardless of who is streaming, Linkedin has a <span style="text-decoration: underline;">**maximum of 4 hours**</span> for each stream.</p>

### 1. You create a LinkedIn Live event on your own 

<p class="callout info">You login into your account, schedule and create your event and send us Stream Key  
Please refer to the [official LinkedIn Live documentation](https://www.linkedin.com/help/linkedin/answer/a564446)</p>

- [ ] You need a Linkedin Page with &gt;150 subscribers
- [ ] Once you are eligible go there [https://www.linkedin.com/video/golive/now/](https://www.linkedin.com/video/golive/now/)
- [ ] Setup your event as you which on the left pane
- [ ] Then on the bottom pane, Stream settings tab, select the region Europe, West where Brainsonic Streaming Infrastructure is originating its streams
- [ ] Click on Get URL button
- [ ] Copy and send Stream URL and Stream Key to you Brainsonic representative
- [ ]  When the stream will start to be pushed you will be able to watch it from the Live control center. Once ready you just have to press the Go live button.   
    Once done, the page you are acting on behalf of, will post the live stream directly on the feed.

### 2. Our operators act on your behalf

<p class="callout info">You authorize our operators to manage your LinkedIn Page on your behalf  
Please add our operation LinkedIn account `Camille Faussaire` ([https://www.linkedin.com/in/camille-streamaura/)](https://www.linkedin.com/in/camille-streamaura/)) by referring to the [official LinkedIn Pages permission management documentation](https://www.linkedin.com/help/linkedin/answer/a569144)  
  
</p>

<p class="callout danger">Do not communicate your password under any circumstances.</p>

And we need the following items:

- [ ] A title (75 car.)
- [ ] Description (5000 car.)  
      
    If scheduled :
- [ ] Date, time and timezone
- [ ] Preview image (1920x1080 - &lt;2MB)

# Teams Live Event



# Youtube Live

There is two ways to stream out to your Youtube channel:

<p class="callout warning">In any scenario, your channel needs to request access to live streaming.  
Open the [Youtube Creator Studio](https://studio.youtube.com/channel/UC/livestreaming) then request the activation.   
Be aware that this enablement take up to 24 hours.  
</p>

<p class="callout info">Youtube has no limit of time for the live stream. However, there will be no recording if it lasts more than 12h so we advise you to stay under this limit. </p>

### 1. Our operators act on your behalf

<p class="callout info">You authorize our operators to create content on your Youtube channel on your behalf  
Please add our operation Youtube account `brainsonic.exchange@gmail.com` with the **Editor** role by referring to the [official Youtube channel permission management documentation](https://support.google.com/youtube/answer/9481328)  
</p>

<p class="callout danger">Do not communicate your password under any circumstances.</p>

And we need the following items:

- [ ] A title (Mandatory -100 car.)
- [ ] A description (5000 car.)
- [ ] A category
- [ ] Date, time and timezone
- [ ] Preview image (1280x720 - &lt;2MB - JPEG/PNG/GIF)
- [ ] A type of audience/ age limit

---

---

### 2. You create a Youtube Live event on your own 

<p class="callout info">You login into your account, schedule and create your event and send us Stream Key  
Please refer to the [official Youtube Live documentation](https://support.google.com/youtube/answer/2907883#zippy=%2Cschedule-a-live-stream)</p>

- [ ] Once you are eligible go there [https://studio.youtube.com/channel/UC/livestreaming](https://studio.youtube.com/channel/UC/livestreaming)
- [ ] Choose between schedule an event and immediate start of a show at the question When do you want to go live?
- [ ] At the step Pick the type of stream to begin select Streaming software
- [ ] Under Stream settings &gt; Stream key &gt; Select stream key dropdown, select "Brainsonic Live" or Create a new stream key if it doesn't exists
- [ ] Name the new key "Brainsonic Live", select RTMP as streaming protocol then CREATE
- [ ] Once back on the Studio interface, make sure that the newly created Stream Key is selected, then copy the Stream Key and send it to your Brainsonic representative.
- [ ] If you are not planning any interaction between the audience and the content streamed (i.e. pre-recorded material), choose Normal latency as Stream Latency
- [ ] The livestream will start once the Brainsonic Streaming Infrastructure will start streaming. Despite wanting to start as late as possible we recommend starting streaming way before show start (i.e., 20min) to avoid any issue and take no chance to miss the live show start. Alternatively you may want to create a scheduled event and then be able to go live by pressing a button.

<p class="callout success">To access or launch a scheduled live stream, go to the [Live Control room](http://youtube.com/livestreaming) and select **Manage**</p>

# X / Twitter

There is two ways for to stream out to your Twitter account:

<p class="callout warning">In any scenario, you need a Twitter account with Media Studio enabled by a Twitter representative  
Please refer to the [official Twitter Media Studio enablement documentation](https://help.twitter.com/using-twitter/media-studio).  
Be aware that this enablement can take a few days.  
</p>

### 1. You create a Twitter live broadcast on your own 

<p class="callout info">You login into your account, schedule and create your event and send us Stream Key  
Please refer to the [official Twitter Media Studio documentation](https://help.twitter.com/en/using-twitter/twitter-live)</p>

- [ ] You need a Twitter account with [Media Studio enabled](https://help.twitter.com/using-twitter/media-studio)
- [ ] Once you are eligible go there [https://studio.twitter.com/producer/broadcasts](https://studio.twitter.com/producer/broadcasts)
- [ ] On the Live tab, click Create Broadcast
- [ ] Enter the information that qualifies your event
- [ ] On the Source section, select Create a new source, then name it Brainsonic Live
- [ ] Select the EU (Paris) region as well as the RTMP Source type, then Done
- [ ] Copy Source URL and Stream key values then send them to your Brainsonic representative
- [ ] You can define if you want to start now or later.
- [ ] When the stream will start to be pushed you will be able to watch it from the Live control center. Once ready you just have to press the Go Live button.

### 2. Our operators act on your behalf

<p class="callout info">You authorize our operators to manage your Twitter account on your behalf  
Please add our operation Twitter account `@bsevent_dev` by refering to the [official Twitter Media Studio permission management documentation](https://help.twitter.com/using-twitter/media-studio#managing-permission)</p>

<p class="callout danger">Do not communicate your password under any circumstances.</p>

And we need the following items:

- [ ] A title (same constraint than a tweet, 280 car.)
- [ ] Pick a categorie
- [ ] Tweet content  
      
    If scheduled :
- [ ] Date, time and timezone
- [ ] Preview image (16:9 ratio, PNG)

<details id="bkmrk-see-list-of-availabl"><summary>See list of available categories</summary>

Automotive (Cars, Trucks, Racing)  
Comedy  
Digital Creators  
Entertainment &amp; Pop Culture  
Esports &amp; Video Games  
Financial &amp; Business News  
Food &amp; Drink  
Lifestyle (Fashion, Travel, Wellness)  
Music  
News &amp; Current Events  
Politics  
Science &amp; Education  
Sports  
Technology  
Television

</details>

# Facebook Live

There is two ways for to stream out to your Facebook page:


### 1. You create a Facebook Live event on your own 

<p class="callout info">You login into your account, schedule and create your event and send us Stream Key  
Please refer to the [official Facebook Live documentation](https://www.facebook.com/help/518336858836703/?helpref=related_articles)</p>

- [ ] On the New Post box, clik on Live Video
- [ ] Select Go Live (you could also select Live Event to create a Facebook Event)
- [ ] Add the Title
- [ ] Select Streaming Software under Select a video source
- [ ] Enable Backup stream toggle
- [ ] Copy the Streaming Key that just shown up (it should look like `FB10159995604943449-0-Abz68JtzS__fskdfbe`)
- [ ] Send it to your Brainsonic representative
- [ ] The livestream will start once you receive feed from Brainsonic and click . Despite wanting to start as late as possible we recommend starting streaming way before show start (i.e., 20min) to avoid any issue and take no chance to miss the live show start.

### 2. Our operators act on your behalf

<p class="callout info">You authorize our operators to manage your Facebook page account on your behalf  
Please assign Editor role to our operation account `liveteam@brainsonic.com` to the [official Facebook Pages permission management documentation](https://www.facebook.com/help/187316341316631)</p>

<p class="callout danger">Do not communicate your password under any circumstances.</p>

And we need the following items:

- [ ] A title
- [ ] A description
- [ ] Date, time and timezone
- [ ] Preview image (16:9 ratio, PNG)

# Instagram

### Prerequisite

Your IG account need to be eligible to IG Live Producer. Please contact your Brainsonic Live representative to obtain such an access.

<p class="callout danger">We do not use nor promote the usage of applications such as Instafeed or Promovgram.  
These providers are offering an integrated Web solution to get Instagram stream key from a mobile device emulator.  
However this solution not being officially supported by Meta, and those services being hosted outside of EU. We cannot expose our clients to potential credentials leaks.</p>

<p class="callout warning">It is not possible to disable comments on an IG Live video that was initiated though IG Live Producer. Therefore IG proposed a few options, [see below](https://docs.streamaura.net/link/8#bkmrk-handling-comments).</p>


### 1. You create an Instagram Live event on your own 

<p class="callout info">You login into your account, schedule and create your event and send us Stream Key  
Please refer to the [official Instagram Live Producer documentation](https://about.instagram.com/blog/tips-and-tricks/instagram-live-producer)</p>

- [ ] Login on instagram.com.
- [ ] From le left menu clic on Create &gt; Live video
- [ ] Set title and audience
- [ ] Communicate the stream key (should look like `18180500569288623?s_bl=1&s_fbp=fra3-1&s_prp=cdg4-3&s_sw=0&s_tids=1&s_vt=ig&a=Abyn4PLX7HRFZY1F`)
- [ ] Brainsonic will start streaming.
- [ ] Clic on Go Live. Despite wanting to start as late as possible we recommend starting streaming way before show start (i.e., 5-10min) to avoid any issue and take no chance to miss the live show start.

### 2. Our operators act on your behalf

If you choose to communicate your credentials (which is not recommended - you can still change it before the live and change it for the old one after the live) make sure that you are able to

1. Provide a username and a password to your Brainsonic representative
2. Provide a <span style="text-decoration: underline;">direct communication channel</span> between the Brainsonic operator and the person supposed to provide the 2FA temporary code.
3. This person will be asked to provide a 2FA code when the Brainsonic operator try to login to the platform to start pushing the livestream
4. We strongly recommend to perform a test of all this chain including the direct communication channel, &gt;24h before the live show.

We need the following items:

- [ ] A title
- [ ] A comments setting

## Handling comments

This is the only way a partner can theoretically “disable” comments on a live on Instagram Live Producer as no true option is available. This allows only pages you follow to comment which gives a bit of control. You can effectively unfollow people and then follow them back once the live is over. However, choosing this option will restrict comments on the entire account (will apply to comments on live broadcasts, reels, stories and posts).

- Click More
- Click Settings
- Click Privacy &amp; Security
- Click Edit comment settings
- Click People You Follow.

# Tiktok

### Principle

 You login into your account and send us Stream Key

###    
Steps

1. You need a Tiktok account with &gt;1000 followers (to keep the live access, you need do stream regularly)
2. Once you are eligible go there [https://livecenter.tiktok.com/producer](https://livecenter.tiktok.com/producer)   
    [![image.png](https://docs.streamaura.net/uploads/images/gallery/2024-06/scaled-1680-/Njm95qUWvOlGwXeZ-image.png)](https://docs.streamaura.net/uploads/images/gallery/2024-06/Njm95qUWvOlGwXeZ-image.png)
3. Click "Go LIVE" when your event is set up  
    [![image.png](https://docs.streamaura.net/uploads/images/gallery/2024-06/scaled-1680-/4bZxf8mwZECTRjQC-image.png)](https://docs.streamaura.net/uploads/images/gallery/2024-06/4bZxf8mwZECTRjQC-image.png)
4. Copy the Server URL and Stream key and send them to your Brainsonic representative

### Live functionnality access

We might need your account UID to assist getting live capabilities enablement.

<p class="callout info">Note that we have to contact Tiktok for this so it might take some time.</p>

UID can be obtained from the TikTok mobile application

1. Install and login on TikTok app
2. Go to **Profil** from the bottom menu
3. Click on the three lines icon on the top right then on **Settings and Privacy**
4. Scroll down to the bottom of the menu
5. **Click multiple times** on the version number
6. Get the UID

[![2026-01-26 at 14.52.36.gif](https://docs.streamaura.net/uploads/images/gallery/2026-01/sNITLipoV1bn4kC5-2026-01-26-at-14-52-36.gif)](https://docs.streamaura.net/uploads/images/gallery/2026-01/sNITLipoV1bn4kC5-2026-01-26-at-14-52-36.gif)

### Going live

The livestream will start once the Brainsonic Streaming Infrastructure will start streaming. Despite wanting to start as late as possible we recommend starting streaming way before show start (i.e., 5-10min) to avoid any issue and take no chance to miss the live show start.

# Twitch

### Principle

You login into your account and allow us to stream on your behalf

### Steps

1. Once you are logged in go there [https://dashboard.twitch.tv/settings/stream ](https://dashboard.twitch.tv/settings/stream)
2. Scroll down to authorisations and click on "People allowed to stream on your channel"
3. Add our email : <camille.faussaire@brainsonic.com>.
4. We will receive a stream key dedicated to us on your channel (so we don't have access to your stream key)

### Going live 

The livestream will start once the Brainsonic Streaming Infrastructure will start streaming. Despite wanting to start as late as possible we recommend starting streaming way before show start (i.e., 10min) to avoid any issue and take no chance to miss the live show start.

### Check stream settings

Twitch does not provide the ability to preview the stream before going live. You can still perform a test that won't be visible on the channel by adding `?bandwidthtest=true` at the end of the stream key when you paste it on your streaming software.

Once ready to perform a test, account owner needs to login to [https://inspector.twitch.tv/](https://inspector.twitch.tv/)

[![2023-04-07 at 12.11.12@2x.png](https://docs.streamaura.net/uploads/images/gallery/2023-04/scaled-1680-/eac9M1yoYHbXvu7O-2023-04-07-at-12-11-12-at-2x.png)](https://docs.streamaura.net/uploads/images/gallery/2023-04/eac9M1yoYHbXvu7O-2023-04-07-at-12-11-12-at-2x.png)

Information about stream health will be visible during the test.

# Teams Live Event

<p class="callout warning">Disclaimer : when this documentation is written, there is a new display appearing is teams calendar. However, the new display doesn't show options to create live events at the moment so this documentation require to use the older dipslay by making sure that the option "New Calendar" is unchecked at the top right corner of teams' window.  
  
![image.png](https://docs.streamaura.net/uploads/images/gallery/2025-04/scaled-1680-/P9yHZBvcQw5k2DgW-image.png)</p>

### Create a live event  


#### Creation

In order to create a Teams Live Event, you need to unfold the menu on the "New meeting" button (1) then select Live Event (2).

![image.png](https://docs.streamaura.net/uploads/images/gallery/2025-04/scaled-1680-/9gW0jkJvNdKPy7ai-image.png)

#### Settings

Once you've clicked on Live Event, a new window pop up for the configuration.

There, you can set the title (1) as well as the details of your event. In order to allow us to join your event, you will need to check "Allow external presenters" (2) and add our email address (3). Once this is done, the new presenter will be displayed bellow the organizer. Click on it to change it's role to producer (4). You can then click "next"

![image.png](https://docs.streamaura.net/uploads/images/gallery/2025-04/scaled-1680-/XNn3pRcjLbgq2hOv-image.png)

<p class="callout info">This part can be updated after the event creation by opening on it from the calendar.  
</p>

In the next windows, you can change some other settings according to your need. Make sure that "Teams Encoder" is checked on the "How will you produce" section.

![image.png](https://docs.streamaura.net/uploads/images/gallery/2025-04/scaled-1680-/1mFkLtrcDDfGx1VI-image.png)

We also recommend to uncheck "Recording available to attendees" as we will provide you a version of better quality after the live.  
  
Once you're ready to go, you can click on schedule to finish the creation.

<p class="callout info">This part can also be updated after the event creation by opening the event on the calendar the by clicking on "Settings".</p>

# Teams Town hall

<p class="callout warning">Disclaimer : when this documentation is written, there is a new display appearing is teams calendar. However, the new display doesn't show options to create town hall at the moment so this documentation require to use the older dipslay by making sure that the option "New Calendar" is unchecked at the top right corner of teams' window.  
  
![image.png](https://docs.streamaura.net/uploads/images/gallery/2025-04/scaled-1680-/P9yHZBvcQw5k2DgW-image.png)</p>

### Create a town hall  


#### Creation

In order to create a Teams Town hall, you need to unfold the menu on the "New meeting" button (1) then select Town hall (2).

![image.png](https://docs.streamaura.net/uploads/images/gallery/2025-04/scaled-1680-/geFm5QHqpjcIkJNY-image.png)

#### Settings

Once you've clicked on Town hall, a new window pop up for the configuration.

There, you can set the title (1) as well as the details of your event. In order to allow us to join your event, add our email address (2) as co-organizer. The new presenter will be displayed below the organizer. Once you're done with your own settings, click on "Meeting options" (3) to continue.

![image.png](https://docs.streamaura.net/uploads/images/gallery/2025-04/scaled-1680-/9CYBBgK4a4p3tTol-image.png)

In the new window, under the "Production tools" menu (1), enable "RTMP-in" (2). You can do your other configurations then click on "apply" and then, back on the previous window, click on "Save and send invites".

![image.png](https://docs.streamaura.net/uploads/images/gallery/2025-04/scaled-1680-/WVA4dn7V2041omHh-image.png)

You can now finish your configuration and click on publish on the top right corner to finish and get your attendees link.

![image.png](https://docs.streamaura.net/uploads/images/gallery/2025-04/scaled-1680-/kMzXsNBnH059aREk-image.png)

<p class="callout info">You can modify your settings after the creation by double-clicking on the event in the calendar then clicking on "Manage event"</p>

# Overview of Microsoft Teams Event Types

<p class="callout info">This page summarizes the different Microsoft Teams event types, their participant capacity, and whether each one supports live human language interpretation. Use it as a quick reference when planning a multilingual or large-scale event.</p>


Microsoft Teams offers several event formats, each designed for a specific use case. Choosing the right one depends mainly on three criteria: the expected audience size, the level of interaction needed, and whether live human interpretation is required.

The four main formats are **Meetings**, **Webinars**, **Town halls** and (the now deprecated) **Live events**.

### Participant capacity and live interpretation

The table below summarizes the maximum number of participants and the availability of live human interpretation channels for each Teams event type.

| Event type | Interactive participants | View-only mode | Max total | Live human interpretation |
|---|---|---|---|---|
| **Standard meeting** | 1,000 | Up to 10,000 additional | 11,000 | ✅ Yes (up to 1,000 participants) |
| **Webinar** | 1,000 | — | 1,000 | ✅ Yes |
| **Town hall (standard)** | Presenters only | 10,000 | 10,000 | ❌ No |
| **Town hall (Teams Premium)** | Presenters only | 20,000 – 50,000 | 20,000 – 50,000 | ❌ No |
| **Town hall (LEAP assistance)** | Presenters only | Up to 100,000 | 100,000 | ❌ No |
| **Live events (deprecated)** | Presenters only | 10,000 (temporarily 20,000) | 10,000 – 20,000 | ❌ No |
| **Meet now / ad-hoc / 1:1 call** | — | — | — | ❌ No |
| **End-to-end encrypted (E2EE) meeting** | — | — | — | ❌ No |

<p class="callout warning">Microsoft is gradually phasing out Live events in favor of Town halls. We recommend planning new broadcast-style events as Town halls.</p>

### Details by event type

#### Standard meeting

Standard Teams meetings can host up to 11,000 participants in total: the first 1,000 attendees can fully interact (audio, video, screen sharing, chat), and any additional attendees — up to 10,000 more — join in view-only mode.

When a meeting reaches 1,000 attendees, the meeting organizer and presenters will see a banner indicating that new attendees will join as view-only.

<p class="callout info">Breakout rooms can only be created in meetings with fewer than 300 attendees. Creating breakout rooms automatically caps the meeting at 300 attendees.</p>

#### Webinar

Webinars are structured events with clear presenter and attendee roles. They support up to 1,000 attendees and include registration management, a customizable event and registration site, and event-oriented default meeting options.

#### Town hall

Town halls are designed for one-to-many broadcast scenarios. Attendees can watch presenters and participate through Q&A, but their cameras and microphones stay off.

- **Standard licenses**: up to 10,000 attendees
- **Teams Premium**: up to 20,000 – 50,000 attendees (depending on attendee capacity packs)
- **LEAP (Live Event Assistance Program)**: up to 100,000 attendees, on request, at least two weeks before the event

#### Live events (deprecated)

Live events support up to 10,000 attendees by default, with a temporary increase to 20,000 until further notice. Up to 100,000 attendees can be planned through the Microsoft 365 Assistance Program.

Microsoft recommends transitioning to Town halls, as support for Live events will eventually end.

### Cross-cutting limits

- **Maximum duration**: meetings, webinars and town halls have a 30-hour time limit.
- **Breakout rooms**: not supported in town halls; only available in meetings/webinars with fewer than 300 attendees.
- **External presenters in town halls**: up to 20.

### Live human interpretation

Live human interpretation lets organizers assign professional interpreters to language pairs before the event. During the event, attendees pick their preferred language channel and use a volume slider to balance the original speaker's audio against the interpreted audio.

#### Where it is supported

Language interpretation is supported for regular scheduled meetings, channel meetings, meetings with up to 1,000 participants, and webinars.

Key technical points:

- **Up to 16 language pairs** per event, with one interpreter assigned per language direction.
- **Recordings capture only the original audio** — the interpreter's audio is not included in the recording.
- **Live captions only follow the main speaker**, not the interpreter.
- **Interpretation must be configured before the event starts**, by enabling the feature in meeting options and adding the interpreters as required attendees.

#### Where it is NOT supported

Live human interpretation is **not** available in:

- Town halls
- Live events
- Ad-hoc meetings ("Meet now") and 1:1 calls
- Meetings using Microsoft Teams Rooms with personal devices
- Teams Free meetings
- End-to-end encrypted (E2EE) meetings
- Breakout rooms (the main meeting can be interpreted, but interpretation stops when breakout rooms start)

<p class="callout warning">If your event requires live human interpretation AND a very large audience (above ~1,000 attendees), Teams native interpretation will not fit. In that case, plan a webinar at the 1,000-attendee limit, or use an external interpretation platform (such as a third-party RSI service) alongside a Teams town hall.</p>

#### Interpreter agent (Copilot) — AI alternative

Microsoft also offers an AI-powered "Interpreter agent" that requires a Microsoft 365 Copilot license. Unlike the human interpretation feature, the Interpreter agent is supported in meetings, webinars **and town halls**, making it currently the only built-in way to provide real-time spoken translation in a Teams town hall.

The Interpreter agent is an AI service, not a substitute for a professional human interpreter — quality, terminology accuracy, and handling of overlapping speech are limited compared with a trained interpreter.

### Choosing the right event type

| If you need... | Best fit |
|---|---|
| Full two-way interaction up to 1,000 people | Standard meeting |
| Registration, branding, attendance reporting | Webinar |
| Live human interpretation | Standard meeting or webinar |
| 1,000–10,000 view-only attendees, no human interpretation | Town hall |
| 10,000–100,000 attendees | Town hall with Teams Premium + LEAP |

### Official references

- [Limits and specifications for Microsoft Teams](https://learn.microsoft.com/en-us/microsoftteams/limits-specifications-teams)
- [Overview of meetings, webinars, and town halls](https://learn.microsoft.com/en-us/microsoftteams/overview-meetings-webinars-town-halls)
- [Meetings, webinars, and town halls feature comparison](https://learn.microsoft.com/en-us/microsoftteams/meeting-webinar-town-hall-feature-comparison)
- [Plan for Teams meetings](https://learn.microsoft.com/en-us/microsoftteams/plan-meetings)
- [Get started with town hall in Microsoft Teams](https://support.microsoft.com/en-us/office/get-started-with-town-hall-in-microsoft-teams-33baf0c6-0283-4c15-9617-3013e8d4804f)
- [Switch from Microsoft Teams live events to town halls](https://support.microsoft.com/en-us/office/switch-from-microsoft-teams-live-events-to-town-halls-c71bf6e2-ece1-4809-900e-51271f39ac72)
- [Tips for setting up large meetings and events in Microsoft Teams](https://support.microsoft.com/en-us/office/tips-for-setting-up-large-meetings-and-events-in-microsoft-teams-ce2cdb9a-0546-43a4-bb55-34ab98ab6b16)
- [Use language interpretation in Microsoft Teams meetings](https://support.microsoft.com/en-us/office/use-language-interpretation-in-microsoft-teams-meetings-b9fdde0f-1896-48ba-8540-efc99f5f4b2e)
- [Interpreter in Microsoft Teams meetings and calls](https://support.microsoft.com/en-us/office/interpreter-in-microsoft-teams-meetings-and-calls-c7efe2bb-535d-42ab-a5c4-d2d91619b46d)
- [Manage Interpreter agent for your organization](https://learn.microsoft.com/en-us/microsoftteams/interpreter-agent-teams)

# Event Engine State API

Brainsonic Live is relying on an in-house application called Event Engine. For each digital event, an Event Engine instance is created.

This API allows third party applications to get information about an Event Engine instance configuration and state.

<p class="callout info">The access to this API may incur additional charges  
To obtain an API key and secret get in touch with your Brainsonic Live representative</p>

We assume that this third party application is split into a frontend application that is executed on client environment and a backend application that runs on a server.

This information is provided thanks to two requests :

- `getStateURL` intends to be requested from a backend application. This returns the endpoint URL that frontend application will need to request.
- `getState` allows the frontend application to request Event Engine instance state every 5s.

<div drawio-diagram="302"><img src="https://docs.streamaura.net/uploads/images/drawio/2022-11/wcLIy36rnqwt11we-drawing-19-1668519146.png" alt=""/></div>

1. The frontend application get the State URL from the backend application
2. The backend application get the Event Engine instance state URL  
    
    - Carries a bearer token. JWT HS512 format,
    - The token is signed with a secret (API key)
    - Payload contains a service ID (`aud`), a client ID (`iss`) and an expiration date (`exp`)
    - TTL range = 30s - 60s
    - To be cached on backend for 15 minutes
3. Every 5 seconds, the frontend application pull the Event Engine instance state 
    - Response is cached for 5 seconds

#### Exemple use case

1. Frontend application request the State URL to backend application (request 1)
2. If the backend application obtained the State URL more than 15 minutes ago then it needs to be requested again (request 2).  
    There is no need to maintain a state on the backend server. A 15 minutes cache on request 1 is enough.
3. Frontend application uses the State URL to pull Event Engine instance state every 5 seconds (request 3)
4. Frontend application requests a new State URL to the backend application every 15 minutes.

#### get State URL  


```
requete Method GET
requete Header Authorization: Bearer <JWT>
reponse Cache: no-cache
```


##### Success response  


a json object holding the following properties

- stateUrl `string` URL that need to be requested by frontend application

##### response Statuses

- Success 200
- Unauthorized Status 401
- Error Status 400

##### Properties

The token carried by the request is a Json Web Token (JWT) encrypted with a shared secret. Secret is shared between Event Engine and the third party backend application

- alg: HS512
- iss: &lt;your site/application ID&gt;
- aud: &lt;service ID&gt;
- exp: 30s or 60s

#### get Sate  


```
requete Method GET
response Cache 5s
response Status
```


##### Success response  


a json object holding the following properties

- playerState `string` : `custom` | `prelive` | `live` | `postlive` | `replay` | `interruption`  
    playerState values relates to the corresponding site states   
    \- custom: the site displays a custom layout. A typical setup is a countdown as long as a video loop background   
    \- prelive: on the site a "Live is about to start" waiting card or equivalent is visible  
    \- live: the live player is loaded and visible  
    \- postlive: the site displays a "Live has ended" message or equivalent  
    \- replay: the replay is available  
    \- interruption: the site displays an interruption "Live will resume soon" message or equivalent
- playerManifest `string` HLS URL  
    The manifest loaded by our live player. NB. the value can change from one request to the other.
- countdown `object` Countdown properties 
    - visible `boolean` : `true` | `false`  
        When true, the countown is visible on our site above the player or waiting card
    - end `unix timestamp` : countdown end time  
        When reached the countown displays an end message
    - serverTime `unix timestamp` server current time  
        You can adjust end on the client with respect to the local and server time difference
- Example of assets properties  
    
    - customText `Array` <span lang="EN-US" style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-fareast-font-family: DengXian; mso-fareast-theme-font: minor-fareast; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">an array of strings.<span style="mso-spacerun: yes;"> </span>The `custom` countdown text split in lines.</span>
    - <span lang="EN-US" style="font-size: 11.0pt; font-family: 'Calibri',sans-serif; mso-fareast-font-family: DengXian; mso-fareast-theme-font: minor-fareast; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">customTextIsDark `boolean` true when the text color is dark, false otherwise.</span>
    - logoImg `string` URL of the logo image for `custom` states.
    - customUseVideo `boolean` when `true`, hints that the customBgVideo916 is available
    - customBgVideo916 `string` URL of the video to playback (loop) on `custom` state, 9:16 ratio
    - customBgImg916 `string` URL of the background image on `custom` state, 9:16 ratio
    - customFgImg916 `string` URL of the foreground image on `custom` state, 9:16 ratio
    - preliveUseVideo `boolean` when `true`, hints that the preliveBgVideo916 is available
    - preliveBgVideo916 `string` URL of a video on `prelive` state, 9:16 ratio
    - preliveBgImg916 `string` URL of the background image on `prelive` state, 9:16 ratio
    - preliveFgImg916 `string` URL of the foreground image on `prelive` state, 9:16 ratio
    - postliveUseVideo `boolean` when `true`, hints that the postliveBgVideo916 is available
    - postliveBgVideo916 `string` URL of a video on `postlive` state, 9:16 ratio
    - postliveBgImg916 `string` URL of the background image on `postlive` state, 9:16 ratio
    - postliveFgImg916 `string` URL of the foreground image on `postlive` state, 9:16 ratio
    - interruptionUseVideo `boolean` when `true`, hints that the interruptionBgVideo916 is available
    - interruptionBgVideo916 `string` URL of a video on `interruption` state, 9:16 ratio
    - interruptionBgImg916 `string` URL of the background image on `interruption` state, 9:16 ratio
    - interruptionFgImg916 `string` URL of the foreground image on `interruption` state, 9:16 ratio

##### Response statuses

- Success 200
- Unauthorized Status 401
- Error Status 400

#### Limitations

##### get State URL 

- Hit/s = 1
- Maximum Hit/minute = 4

# Embedded Player Customization

<p class="callout info">Event Engine can be customized with event-specific assets. In order to simplify integration workflow, especially for last minute assets delivery, the following settings are mandatory.</p>


#### Different states

<div drawio-diagram="726"><img src="https://docs.streamaura.net/uploads/images/drawio/2024-09/LWmwH9Byl9lmsBbE-drawing-17-1725958322.png" alt=""/></div>


#### Layers composition

<div drawio-diagram="727"><img src="https://docs.streamaura.net/uploads/images/drawio/2024-09/tsuVkpjzGjhqa21u-drawing-17-1725958421.png" alt=""/></div>

#### Expected material

The following list will help us integrate quickly and seamlessly your custom design to

1. Event Engine Web interface, i.e., for embedded digital event,
2. [Event Engine State API](https://docs.streamaura.net/books/livestream-to-third-parties/page/event-engine-state-api "Event Engine State API"),
3. Preshow video/image slates

<p class="callout warning">If you are using **Figma** please  
- name the elements with unique label (i.e., `myLabel-language-[ratio:169|916]`)  
- group elements by `language` then `ratio`  
- use the `/` character as folder/group prefix</p>

- All 16:9 slates (prelive, postlive, interruption, custom) 
    - including foreground and background
    - <div drawio-diagram="391"><img src="https://docs.streamaura.net/uploads/images/drawio/2023-01/HYPJzqZPBrL7wYUJ-drawing-17-1673606880.png" alt=""/></div>
    - PNG format
    - 1920x1080
    - 960x540
- All 9:16 slates (prelive, postlive, interruption, custom) 
    - including foreground and background
    - <div drawio-diagram="393"><img src="https://docs.streamaura.net/uploads/images/drawio/2023-01/8KLKs7BpzctwzlQa-drawing-17-1673607002.png" alt=""/></div>
    - PNG format
    - 1080x1920
    - 540x960
- All 16:9 slates (prelive, postlive, interruption, custom) 
    - foreground only with transparent background (with bounding box)
    - <div drawio-diagram="395"><img src="https://docs.streamaura.net/uploads/images/drawio/2023-01/g9Xx5Pv87PnMlFc1-drawing-17-1673607062.png" alt=""/></div>
    - PNG format
    - 1920x1080
    - 960x540
- All 9:16 slates (prelive, postlive, interruption, custom) 
    - foreground only with transparent background (with bounding box)
    - <div drawio-diagram="396"><img src="https://docs.streamaura.net/uploads/images/drawio/2023-01/HOXy8LHnEmPmvpnP-drawing-17-1673607079.png" alt=""/></div>
    - PNG format
    - 1080x1920
    - 540x960
- All 16:9 dynamic foreground 
    - foreground only with transparent background (with bounding box and without dynamic content like countdown)
    - <div drawio-diagram="397"><img src="https://docs.streamaura.net/uploads/images/drawio/2023-01/kXaXlZZF8PEjc5sK-drawing-17-1673607160.png" alt=""/></div>
    - PNG format
    - 1920x1080
    - 960x540
- All 9:16 dynamic foreground 
    - foreground only with transparent background (with bounding box and without dynamic content like countdown)
    - <div drawio-diagram="398"><img src="https://docs.streamaura.net/uploads/images/drawio/2023-01/5Lj99y66oiiskpKk-drawing-17-1673607200.png" alt=""/></div>
    - PNG format
    - 1080x1920
    - 540x960
- 16:9 Background 
    - <div drawio-diagram="399"><img src="https://docs.streamaura.net/uploads/images/drawio/2023-01/qK95yJR8tveoGGVK-drawing-17-1673607221.png" alt=""/></div>
    - PNG format
    - 1920x1080
    - 960x540
- 9:16 Background 
    - <div drawio-diagram="400"><img src="https://docs.streamaura.net/uploads/images/drawio/2023-01/vGyDTELj211H3k0R-drawing-17-1673607247.png" alt=""/></div>
    - PNG format
    - 1080x1920
    - 540x960