- RevueSDK
- VideoPublishOptions
Structure
VideoPublishOptions
視訊發佈選項 — 設定視訊 Track 的編碼參數
struct VideoPublishOptionsOverview
描述「發佈這個 Track 時要用哪種 codec、多少 fps、什麼降級策略」。 此為編碼發送層設定,跟採集層 (CameraCaptureOptions) 分離:
CameraCaptureOptions.fps= 相機硬體吐幀速率VideoPublishOptions.maxFps= 編碼器發送端節流上限
使用
// 預設:VP8 AllKeyframe(不破圖精神)、15 fps
try await localParticipant.publish(
videoTrack: track, to: friend,
options: VideoPublishOptions()
)
// 明確指定 VP8 low-latency preset
try await localParticipant.publish(
videoTrack: track, to: friend,
options: VideoPublishOptions(codec: .vp8LowLatency)
)
// 明確指定 H.264 + 自訂 bitrate
try await localParticipant.publish(
videoTrack: track, to: friend,
options: VideoPublishOptions(codec: .h264(H264Encoding(maxBitrate: 5_000_000)))
)
通話中動態調整
對已發佈的 track、在通話中改編碼參數,走 LocalTrackPublication 的 setter:
setCodec(_:)— 切換 codec(含 encoding)setMaxFps(_:)— 調整 fps 上限setVp8Encoding(_:)— 只調 VP8 encoding(當前 codec 必須是 vp8)setH264Encoding(_:)— 只調 H.264 encoding(當前 codec 必須是 h264)requestKeyframe()— 強制送 keyframe(畫面破圖恢復用)
切換 codec 不會中斷通話 — 內部走「換 send pipeline」(send_frame vs send_frame_encoded)而非 SDP 重談。
Topics
Initializers
Instance Properties
let codec: VideoCodec視訊編碼器 + 對應 encoding 參數(enum with associated value)
let degradationPreference: DegradationPreference品質降級偏好 — 頻寬不足時優先保持什麼、犧牲什麼
let maxFps: Int編碼器發送端 FPS 上限(預設 15)