RemoteMonster Community

영상 통화 중 화면 블랙아웃

영상 통화 중 간헐적으로 영상이 블랙아웃 되는 현상이 있습니다.

추적을 해보니. videoCapturer의 문제로 판단되는데요.
mediaError / UserMediaDeviceError

  • Media 특히 Camera를 못가져온 경우(Video를 On했음에도 불구하고))

  • Video Capture를 못가져온 경우

해당 에러값이 onError 콜백에서 내려오는 것인지 확인 요청 드리며,
문서에서는 해당 에러코드 정의에서 종료되어야 한다고 명시 되어있는 코드 값이

  • 4181, 4182 : 카메라 또는 마이크를 이용할 수 없음

RemonErrorCode 클래스에는 해당 에러코드가 정의 되지는 않은 듯 합니다.


블랙 아웃이 된 상태에서 재 연결 방법에 대해 문의 드립니다.
아예 채널을 종료 후 재연결을 하여야 하는 것인지
videoCapturer 를 다시 붙일 수 있는 방법이 있는 것인지요

안녕하세요.
안드로이드의 경우 캡처러, 레코더 문제인 경우 4161, 4162 로 코드가 정의되어
있습니다.

플랫폼에 따라 예외를 감지하는 부분의 차이로 에러코드가 다를 수 있습니다.
우선, 해당 문서는 업데이트 해두었으며, 실제 코드는 RemonErrorCode 클래스를
참고하시기 바랍니다.

입력 소스 관련 에러는 다음과 같습니다.
ANDROID_VIDEO_CAPTURER_ERROR
ANDOROID_AUDIO_RECODER_ERROR
ANNDROID_AUDIO_TRACK_ERROR

블랙아웃 증상이 정상적인 통화 중의 상황인지 연결 시도시 발생한 상황인지 불명확 한데요.

android, ios의 경우 주요 에러가 발생하면 자동으로 통화가 종료되고,
onError -> onClose 콜백이 호출됩니다.
onError 에서 발생한 오류를 저장 및 로깅 등 처리를 하시고, onClose 시
저장된 에러가 있는지를 판단해 정상적인 종료인지 에러에 의한 종료인지 판단하시면 됩니다.
에러에 의한 종료인 경우 서비스 정책에 따라 재 접속을 시도하시면 될 것 같습니다.

감사합니다.

Android에서 개발 중 입니다.

해당 현상은 통화를 건 사용자는 정상적으로 표시 되고 있었으며,
수신자 쪽에서 onConnect 콜백 정상 수신 하였으나 블랙아웃 상태 였습니다.

onError 에 대한 콜백은 없었습니다.

허나 onState 에서 reportLocalFrameRate 값은 0 으로 수신 되는 상황이였습니다.

이런 경우에 대한 처리 가능 한 방법이 있는지 문의 드립니다.

가장 베스트 방법은 통화가 끊기지 않고 화면이 정상? 재연결? 되는 방향입니다.

말씀하신 내용으론 onConnect 이후 진행이 이루어지지 않은 듯 보입니다.
onComplete 콜백이 전달되어야 실제 피어간 연결이 이루어진 상태라 보시면 됩니다.

해당 상황발생 시의 클라이언트 로그와 채널ID 등의 정보를 전달해주시면 검토해 보겠습니다.
보통 연결이 원활하지 않는 경우 동일한 채널 ID의 사용이나 이전 연결이 정상 해제되지 않은
경우 등이 있을 수 있습니다.

감사합니다.

채널 ID: RAAA002661

2020-05-22 14:28:43.400 W/RemonClient: Remon context is null

2020-05-22 14:28:47.149 D/Remon: validateInitParameter

2020-05-22 14:28:47.149 D/Remon: initObjects

2020-05-22 14:28:47.424 D/RemonClient: onStateChange=INIT

2020-05-22 14:28:47.493 D/Remon: showLocalvideo:

2020-05-22 14:28:47.493 D/Remon: showLocalvideo: capturer is created

2020-05-22 14:28:47.496 D/RemonCapturerManager: startCapturer

2020-05-22 14:29:05.307 D/RemonClient: onStateChange=CONNECT

2020-05-22 14:29:05.828 D/RemonClient: onAddRemoteStream

2020-05-22 14:29:05.834 D/RemonClient: onStateChange=COMPLETE

2020-05-22 14:29:05.834 I/RemonStatObserver: startReport

2020-05-22 14:29:06.358 I/RemonStatObserver: stat report is comming

2020-05-22 14:29:06.375 D/RemonStatObserver: localcandidateType=host,ipAddress=10.80.0.41

2020-05-22 14:29:06.375 D/RemonStatObserver: remotecandidateType=host,ipAddress=10.80.0.72

2020-05-22 14:29:06.658 I/RemonStatObserver: stat report is comming

2020-05-22 14:29:11.156 D/RemonStatObserver: localcandidateType=host,ipAddress=10.80.0.41

2020-05-22 14:29:11.156 D/RemonStatObserver: remotecandidateType=host,ipAddress=10.80.0.72

2020-05-22 14:29:11.457 I/RemonStatObserver: stat report is comming

2020-05-22 14:29:11.458 D/RemonStatObserver: localcandidateType=host,ipAddress=10.80.0.41

2020-05-22 14:29:11.458 D/RemonStatObserver: remotecandidateType=host,ipAddress=10.80.0.72

2020-05-22 14:29:11.552 D/RemonClient: onStateChange=CLOSE

2020-05-22 14:29:11.559 D/Remon: close: remon close is called

2020-05-22 14:29:11.614 D/RemonCapturerManager: removeObserver, id=9fff37c9-2448-4409-be44-4d767185fa13

2020-05-22 14:29:12.152 D/RemonCall: onClose: closeType=MINE

2020-05-22 14:29:12.152 D/RemonContext: remonContext close is done

2020-05-22 14:29:12.153 D/Remon: remon close is done

2020-05-22 14:29:12.183 W/RemonClient: Remon context is null

좀전에 재현이 되어 로그 추가 하였습니다.

안녕하세요.
로그상으로는 정상 접속후 약 3초뒤 유저가 직접 종료 시킨것으로 확인됩니다.
서버, 클라이언트 로그상으로는 별다른 문제는 확인되지 않네요.

보다 간단한 샘플로 테스트를 진행해 보셨으면 합니다.
저희쪽에서도 샘플앱으로는 특별히 문제가 되는 상황이 발생하지 않습니다.
단말의 특성일 수도 있으니 github의 examples 중 SimpleCall 샘플을 사용해
테스트를 진행해 보셨으면 합니다.

감사합니다.

로그 상으로 종료는 정상적으로 이루어진게 맞습니다.
종료 프로세스를 진행 했으니까요…

해당 시간 동안 수신자 측의 local video 가 나오지 않은 현상이였습니다…

onState 에서 report.localFrameRate = 0 으로 로그 확인 한 상태 입니다…

해당 값이 0 인 경우 videoCapturer 상태를 확인 후 처리 할 수 있는 방법 문의드린 것 입니다.

클라이언트와 서버 로그상으로는 로컬뷰가 표시되지 않는 이유를
확인할 수가 없으며, 추가적으로 샘플 등을 통해 해당 이슈에 대한 접근이 필요할 것으로
보인다는 의미입니다.

초기화 및 연결이 절차적으로 진행되기에 해당 상황에서 캡처러만 다시 시작하는 기능은
제공하지 않으며, 상호 연결을 재 시작해야 합니다.

감사합니다.