Невозможно отобразить на экране c с помощью набора воспроизведения через веб-сайт - PullRequest
0 голосов
/ 13 апреля 2020

Здравствуйте! Я пытаюсь просмотреть трансляцию с использованием новейших библиотек webrt c, но постоянно получаю сообщение об ошибке:

iOS 13.0 и выше: прямая трансляция остановлена ​​из-за попытки начать недопустимую трансляцию сеанс.

меньше, чем iOS13, но больше, чем iOS 12.0: прямая трансляция остановлена ​​из-за: (ноль)

Буду очень признателен, если кто-нибудь сможет ответить на мой вопрос. Спасибо

 var peerConnectionFactory: RTCPeerConnectionFactory?
            var localVideoSource: RTCVideoSource?
            var videoCapturer: RTCVideoCapturer?
            func setupVideoCapturer(){
                    // localVideoSource and videoCapturer will use 
                    localVideoSource = self.peerConnectionFactory!.videoSource() 
                    videoCapturer = RTCVideoCapturer()
                    localVideoSource.capturer(videoCapturer, didCapture: videoFrame!)

                    let videoTrack : RTCVideoTrack =   self.peerConnectionFactory!.videoTrack(with: localVideoSource, trackId: "100”)

                    let mediaStream: RTCMediaStream = (self.peerConnectionFactory?.mediaStream(withStreamId: “1"))!
                    mediaStream.addVideoTrack(videoTrack)
                    self.newPeerConnection!.add(mediaStream)
                }


         override func processSampleBuffer(_ sampleBuffer: CMSampleBuffer, with sampleBufferType: RPSampleBufferType) {
             switch sampleBufferType {
                       case RPSampleBufferType.video:

                    // create the CVPixelBuffer
                    let pixelBuffer:CVPixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer)!;

                    // create the RTCVideoFrame
                    var videoFrame:RTCVideoFrame?;
                    let timestamp = NSDate().timeIntervalSince1970 * 1000
                    videoFrame = RTCVideoFrame(pixelBuffer: pixelBuffer, rotation: RTCVideoRotation._0, timeStampNs: Int64(timestamp))
                    // connect the video frames to the WebRTC
                    localVideoSource.capturer(videoCapturer, didCapture: videoFrame!)

                    break
                }
            } 
...