【问题标题】:Get size of video track获取视频轨道的大小
【发布时间】:2017-03-29 09:42:52
【问题描述】:

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

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

我尝试获取 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。 如何获取视频轨道的大小?

【问题讨论】:

    标签: ios swift twilio twilio-api


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    我已经与视频团队进行了交谈,并被告知 videoDimensions 将在即将推出的测试版中从 TVIVideoTrack 类中弃用,因为正如您所发现的那样,它运行得不是特别好。

    获取videoDimensions 的更好方法是通过TVIVideoViewRenderer。这是一个用于将视频视图渲染器添加到视频轨道的 sn-p:

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

    如果这有帮助,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 2021-08-13
      • 2011-10-07
      • 2019-02-23
      • 2015-09-04
      • 2021-12-20
      相关资源
      最近更新 更多