TiviMini
IPTV 播放器 · iPhone · iPad · Apple TV · Android

輕、快、省電的
IPTV 播放器

自研 RustMedia 播放核心,影片只用硬體解碼。匯入 m3u / txt 清單,點一下就播。Android 安裝檔只有 3.3 MB。

  • iPhone · iPad
  • Android 手機 · 平板
  • Apple TV · Android TV
頻道清單
首頁 · 看圖選台
  • 0.26秒

    點下到畫面動起來

  • 10%

    播放 1080i 時 App 的 CPU 用量

  • 3.3MB

    Android 安裝檔

  • 12毫秒

    解析 2 萬個頻道的清單

自研核心

RustMedia:為直播源而寫的播放核心

從串流協定、解封裝到位元流整理,播放鏈路的核心全部以 Rust 自研,iPhone、Apple TV、Android 共用同一份程式碼。不打包 FFmpeg;網路走系統內建的網路堆疊,解碼交給晶片裡的硬體解碼器,畫面直接上屏。

  1. 系統網路堆疊HTTP · TLS · 代理隨系統
  2. 辨識來源依網址與開頭位元組判斷格式
  3. 協定與解封裝TS · FLV · HLS · RTMP · RTSP · 多播
  4. 位元流整理參數集 · 關鍵影格 · 圖場合併 · 時間戳
  5. 硬體解碼VideoToolbox · MediaCodec
  6. 直接上屏系統圖層合成,不碰像素

輕

核心編譯後約 1 MB,只依賴一個音訊函式庫。Android 安裝檔 3.3 MB;iPhone、iPad 與 Apple TV 是同一個 App。

一份程式碼,四個平台

清單解析、解封裝、開播策略、回看規則都在核心裡,修一處全平台受益,各端行為一致。

不碰網路,只做運算

核心不帶 HTTP / TLS,網路交給系統:代理、憑證、HTTP/2 與系統一致,也更省電。

穩

所有介面都有防當機保護,異常串流的緩衝都有上限。連續換台 90 次,記憶體不漲、不閃退。

開播速度

點下去,畫面就動

直播中途加入要等關鍵影格。RustMedia 拿到第一個關鍵影格就上屏;緩衝不足時以 0.92 倍速邊播邊累積,聲音變速不變調,追上後回到正常速度。

點下到畫面動起來

TiviMini · RustMedia
264 毫秒
通用播放器方案
1128 毫秒

播放時 App 的 CPU 用量

TiviMini · RustMedia
10.1 %
通用播放器方案
27.4 %
  • 按下即連手指按到頻道就開始連線,放開進入播放頁時資料已經在路上。
  • FCC 快速換台支援電信業者 FCC 伺服器(電信 / 中興 / 烽火與華為兩種),從最近的關鍵影格開始推流,單播與多播無縫銜接。
  • 疑難來源照樣快沒有 IDR 的直播從帶參數集的 I 影格開播,丟掉開放 GOP 的前導影格,不花屏、不黑屏。
  • 4K 也快4K H.265 Main10、50 格、36 Mbps 的直播,在電視盒上 0.35 秒出畫面。

測試條件:Snapdragon 8 Elite 手機,Android 16,正式版;1080i H.264 多播轉 HTTP 來源;按下即連,5 次取中位數。對照組為同機同來源的 Media3 ExoPlayer,同樣只用硬體解碼。4K 數據來自 Realtek 晶片電視盒;清單解析為核心單獨計時。

首頁預覽圖

看圖選台

每個頻道,一張即時畫面

首頁格子裡顯示的不是台標,而是各頻道剛擷取的即時畫面:正在播什麼,一眼就知道。

  • 只擷取看得到的只擷取螢幕上的頻道,快速翻頁時不擷取,停下來才擷取。
  • 擷取到就停拿到第一個關鍵影格就斷線,硬體解碼一格縮小保存,一張約 0.1–0.2 秒。
  • 不反覆擷取擷取過的不自動重來,省流量省電;想看最新畫面,在頻道選項裡重新整理。
  • 流量可控可設為僅 Wi-Fi 擷取,也可以關閉,只顯示台標。

協定與格式

常見直播來源,原生支援

不轉碼、不裝外掛。以下都由 RustMedia 或系統播放器原生播放。

串流協定

  • HTTP / HTTPS 直連 TS
  • HLS · TS 分段
  • HLS · fMP4 / 加密
  • HTTP-FLV
  • RTMP
  • RTMPS
  • Enhanced RTMP(H.265)
  • RTSP
  • RTSPS
  • RTSP over TCP
  • RTSP over UDP
  • MPEG-TS over RTP
  • UDP 多播
  • RTP 多播
  • SSM 指定來源多播
  • UDP 單播
  • FCC 快速換台
  • MP4 隨選

轉發與網路

  • udpxy
  • msd_lite
  • rtp2httpd
  • 電信業者 IPTV 網路
  • HTTP 302 轉址
  • RTSP 重新導向
  • 自訂轉址
  • 依主機設定請求標頭

影片編碼

  • H.264 / AVC
  • H.265 / HEVC
  • 10-bit Main10
  • 4K · 50 / 60 格
  • 交錯式 1080i
  • PAFF 圖場編碼
  • MBAFF

音訊編碼

  • AAC · ADTS
  • AAC · LATM / LOAS
  • AAC 5.1
  • MP2
  • MP3
  • AC3(杜比數位)
  • E-AC3(杜比數位+)
  • G.711 A-law / μ-law

清單與節目表

  • m3u / m3u8
  • txt(含 #genre# 分組)
  • XMLTV 節目表
  • gzip 節目表
  • tvg-id · tvg-name · tvg-logo
  • 同名多線路
  • 多份播放清單

回看與驗證

  • 回看 default · append
  • shift · timeshift
  • flussonic
  • xc
  • vod
  • RTSP Basic / Digest 驗證
  • 自訂 User-Agent · Referer

系統播放器播不了的,RustMedia 能播

  • HLS 裡的 MP2 音訊
  • TS 分段裡的 H.265
  • 偽裝成圖片的 TS 分段
  • 沒有 IDR 的直播
  • 只接受 UDP 的 RTSP 伺服器
  • 華為 / 中興寫法的 RTSP

影片只用硬體解碼:裝置沒有對應硬體解碼器的編碼(如 MPEG-2、AVS2)會明確提示「無法硬體解碼」,不默默改用軟體解碼讓裝置發燙。

省電

省電,是第一原則

只用硬體解碼

影片交給晶片裡的專用解碼器,CPU 幾乎不參與。

畫面直通顯示

系統圖層硬體合成;播放時介面 0 次重繪。

不預先載入

不提前連線其他頻道;退到背景,CPU 與網路歸零。

沒變就零流量

清單、節目表先問伺服器有沒有更新,沒變不下載、不解析、不重繪。

系統原生介面

UIKit 與 Android 系統元件,不用跨平台框架,啟動快、佔用少。

少喚醒

收資料累積約 40 毫秒再交給核心,網路執行緒 CPU 從 6.6% 降到 0.7%。

Apple 裝置的硬體解碼器不支援交錯式 H.264,這一種由系統內建解碼器處理,資訊面板如實標示。

多平台

手機、平板、電視,一致的體驗

每個平台都用系統原生介面,依各自的操作方式設計。

Apple TV · Android TV

tvOS 18 · Android 10 以上
  • 節目表優先的首頁,清單、格狀兩種排列
  • 遙控器全鍵操作、數字鍵換台
  • 掃描 QR 碼用手機新增來源、編輯自訂播放
  • Apple TV:1080i 動態適應去交錯,25i 變 50p
  • Apple TV:杜比 AC3 / E-AC3 依系統設定輸出
  • Android TV:原生多播與 FCC,接上 IPTV 網路即播
  • Android TV:系統不支援杜比音訊時自動補上
  • Android TV:App 內一鍵更新

左右滑動查看更多截圖

Apple TV · Android TV · 格狀排列
格狀排列
Apple TV · Android TV · 頻道清單
頻道清單
Apple TV · Android TV · 節目表
節目表
Apple TV · Android TV · 全螢幕播放與換台
全螢幕播放與換台
Apple TV · Android TV · 資訊面板
資訊面板
Apple TV · Android TV · 回看
回看
Apple TV · Android TV · 掃描 QR 碼用手機新增
掃描 QR 碼用手機新增

兩端是同一套電視介面,截圖取自 Apple TV。

iPhone · iPad

iOS / iPadOS 18 以上
  • 首頁預覽圖,看圖選台
  • 播放頁上下滑動換台
  • 子母畫面
  • 節目表與回看
  • 收藏、紀錄、多份播放清單

左右滑動查看更多截圖

iPhone · iPad · 首頁 · 看圖選台
首頁 · 看圖選台
iPhone · iPad · 首頁 · 清單
首頁 · 清單
iPhone · iPad · 播放頁
播放頁
iPhone · iPad · 節目表
節目表
iPhone · iPad · 資訊面板
資訊面板
iPhone · iPad · iPad 首頁
iPad 首頁
iPhone · iPad · iPad 播放頁
iPad 播放頁

Android 手機 · 平板

Android 10 以上
  • 3.3 MB 安裝檔
  • RustMedia 與 ExoPlayer 兩個核心可切換
  • 子母畫面
  • 節目表與回看
  • App 內一鍵更新

左右滑動查看更多截圖

Android 手機 · 平板 · 首頁 · 看圖選台
首頁 · 看圖選台
Android 手機 · 平板 · 首頁 · 清單
首頁 · 清單
Android 手機 · 平板 · 播放頁
播放頁
Android 手機 · 平板 · 節目表
節目表
Android 手機 · 平板 · 資訊面板
資訊面板

截圖中的頻道名稱、台標與節目表均為虛構的示範內容。

更多亮點

該有的都有,不該有的沒有

回看

相容主流回看寫法,預設 7 天;節目內可拖曳,播完自動接下一個。

節目表

XMLTV 邊讀邊解析;依 tvg-id、名稱、常見簡寫自動對應頻道。

自訂播放

依主機替換轉址、設定請求標頭,支援 *.網域與 IP 範圍;設定錯誤也不會無限循環。

多線路

同名頻道自動合併為多條線路,一鍵切換,記住上次的選擇。

看圖選台

首頁預覽圖只擷取看得到的頻道,快速翻頁不擷取;台標依顯示尺寸快取。

開啟就檢查更新

304 與內容比對,沒變不重繪;開播 5 秒內不檢查,不與播放搶頻寬。

資訊面板

位元率、解析度、影格率、掉包、解碼方式,以及開播各環節耗時。

三種介面語言

简体中文、繁體中文、English,跟隨系統,也可手動切換。

TiviMini 只是播放器,不提供任何頻道、節目或播放清單。請使用自己有權觀看的播放來源。