iPad Pro 영상 오디오 감쇠 원인 분석

마지막 업데이트 2026-07-22

작성일: 2026-07-02 · 대상: iPad Pro 11-inch (M5) 내장 스피커 + 내장 마이크 환경에서 MeetVideo Blob URL 영상 재생 중 대화인식 이벤트 발생 시 영상 오디오가 작아지는 현상

요약

현재 확인된 증상은 iPad Pro 11-inch (M5) 내장 스피커와 내장 마이크를 동시에 사용하는 경우에 재현된다. 코드상 apps/web/shared/ui/meet-video.tsx가 비디오 엘리먼트의 volume을 낮추는 직접 로직은 없다. 가장 유력한 원인은 iPadOS Safari/WebKit의 마이크 캡처 세션과 echo cancellation/AEC가 iPad Pro의 내장 스피커 출력과 내장 마이크 입력 사이의 되먹임을 줄이기 위해 시스템 레벨로 재생음을 감쇠시키는 동작이다.

따라서 이 문제는 Blob URL 자체보다 내장 스피커 출력, 내장 마이크 캡처, WebRTC/Realtime VAD/외부 STT, echo cancellation 조합의 기기 특성 문제로 보는 것이 타당하다.

증상

원인 판단

항목 판단 근거
MeetVideo 볼륨 제어 직접 원인 아님 apps/web/shared/ui/meet-video.tsxmuted, play(), pause(), setSinkId()를 다루지만 video.volume을 낮추지 않는다. 중간 재생 중 직접 음량을 줄이는 코드도 확인되지 않았다.
마이크 캡처와 음성 처리 유력 원인 apps/web/hooks/local-media-constraints.ts:10에서 echoCancellation: true, noiseSuppression: true, autoGainControl: true를 사용한다. apps/web/hooks/use-local-media-stream.ts:53에서 getUserMedia()로 마이크 스트림을 연다.
Realtime VAD 대화인식 트리거 경로 apps/web/entities/guest-session/model/use-ai-session.ts:2413input_audio_buffer.speech_started는 사용자 발화 상태를 갱신하고 필요 시 AI 응답을 취소한다. 이 이벤트 자체가 비디오 볼륨을 바꾸지는 않지만, 이벤트가 발생한다는 것은 마이크 캡처와 VAD가 활성 상태라는 뜻이다.
외부 STT 증폭 요인 apps/web/entities/guest-page-session/model/use-guest-page-session.ts:763에서 외부 STT가 켜지고 로컬 마이크 스트림이 있으면 STT observer를 시작한다. 같은 파일 :2406에서는 외부 STT를 켤 때 마이크도 함께 켜도록 구현되어 있다.
iPad Pro 내장 입출력 재현 조건 iPad Pro 11-inch (M5)는 4 speaker audio와 studio-quality four-mic array를 갖고 있어, 내장 스피커 재생음이 내장 마이크에 강하게 유입될 수 있다. WebRTC echo cancellation이 이 조합에서 적극 개입할 가능성이 높다.

코드 경로

1. 영상 재생

2. 마이크 캡처

3. Realtime/대화인식

4. 비AI 영상 스텝에서의 세션 유지

iPad Pro 기기 특성과의 관련성

iPad Pro 11-inch (M5)는 4 speaker audio와 studio-quality four-mic array를 갖는다. 같은 물리 장치에서 스피커 출력과 마이크 입력을 동시에 사용하면, 대화 시스템 관점에서는 강한 acoustic echo 상황이 된다. 이때 Safari/WebKit의 WebRTC 캡처 세션은 마이크 입력에서 재생음을 제거하려고 하고, iPadOS 오디오 세션은 통화형 또는 캡처형 처리로 전환될 수 있다.

이 때문에 DOM의 video.volume 값이 그대로여도 사용자가 듣는 실제 스피커 출력은 작아질 수 있다. 증상이 iPad Pro 내장 스피커 + 내장 마이크에서 재현되고 헤드셋이나 외부 오디오 장치에서는 줄어든다면, 이 가설은 더 강해진다.

검증 절차

  1. iPad Pro 내장 스피커 + 내장 마이크에서 외부 STT OFF, 마이크 OFF, 영상 단독 재생 상태를 확인한다.
  2. 같은 영상에서 외부 STT ON 또는 마이크 ON 상태로 전환하고 음량 감쇠 발생 시점을 기록한다.
  3. 같은 iPad Pro에 유선 또는 Bluetooth 헤드셋을 연결해 같은 절차를 반복한다. 헤드셋에서 사라지면 acoustic echo/AEC 영향으로 볼 수 있다.
  4. 임시 빌드에서 echoCancellation: false, noiseSuppression: false, autoGainControl: false 조합을 테스트한다.
  5. speech_started 전후로 video.volume, video.muted, audioTrack.enabled, audioTrack.readyState, navigator.userAgent, navigator.platform, navigator.maxTouchPoints를 로그로 남긴다.

대응 방안

운영 회피

제품 수정 후보

참조

관련 문서