获取视频轨道的大小

Get size of video track

我使用 Twilio API 在两个用户之间创建视频聊天。 第一个用户视频图片必须是第二个用户图片上方的小圆圈。

第二个用户使用 USB 摄像头,我得到 "horizontal rectangle" 视频,所以我需要在这个矩形上用我的视频移动圆圈:

我尝试获取 CMVideoDimensions:

extension VideoChatViewController: TVIParticipantDelegate {
    func participant(_ participant: TVIParticipant, addedVideoTrack videoTrack: TVIVideoTrack) {
        logMessage(messageText: "Participant \(participant.identity) added video track")

        if (self.participant == participant) {
            videoTrack.attach(self.remoteView)
            let dimensions = videoTrack.videoDimensions
            let height = dimensions.height
            let width = dimensions.width
            print ("\(height) ; \(width)")
        }
    }
}

但我得到的是高度 = 0 和宽度 = 0。 如何获取视频轨道的大小?

这里是 Twilio 开发人员布道者。

我已经与视频团队谈过,我被告知 videoDimensions 将在即将推出的测试版中从 TVIVideoTrack class 中弃用,因为它无法正常工作特别好,正如您所发现的。

获得 videoDimensions 的更好方法是从 TVIVideoViewRenderer。以下是将视频视图渲染器添加到视频轨道的代码段:

let renderer = TVIVideoViewRenderer.init(delegate: self)
videoTrack.addRenderer(renderer)
renderer.view.frame = view.bounds
renderer.view.contentMode = .scaleAspectFill
view.addSubview(renderer.view)   

如果有帮助请告诉我。