You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
FONGMITV/README.md

4.7 KiB

📺 開發者文件

基於 CatVod 的開源 Android 影音應用程式,同時支援 Android TV 大螢幕手機 兩種使用情境。爬蟲引擎支援 Java JAR、JavaScript、Python 三種語言,透過外部配置檔靈活擴展內容來源。

討論群組 | 發布頻道

Star History Chart


目錄


🏗 專案架構

項目
Package com.fongmi.android.tv
minSdk / targetSdk 24 / 28
ABI arm64-v8aarmeabi-v7a
Flavor leanback(電視版)、mobile(手機版)
TV/
├── app/            主應用程式(含兩套 UI Flavor)
├── catvod/         爬蟲抽象層(Spider 介面、OkHttp 網路棧)
├── quickjs/        QuickJS JavaScript 引擎
├── chaquo/         Chaquopy Python 引擎

app/src/main/ 為兩個版本共用的業務邏輯,app/src/leanback/app/src/mobile/ 各自實作對應 UI。


🎬 播放器

  • 核心:ExoPlayer(Media3)+ FFmpeg 軟解,硬解 / 軟解自動降級切換
  • 渲染:SurfaceView / TextureView
  • DRM:Widevine、PlayReady、ClearKey,支援 #KODIPROP 宣告
  • 彈幕:DanmakuFlameMaster,與播放時間軸精確同步,支援遠端推送
  • 字幕:SRT / SSA / ASS 外掛字幕、系統 CaptioningManager、遠端即時注入
  • 其他:倍速、多縮放比例、畫中畫(PiP)、背景音訊、片頭 / 片尾自動跳過

📼 點播功能

  • 多站點分類瀏覽,Filter 篩選(年份 / 地區 / 類型等)
  • 多站點並行搜尋,關鍵字自動繁轉簡提升相容性
  • 播放失敗自動換源:解析器 → 線路 → 搜尋其他站 → 下一站點
  • 觀看記錄(保留 60 天)、收藏、無痕模式
  • 電視版使用遙控器操作;手機版支援手勢(亮度 / 音量 / 進度)、上下滑切集、螢幕旋轉與鎖定

📡 直播功能

  • 支援 M3U/M3U8、TXT(#genre# 分組)、JSON 三種直播源格式
  • EPG:XMLTV 格式(支援 .gz),每 6 小時自動刷新
  • 追看 / 時移appendpltv 等多種類型
  • 頻道收藏、隱藏分組密碼保護
  • 特殊引擎:TVBus、ForceTech

🕷 爬蟲引擎

支援三種語言撰寫爬蟲:Java JAR(DexClassLoader)、JavaScript(QuickJS)、Python(Chaquopy)。透過 api 欄位指定爬蟲,ext 欄位傳入初始化參數。完整 API 規格見 SPIDER.md


🌐 網路功能

  • DoH:DNS over HTTPS,支援 Bootstrap IP
  • 代理:HTTP / HTTPS / SOCKS4 / SOCKS5,依 host 正則規則動態選擇
  • hosts:DNS 解析覆蓋,支援萬用字元 *
  • CORS 注入:依 host 規則在回應中注入自訂標頭
  • 廣告攔截ads 黑名單,符合域名直接攔截
  • WebView 嗅探:Sniffer 以 regex 攔截媒體 URL;支援 UA 偽裝

📲 DLNA 投放

  • DMC(投放端):手機版,掃描區域網路 DLNA 設備並投放媒體
  • DMR(被投放端):電視版,作為 DLNA Renderer 接收其他設備投放

使用 Cling 2.1.1(UPnP),支援 play / pause / stop / seek 控制。


🖥 遠端控制

應用啟動後綁定本地 HTTP 伺服器(NanoHTTPD),埠號從 9978 起自動偵測至 9998 ,可用於播放控制、推送字幕 / 彈幕、多裝置同步等。完整端點說明見 LOCAL.md


配置說明

config.json(VOD 配置)為應用主要入口,透過頂層欄位定義點播站點(sites)、解析規則(parses)、直播來源( lives)及網路設定(dohproxyhostsads)。Live 配置可內嵌或獨立存放。完整欄位說明見 CONFIG.md


📚 延伸閱讀

文件 說明
CONFIG.md VOD / Live 完整配置欄位說明
SPIDER.md Spider 所有方法規格與回傳格式
LOCAL.md 本地 HTTP API 所有端點完整說明