2

enter image description hereIssue: I am working on iOS WebRTC mesh conference call of 4 persons and after running video conference call of 5 or 6 minutes, memory size is increasing and whole application becomes hang.

Scenario: 4 persons conference calls for only audio or only video(without audio) is working fine. but facing memory size increasing issue with 4 person on video conference call.

What we are doing:

  1. We are using very low bit rates and frames and default video codec.

Profiler screen shot:

Using below configuration for 4 persons: Minimum bit rate: 10000 Maximum bit rate: 40000 Current bit rate: 20000

We are using lowest resolution of the device via:

 private func startCapturer(frontCamera:AVCaptureDevice, capturer:RTCCameraVideoCapturer) {
        let fps = 15
        let options = RTCCameraVideoCapturer.supportedFormats(for: frontCamera)
            var supportable = (options.sorted { (f1, f2) -> Bool in
                let width1 = CMVideoFormatDescriptionGetDimensions(f1.formatDescription).width
                let width2 = CMVideoFormatDescriptionGetDimensions(f2.formatDescription).width
                return width1 < width2
            }).first! 
        capturer.startCapture(with: frontCamera,
                              format: supportable,
                              fps: fps)

}

Anton Menshov
  • 2,266
  • 14
  • 34
  • 55
Abhishek Verma
  • 137
  • 1
  • 6

1 Answers1

-1

Please refer to these links for better understanding:

Users in WebRTC call

and for the performance evaluation please follow the document:

Performance evaluation for WebRTC

imperial
  • 9
  • 3
  • When memory size is increasing then we are getting logs like:- [RTCCameraVideoCapturer captureOutput:didDropSampleBuffer:fromConnection:]): Dropped sample buffer. Reason: OutOfBuffers – Abhishek Verma Jun 21 '21 at 13:31
  • The link you can follow for understanding the error log you are getting: https://developer.apple.com/documentation/avfoundation/avcapturevideodataoutputsamplebufferdelegate/1388468-captureoutput?language=objc – imperial Jun 21 '21 at 13:33
  • Is there ant way, We can clear and manage that buffer. – Abhishek Verma Jun 21 '21 at 14:01
  • Please follow the proper guideline and tutorial in this link: https://www.html5rocks.com/en/tutorials/webrtc/basics/ – imperial Jun 21 '21 at 14:37