「基於時間的媒體」是 JMF 的理論基石。本文系統闡述時間媒體特徵、流媒體分類、主流編碼格式對比、播放/處理/捕獲管線架構,為多媒體應用開發奠定概念基礎。
定義:數據內容隨時間變化的媒體類型。核心特徵:
典型形式:音頻剪輯、MIDI 序列、視頻剪輯、動畫、電話語音流。
流媒體 = 基於時間的媒體 + 實時傳輸特性。核心概念:
| 類型 | 發起方 | 典型協議 | JMF 介面 |
|---|---|---|---|
| Pull | 客戶端 | HTTP、FILE | PullDataSource / PullBufferDataSource |
| Push | 服務端 | RTP、RTSP、MediaBase | PushDataSource / PushBufferDataSource |
選型需三維權衡:畫質/音質、CPU 解碼開銷、頻寬需求。
| 格式 | 封裝 | 畫質 | CPU | 頻寬 | 適用場景 |
|---|---|---|---|---|---|
| MPEG-1 | MPEG | 高 | 高 | 高 | VCD、本地存儲 |
| H.261 | AVI/RTP | 低 | 中 | 中 | 早期視訊會議 |
| H.263 | QuickTime/AVI/RTP | 中 | 中 | 低 | 3GPP、視訊會議 |
| JPEG | QuickTime/AVI/RTP | 高 | 高 | 高 | 醫療影像、編輯 |
| Indeo | QuickTime/AVI | 中 | 中 | 中 | 舊版 Windows 平台 |
| Cinepak | AVI/QuickTime | 中 | 低 | 高 | 早期跨平台 |
| 格式 | 封裝 | 音質 | CPU | 頻寬 | 備註 |
|---|---|---|---|---|---|
| PCM | WAV/AIFF | 高 | 低 | 高 | 無損、CD 品質 |
| μ-Law | WAV/RTP | 低 | 低 | 高 | 電話級、北美標準 |
| ADPCM | WAV/RTP | 中 | 中 | 中 | IMA4/DVI 變體 |
| MPEG Layer 3 (MP3) | MPEG | 高 | 高 | 中 | 網絡音樂標準 |
| GSM | WAV/RTP | 低 | 低 | 低 | 歐洲移動通信 |
| G.723.1 | WAV/RTP | 中 | 中 | 低 | VoIP、ITU-T 標準 |
Multiplexed Stream → Demultiplexer → [Track 1] → Decoder → [Renderer] → Speaker
→ [Track 2] → Decoder → [Renderer] → Monitor
關鍵階段:分離 → 解碼 → (格式轉換) → 渲染 → 輸出
Microphone/Camera → [Track 1/2] → Renderer (預處理) → Encoder → Multiplexer → File/DataSink
關鍵差異:編碼在渲染後、多路複用在編碼後、最終輸出至 DataSink 而非設備。
捕獲設備 (麥克風、攝像頭) 可產出多軌道流,支援:
JMF 透過 CaptureDeviceManager 統一管理設備發現、格式協商與 DataSource 創建。
網絡播放關鍵指標:Start Latency (啟動延遲)。多流同步原則:
理解時間媒體本質、格式權衡與處理管線,是設計高效多媒體系統的前提。JMF 雖屬上一代技術,其管線架構思想在 FFmpeg、GStreamer、MediaCodec 等現代框架中仍清晰可見。