聯繫我們

課程簡介

影音串流歷史、標準與架構基礎

  • 實時通訊協議的演變
  • 串流架構:客戶端-伺服器、P2P 和混合模型
  • 自適應碼率串流(ABR)原則
  • CDN 交付模型和原始伺服器配置 關鍵詞:串流架構、影音交付協議、自適應串流、CDN 架構、實時通訊、原始伺服器設置、邊緣計算

核心串流協議與傳輸技術

  • RTMP(實時訊息協議):舊有和過渡用途,Adobe Flash 遷移策略
  • HLS(HTTP 實時串流):Apple 的自適應串流標準,m3u8 清單,分段(segment)管理
  • MPEG-DASH:ISO 標準自適應串流,清單生成,碼率切換
  • WebRTC:點對點低延遲串流,TURN/STUN/ICE 伺服器,SFU/MCU 架構
  • SRT(安全可靠傳輸):開源損壞恢復協議,AES-256 加密,抗速率控制
  • WebSockets 和 SIP:交互式信令和實時會議 關鍵詞:RTMP 協議、HLS 串流、MPEG-DASH、WebRTC、SRT 協議、TURN/STUN 伺服器、SFU 架構、自適應碼率、低延遲串流、實時傳輸、影音信令

開源轉碼和媒體處理框架

  • FFmpeg:編碼器管理(H.264/HEVC AV1),管道構建,硬體加速(NVENC, QSV),流多路復用,格式轉換
  • GStreamer:管道架構,外掛程式生態系統(GIR),自訂元素創建,WebRTC 外掛程式集成
  • x264/x265:高級編碼配置檔(high, main, main10),PBR/ABR/CRF 速率控制,預設優化(slow 到 ultrafast)
  • HandBrake CLI:批處理媒體處理和基於雲的轉碼工作流程 關鍵詞:FFmpeg 管道、GStreamer 框架,
  • x264 編碼,HEVC/H.265 編碼器,AV1 編碼,轉碼優化,硬體編碼,編碼器管理,媒體處理,批處理轉碼,速率控制(CRF),編碼配置檔

開源串流伺服器與基礎設施

SRS(Simple Realtime Server - 騰訊):Docker 部署,HLS/DASH/WebRTC 模式切換,與 SRS Edge 的叢集配置

  • Wowza Streaming Engine(開源組件):流管理,虛擬主機配置,API 驅動的編排
  • nginx-mod-rtmp:RTMP 模組配置,HLS/DASH 模組設置,實時轉 VOD 轉換
  • Janus Gateway:WebRTC 媒體伺服器架構,外掛程式生態系統(VoIP 錄音,視頻會議),RESTful 管理 API
  • mediasoup:WebRTC SFU 庫,RTP/RTCP/RDTP 管理,消費者/生產者模式,simulcast 支持
  • Jitsi VideoBridge:JVB 配置,橋接叢集,與 JVB-colibri 的負載平衡
  • Ant Media Server Community Edition:WebRTC/RTMP/HLS 串流,儀表板配置,WebSockets 集成 關鍵詞:SRS 伺服器、nginx-rtmp-module、Janus Gateway、mediasoup SFU、Jitsi VideoBridge、Ant Media Server、Wowza 串流、WebRTC 媒體伺服器、Docker 部署、流編排、叢集配置

使用開源工具進行實時和點播影音生產

  • OBS Studio:場景管理,自訂過濾器和分析器,StreamDSP/NDI 集成,遠端監控,編碼預設
  • Lister(Open Broadcaster Tools):多場景設置,音源混合,虛擬相機支持(OBS-VirtualCam)
  • VLC Media Server:串流介面,多播單播轉換,播放清單管理
  • Mixxx:通過互聯網協議進行實時混音和 DJ 廣播
  • Whisper:用於實時字幕和轉錄的開源語音識別 關鍵詞:OBS Studio、影音生產、實時廣播、場景管理、NDI 集成、streamDSP、影音混合 音源管理、虛擬相機、VLC Media Server、轉碼、實時字幕、Whisper 開源語音識別

WebRTC 會議和群組串流系統

  • Jitsi Meet 開源堆棧:Prosody 配置,Jicofo 會話管理,組件式架構,自訂主題開發
  • mediasoup + WebRTC:SFU 架構設計,simulcast 和 SVC 編碼策略,頻寬估計
  • MediaSoup SFUs:WebRTC SFU 庫(C++/Node.js),房間拓撲,媒體流控制,simulcast 支持
  • LiveKit:WebRTC SFU 平台,房間管理,參與者管理,出口/入口 API,Kubernetes 部署
  • BigBlueButton:開源虛擬教室,基於 WebRTC 的螢幕共享,投票, breakout 房間,錄音
  • 關鍵詞:WebRTC 會議、Jitsi Meet、mediasoup SFU、Simulcast 編碼、SVC 可擴展視頻編碼、頻寬估計、BigBlueButton、LiveKit SFU、參與者管理、出口/入口、Kubernetes 部署、虛擬教室、螢幕共享、開源通訊

邊緣計算、CDN 集成與可擴展性策略

  • 全球低延遲的 Origin CDN 邊緣交付拓撲設計
  • FFmpeg 攝入點管理和多 CDN 負載平衡
  • 動態原始保護和邊緣緩存策略(Akamai CloudFront Fastly 邊緣工作者)
  • 多 CDN 串流:冗餘、故障轉移和成本優化
  • WebRTC 邊緣伺服器和全球 TURN 部署
  • 原生 Kubernetes 串流:K3s, KubeEdge, 邊緣容器編排 關鍵詞:CDN 交付、邊緣計算 Kubernetes、多 CDN、原始邊緣拓撲、Akamai CloudFront、動態原始、邊緣緩存、全球 TURN 伺服器、故障轉移冗餘、成本優化、K3s 邊緣編排

串流分析、監控與體驗質量(QoE)

  • 實時串流監控工具(FFprobe Prometheus, Grafana 儀表板)
  • 觀眾保留分析、緩衝事件、啟動時間測量
  • 開源可觀察性堆棧:Prometheus + Grafana 用於串流 KPI
  • ABR(自適應碼率)質量指標:碼率切換頻率、重新緩衝比率
  • 日誌關聯和除錯工具:Wireshark 包分析用於 RTP/RTCP 關鍵詞:串流分析、FFprobe 監控、Prometheus Grafana 儀表板、ABR 質量指標、觀眾保留、緩衝事件、QoE 測量 啟動時間、日誌關聯 Wireshark RTP 分析、開源監控

貨幣化、DRM 與內容保護

  • 開源生態系統中的 DRM 策略:PlayReady, Widevine, FairPlay 集成
  • 訂閱貨幣化模型:使用 Stripe open-payments 的定期計費,支付工作流程
  • 廣告插入:使用開源廣告伺服器(OpenX, Prebid)的 SSAI(伺服器端廣告插入)
  • 水印和指紋用於內容保護
  • 訪問控制,基於令牌的身份驗證,基於 JWT 的串流保護 關鍵詞:DRM 策略、PlayReady Widevine、FairPlay 內容保護、伺服器端廣告插入、OpenX 廣告伺服器、Prebid 開源、視頻水印、JWT 身份驗證、基於令牌的訪問控制、定期計費、訂閱貨幣化

部署架構、CI/CD 與容器化串流

  • 使用 Docker Compose 部署多服務串流堆棧(FFmpeg SRS Janus nginx)
  • 使用 Kubernetes Helm 圖表進行可擴展媒體伺服器叢集
  • 用於串流基礎設施的 CI/CD 管道(GitHub Actions GitLab CI)
  • 基礎設施即代碼:Terraform AWS CloudFormation 用於媒體服務
  • 負載平衡策略:HAProxy 輪詢 加权最少連接
  • 藍/綠和金丝雀部署用於零停機串流更新 關鍵詞:Docker Compose 串流堆棧 Kubernetes Helm 部署 CI/CD 管道 GitHub Actions Terraform CloudFormation 基礎設施即代碼 HAProxy 負載平衡 藍綠部署 金丝雀部署 零停機更新 媒體伺服器縮放

新興趨勢與實用應用

低延遲 HLS 和 DASH 創新 亞秒串流協議(LL-HLS LL-DASH)

  • 用於 CDN 交付的 AV1 和 VP9 編碼器優化
  • AI 驅動的視頻轉碼(Deepstream OpenCV 基礎的場景分類)
  • 使用 Knative Knative Eventing 的雲端原生串流,用於無伺服器媒體管道
  • 5G 網路切片用於超低延遲視頻串流
  • 用於瀏覽器端視頻處理的 WebAssembly (Wasm)
  • 使用 WebXR 和 360° 視頻協議的 XR/AR 視頻串流 關鍵詞:LL-HLS 低延遲 HLS LL-DASH AV1 編碼器 VP9 優化 AI 驅動轉碼 OpenCV 場景分類 雲端原生串流 Knative Eventing 無伺服器媒體管道 5G 網路切片 WebAssembly 客戶端視頻 WebXR AR 串流 360 視頻協議

實戰實驗室和基於項目的應用

端到端實時串流管道:OBS → nginx-rtmp → SRS → HLS/DASH 播放器

  • 使用 Jitsi Meet 設置 WebRTC 視頻會議
  • 自訂 FFmpeg 管道用於多比特率輸出(SD/HD/4K)並向 CDN 推送
  • 集成測試:大規模串流基礎設施負載測試(Locust/AB)
  • 除錯:常見串流問題,編碼器不匹配,防火牆/NAT 問題,編碼器協商除錯 關鍵詞:實時串流管道 OBS nginx-rtmp FFmpeg 多比特率 HLS DASH WebRTC 視頻會議 Jitsi Meet 集成測試 負載測試 Locust AB 編碼器除錯 NAT 防火牆問題 編碼器協商 SD HD 4K 輸出

最低要求

一般的系統管理員知識

 14 小時

課程分類