- RevueSDK
- VideoCompositor
Class
VideoCompositor
視訊合成器 — 將多路 VideoTrack 按模板合成為一路輸出(獨立工具)
class VideoCompositorOverview
不綁定 Room,用戶自己建立、設定、發布。
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
// 手動發布
// Room.shared.localParticipant.publish(videoTrack: compositor.outputTrack)
// 停止
compositor.stop()
Topics
Initializers
Instance Properties
var currentTemplate: CompositeTemplate?當前模板(唯讀)
var fps: Int合成幀率(預設 30 FPS)
var isRunning: Bool合成器是否運行中(唯讀)
var outputTrack: LocalVideoTrack?合成輸出 Track(用於本地預覽或發布)
var resolutionSize: CGSize合成輸出解析度(預設 1280×720) 合成解析度 = 發送解析度,不做額外縮放
Instance Methods
func getTemplate() -> CompositeTemplate?取得當前模板
func setTemplate(CompositeTemplate)設定合成模板
func start()啟動合成器
func stop()停止合成器,釋放所有資源