meetbot.dev

03 · mobile recording sdk

Q3 2026 출시 · 임베디드 SDK 전용

모바일 캡처, 솔직히.

A Swift framework and a Kotlin module you embed in your app. Captures the ambient mic during a meeting and uploads to your tenant. iOS + Android land Q3 2026 — and we're upfront about what mobile OSes will and won't let us do.

개요

왜 존재하는가.

통합하기 전에 읽으세요. Apple의 ReplayKit과 Android의 MediaProjection은 모두 다른 앱의 VoIP 오디오 캡처를 근본적으로 차단합니다. 이는 iOS에서 다른 앱에서 실행되는 Zoom, Meet 또는 Teams에서 듣는 것을 녹음할 수 없다는 의미입니다 — Android도 같은 이유로 AudioPlaybackCaptureUSAGE_VOICE_COMMUNICATION을 차단합니다. mobile에서 "시스템 오디오 캡처"를 파는 사람은 거짓말을 하거나, 표면화하지 않은 jailbroken 장치 한정사가 있는 것입니다.

우리가 할 수 있는 것: 앱이 전달하는 회의 메타데이터와 함께 주변 마이크를 캡처하고, Whisper (호스티드 또는 BYOK)를 통해 실행하고, 합리적인 화자 분리가 있는 단일 트랙 트랜스크립트를 생성합니다. 대면 회의에서는 이것이 전체 제품입니다. 원격 회의에서는 "대화의 당신 측, 전사됨"입니다. 한계에 정직하고 어쨌든 출시합니다.

iOS. 네이티브 Swift, Swift Package Manager + CocoaPods를 통해 배포. 백그라운드 오디오 모드 (UIBackgroundModes: ["audio"]), 사용자가 녹음이 켜져 있음을 항상 알 수 있도록 빨간 상태 바 알약 (App Store 가이드라인 5.1.1), 통합자가 표면화해야 하는 일회성 "모든 참가자의 동의를 얻었습니다" 모달 — 미국 12개 주가 양자 동의를 요구합니다. Android. Maven Central의 Kotlin 모듈, microphone 타입의 포그라운드 서비스, MediaCodec에서 Opus로, 같은 업로드 경로. MIT 라이선스 참조 앱은 github.com/meetbot/samples에 있습니다.

계획된 인터페이스

Spec, 공개적으로.

item

Meetbot.start(meta:)

오디오 세션을 열고, Opus 청크를 디스크에 쓰고, 백그라운드 URLSession 업로드 작업을 통해 업로드.

item

Meetbot.stop()

마무리 + 완료 delegate를 발행. 녹화 id가 webhook으로 돌아오는 것과 일치.

item

Meetbot.requestPermissions()

앱이 카피를 재정의할 수 있는 마이크 권한. 같은 호출에 백그라운드 오디오 entitlement 검사.

item

Two-party-consent modal

앱이 세션당 한 번 표시하는 첫 실행 UI 프롬프트. 요구하지 않는 관할에서는 기본 꺼짐.

item

Kotlin parity module

Maven Central. MediaProjection 기반 포그라운드 서비스 (microphone 타입), MediaCodec을 통한 Opus 인코딩.

item

samples/mobile-meeting-recorder

엔드 투 엔드 iOS + Android 데모 앱. MIT. 업로드 흐름, 동의 모달, resume-on-resume-from-background 동작을 보여줌.