我使用 WebRTC 渲染远程视频失败。对于上下文,我使用 Janus 的流媒体插件。
我正在关注到目前为止我所读到的内容。每当peerConnection(_ peerConnection:, didAdd stream:)
调用时RTCPeerConnectionDelegate
,我都会创建一个远程渲染器并将其添加到委托向我提供的流的第一个 videoTrack 中,如下所示:
#if arch(arm64)
let remoteRenderer = RTCMTLVideoView(frame: self.view.frame)
remoteRenderer.videoContentMode = .scaleAspectFill
#else
let remoteRenderer = RTCEAGLVideoView(frame: self.view.frame)
#endif
stream.videoTracks.first?.add(remoteRenderer)
self.view.addSubview(remoteRenderer)
Run Code Online (Sandbox Code Playgroud)
但视频无法显示,只有黑屏。
我的代表还调用了peerConnection(_ peerConnection:, didChange newState:)
newState,RTCIceConnectionState.connected
这让我认为连接良好。