Microphone settings

These Eagle 3D Streaming settings control the microphone your viewers speak into and what reaches your Unreal app. Here is what each one does, what you can set it to, and what changes if you go all the way to either end.

Where: Control Panel › your app › a stream link's configuration › pencil icon (edit) › switch on Advanced Options › Microphone tab.

Start here

Turn on Use Browser side Microphone first. It captures the viewer's microphone in their browser and sends it to your app, and every other setting on this tab describes that microphone — so the rest stays greyed out until you switch it on.

When it is on, each viewer is asked by their browser for permission to use the microphone the first time they open the stream. If they say no, there is no microphone; nothing you set here can override that.

Sound quality — three switches

All three are off by default, which gives the fastest, most direct sound. Each one adds a small amount of processing, so turn them on to solve a problem rather than as a matter of course.

Echo cancellation

Stops your app's own sound coming back in through the viewer's microphone.

Off — the default

Perfectly fine when viewers wear headphones. On speakers, the microphone picks up your app's audio and sends it back, and the app hears it as if the viewer were speaking.

On

The browser removes your app's sound from what the microphone hears. Adds a small delay, and can make a voice sound thinner when someone talks over loud app audio.

Turn it on if your app hears itself, or viewers are likely to use speakers rather than headphones.

Noise suppression

Reduces steady background sound — fans, air conditioning, traffic hum.

Off — the default

Everything the microphone hears is sent through. The right choice if the sounds in the room are part of what you want to capture.

On

Constant background sound is filtered out. It works on steady noise; sudden sounds still come through. It can occasionally clip the first moment of very quiet speech.

Turn it on if viewers are in noisy places — offices, showrooms, trade stands.

Automatic gain control

Evens out voices that are too quiet or too loud, so everyone reaches your app at a similar volume.

Off — the default

Volume is whatever the viewer's microphone produces. Someone sitting back from a laptop will be faint; someone speaking close may sound harsh.

On

The browser raises quiet voices and holds back loud ones. In a silent room it also lifts the background between sentences, which can be faintly audible.

Turn it on if some viewers come through much quieter than others.

Microphone limits — four numbers

Each of these accepts a range. If you enter something outside it, the settings will not save and you will be told which field and what range it accepts — nothing is silently adjusted behind your back.

Max bitrate

How much data the microphone is allowed to use, in bits per second. This limits only what the viewer sends up to your app — the sound your app sends back to them is not affected.

32000 speech
6000 lowest 510000 highest · default
At the lowest — 6000

Speech is still understandable but sounds thin and compressed. Uses a tiny fraction of the data. Worth it only for viewers on genuinely poor connections.

At the highest — 510000

The default, and effectively no limit at all. A microphone left here can use several hundred times more data than speech needs — data taken away from your video quality.

Recommended: 32000. Comfortable for speech and leaves the bandwidth for your video. Raise it only if you are capturing music or something other than talking.

Sample rate

How finely the microphone is measured, in hertz. A higher number captures more of the higher frequencies in a voice.

48000 default
8000 lowest 48000 highest
At the lowest — 8000

Telephone quality. Speech is clear, but sounds like s and f lose their crispness. Most devices will refuse this and give you 48000 anyway.

At the highest — 48000

Full quality, and what nearly every device offers. This is what you will normally get whether you ask for it or not.

Recommended: leave it blank. Almost every microphone runs at 48000 and will ignore a lower request.

Channels

Whether the microphone is treated as mono (one channel) or stereo (two).

1 default
1 — mono 2 — stereo
At the lowest — 1

Mono, and the right answer for a person talking. Half the data of stereo with nothing lost that a listener could hear.

At the highest — 2

Stereo. Doubles the data for a voice that has no stereo information in it. Some equipment reports two channels whatever you ask for.

Recommended: 1. Change it only if you are deliberately capturing something with a left and right side.

Max capture rate

The highest rate the viewer's end is allowed to send. Related to sample rate, but this one announces a ceiling rather than asking the microphone for a setting.

48000 default
8000 lowest 48000 highest
At the lowest — 8000

Tells the connection not to carry anything above telephone quality, so no data is spent on higher frequencies. A real saving, but a blunt one.

At the highest — 48000

No ceiling, which is the default. Lowering it often changes very little in practice, because the quality is already decided by the max bitrate above.

Recommended: leave it blank and use Max bitrate instead if you need to reduce what the microphone uses.

Checking that it works

Show microphone info in the info panel

Adds a microphone section to the stream's info panel: whether permission was given, whether sound is being sent, the delay, the data rate, the input level, and each setting shown as what the browser gave you next to what you asked for.

On — the default

The quickest way to answer “is the microphone working, and did my settings take effect?” It only reports; it cannot change the sound.

Off

Hides the section from viewers. Everything else carries on working exactly as before.

Turn it off for a polished, customer-facing stream where viewers should not see technical detail.

Reading the info panel

This is the microphone section as a viewer sees it, taken from a real session. Every row is explained underneath.

Microphone
Permissiongranted
Tracklive
Mutedfalse
Enabledtrue
Sendingyes
Latency (round trip)513 ms
Worst latency4258 ms
Jitter3.6 ms
Packets sent1835
Packets lost0
Bitrate5.7 kbps
Peak bitrate6.1 kbps
Average bitrate5.6 kbps
Input level31 %
Codecopus
Bitrate cap6 kbps · SDP allows 510 kbps
SDP stereotrue
Audio streams1
Bytes sent25711
Sample rate48000 Hz (asked 8000)
Channels2 (asked 1)
Echo cancellationfalse (asked 1)
Noise suppressionfalse (asked 1)
Gain controlfalse (asked 1)
Device59e6fc1f787e

Healthy in most respects — audio is flowing and nothing is being lost — but four settings were refused by the device, and the round trip is spiking badly.

RowWhat it tells you
Is the microphone working at all
PermissionWhether the viewer allowed their browser to use the microphone. granted is what you want. denied means they refused, and nothing else here will work until they allow it and reload. prompt means they have not answered yet. unavailable means their browser will not report it — which is not the same as denied.
TrackWhether a microphone is actually attached. live is healthy. ended means it was working and stopped. none means one was never attached.
MutedThe browser reporting that no sound is arriving from the device — a physical mute switch, or muted in the operating system. false is healthy.
EnabledWhether the page has switched the microphone off. Separate from Muted, and normally true.
SendingThe row to read first. yes means audio is genuinely leaving the viewer's browser. If this says no while Permission is granted and Track is live, the microphone is connected but silent.
Connection quality
Latency (round trip)How long a packet takes to reach the server and come back. This is network delay, not microphone delay. Under about 150 ms feels immediate; several hundred is noticeable in conversation.
Worst latencyThe highest round trip seen this session. A large gap between this and the current figure means the connection is unstable rather than simply slow — a steady 500 ms is easier to talk over than 80 ms that spikes to 4000.
JitterHow much the spacing between packets varies. Low single figures are healthy. High jitter is heard as choppy or robotic audio even when nothing is being lost.
Packets sentA running total for the session. It should keep climbing while someone is speaking.
Packets lostA running total. 0, or close to it, is what you want. A steadily rising number means audio is being dropped on the way.
How much data the microphone is using
BitrateWhat it is using right now. Drops to 0.0 when nothing is being sent.
Peak bitrateThe highest seen this session.
Average bitrateThe average across the whole session. It falls on its own while nothing is being sent, because the session keeps getting longer — expected, not a fault.
Bytes sentA running total for the session.
Bitrate capTwo limits shown together, because both are in force. The first is your Max bitrate setting; the second is the ceiling agreed when the connection was set up. The lower of the two wins, so “6 kbps · SDP allows 510 kbps” means your setting is what is actually limiting it.
What the microphone is doing
Input levelHow loud the signal is, as a percentage. Watch it while the viewer speaks: if it stays at 0 % they are connected but the microphone is picking up nothing — wrong device selected, or muted in the operating system.
CodecThe audio format in use. Always opus.
Audio streamsHow many separate audio streams are being sent. Normally 1.
SDP stereoWhether the connection was set up able to carry stereo. This describes the connection, not the microphone — the microphone's own setting is Channels, below.
DeviceA short identifier for the microphone in use. It is unique to your site, so the same physical microphone shows a different identifier elsewhere. It tells you whether two sessions used the same device, not which device it is.
Your settings, and what the browser did with them
Sample rateEvery row in this group shows what the browser actually gave you. The note in brackets appears only when that differs from what you asked for, so 48000 Hz (asked 8000) means your setting arrived and the device would not do it.
ChannelsSame. 2 (asked 1) is a device that only reports stereo.
Echo cancellationSame. false (asked 1) means you switched it on and the device would not apply it. The 1 is how the setting is stored; it means on.
Noise suppressionSame as echo cancellation.
Gain controlSame as echo cancellation.

If the microphone is switched off during a stream

A viewer can withdraw microphone permission in their browser while the stream is running. Only four rows react — and the last column is the one that surprises people.

RowWhile workingSwitched off mid-streamSwitched back on
Permissiongranteddeniedgranted
Trackliveendedstill ended
Sendingyesnostill no
Bitrate6.3 kbps0.0 kbps0.0 kbps
Mutedfalsefalsefalse
Enabledtruetruetrue
Latency, Jitter, Input levelupdatingstop updatingstop updating
Packets sent, Bytes sentrisingstop rising, total kepttotal kept
Packets lost, Worst latency, Peak bitratesession totalskeptkept
Average bitratesettlesfalls slowlyfalls slowly
Sample rate, Channels, processing rowscurrentlast knownlast known
Codec, Bitrate cap, SDP stereo, Audio streams, Deviceunchangedunchangedunchanged

The running totals are left alone on purpose, so after a viewer switches the microphone off you can still see how much they sent and how the connection behaved while it was working.

At a glance

Setting Accepts Default Suggested
Echo cancellationon / offoffOn for speakers
Noise suppressionon / offoffOn in noisy places
Automatic gain controlon / offoffOn for uneven voices
Max bitrate6000 – 51000051000032000
Sample rate8000 – 4800048000Leave blank
Channels1 – 211
Max capture rate8000 – 4800048000Leave blank
Show microphone infoon / offonOff for customers

Saved settings reach viewers the next time they open the stream. Anyone already watching keeps the settings they started with until they reload.

If something is not working

  1. No sound reaching your app at all. Check the info panel: if Permission says denied, the viewer refused the browser's request. They need to allow the microphone for your site and reload the page.
  2. It worked and then stopped. If Track says ended, the microphone was switched off part-way through — usually the viewer withdrew permission. Turning permission back on does not restart it; the page has to be reloaded.
  3. A setting does not seem to apply. Look for a note in brackets, like 48000 Hz (asked 8000). That means your setting arrived and the viewer's device would not do it. A row with no note in brackets was accepted.
  4. Your app hears its own audio. Turn on Echo cancellation, or ask viewers to use headphones.
  5. Video quality drops when someone speaks. The microphone is probably using more data than it needs. Set Max bitrate to 32000.

Last updated