承接 Day 11(Sidecar 模式),今天深入探討 影像編碼調校。不同編解碼器(H.264 / VP9 / AV1)、硬體加速(NVENC)、解析度與 FPS 的選擇,會直接影響 WebRTC 串流的 延遲、畫質與頻寬使用。這是使用者體驗能否流暢的關鍵。
優勢:
缺點:壓縮效率較差 → 需要較高位元率維持畫質。
優勢:壓縮率比 H.264 高 30% 左右,同等畫質下所需位元率更低。
缺點:
優勢:
缺點:
NVIDIA NVENC:GPU 內建硬體編碼器,專門處理 H.264 / H.265 / AV1。
延遲:單幀編碼延遲 < 10ms,遠低於軟體編碼。
並行度:一張 GPU 可同時支援多串流(依卡型號而異)。
建議:
場景 | 推薦解析度 | 推薦 FPS | 位元率區間 |
---|---|---|---|
遠端互動(低延遲控制) | 1280×720 | 30~60 | 2~4 Mbps |
高畫質展示(研究報告/錄影) | 1920×1080 | 30~60 | 4~8 Mbps |
4K 場景(僅展示,不交互) | 3840×2160 | 30 | 12~20 Mbps |
FPS 與延遲:
Bitrate 建議:可設 target/max,例如 target=4Mbps, max=8Mbps
,WebRTC 自適應調整。
在 Selkies Sidecar 中,可以透過環境變數或 Helm values.yaml 控制 pipeline:
# values-encoding.yaml
selkies:
webrtc:
codec: h264
video:
width: 1280
height: 720
framerate: 30
bitrate: 4000k # 4 Mbps
encoder: nvh264enc # NVIDIA H.264 NVENC
如果要測試 VP9/AV1,可改
codec: vp9
或codec: av1
,但需確認 GPU/瀏覽器支援。
やっべ、帰りが遅すぎ......