Skip to content

Switch to Opus audio codec. Support USB microphones.#110

Open
jkaczman wants to merge 2 commits into
mainfrom
feat/opus-audio
Open

Switch to Opus audio codec. Support USB microphones.#110
jkaczman wants to merge 2 commits into
mainfrom
feat/opus-audio

Conversation

@jkaczman

@jkaczman jkaczman commented May 29, 2026

Copy link
Copy Markdown
Collaborator

Previously, our microphone used a lot of CPU (~25%) with 3 piped processes and using the AAC codec. This has been significantly improved through a non-piped implementation using the Opus codec. Now we're at roughly 1-3% CPU for the microphone.

Removed ICS microphone support for now in favor of a new PR later on.

Notably, in addition to the significant CPU performance increase, Opus is required to support WebRTC livestreams (secluso/mobile_client#11). So this is stepping stone for that that is now complete.

Future work should fix livestream audio (as noted in #36). I did not attempt to solve that.

Pairs with secluso/os#31 for the OS compatibility side of things.

fixes secluso/os#19

@jkaczman jkaczman moved this from Todo to Awaiting External Factor in v1.2 Release Jun 19, 2026
@jkaczman jkaczman moved this from Awaiting External Factor to In progress in v1.2 Release Jun 26, 2026
@jkaczman jkaczman removed this from v1.2 Release Jun 26, 2026
@jkaczman jkaczman changed the title Switch to Opus audio codec. Support USB / ICS-43432 microphone(s) via auto-detection. Switch to Opus audio codec. Support USB microphoens. Jun 28, 2026
@jkaczman jkaczman changed the title Switch to Opus audio codec. Support USB microphoens. Switch to Opus audio codec. Support USB microphones. Jun 28, 2026
@jkaczman jkaczman marked this pull request as ready for review June 28, 2026 16:23
@jkaczman jkaczman requested a review from arrdalan June 28, 2026 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ensure USB microphone support; fix CPU usage

1 participant