ReVue KITSwift reference Guides

Class

VideoCompositor

視訊合成器 — 將多路 VideoTrack 按合成模板合成為一路輸出(獨立工具)

class VideoCompositor

Overview

不綁定 Room,用戶自己建立、設定、發布。

不能同時從多條執行緒呼叫,請在主執行緒呼叫;isRunning、currentTemplate 在呼叫的那條執行緒發出通知。

let compositor = VideoCompositor()
compositor.fps = 30
compositor.resolutionSize = CGSize(width: 1920, height: 1080)
compositor.start()

// 設定合成模板
let template = CompositeTemplate(trackPositions: [
    VideoTrackPositionInfo(track: cameraTrack,  normalizedRect: CGRect(x: 0, y: 0, width: 0.5, height: 1.0)),
    VideoTrackPositionInfo(track: remoteTrackA, normalizedRect: CGRect(x: 0.5, y: 0, width: 0.5, height: 1.0)),
])
compositor.setTemplate(template)

// 預覽
videoView.track = compositor.outputTrack

// 發布給好友
if let output = compositor.outputTrack {
    try await Room.shared.localParticipant.publish(videoTrack: output, to: participant)
}

// 停止(合成模板會被清掉,再 start 之後要重新 setTemplate)
compositor.stop()

Topics

Initializers

Instance Properties

Instance Methods