# NNTV **Repository Path**: iuwu/nntv ## Basic Information - **Project Name**: NNTV - **Description**: NNTV!!!!!!!!!!!!!!!!!!!!! - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-29 - **Last Updated**: 2026-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 影視TV 適用於 Android TV 與手機的影音應用程式,整合媒體瀏覽與播放體驗,並支援外部配置與 [CatVod](https://github.com/CatVodTVOfficial/CatVodTVJarLoader) Spider 介面擴充。 **App 本身不內建或提供任何內容來源。** 外部內容需自行配置,也可開啟本地媒體檔案或推送媒體網址。 ## 開始使用 1. 安裝適合裝置的 APK:`leanback` 為電視版,`mobile` 為手機版;依 Android 系統支援的 ABI 選擇 `arm64-v8a` 或 `armeabi-v7a`。最低需求為 Android 7.0(API 24)。 此版本的应用 ID 为 `com.ideaor.android.tv`,会与旧应用并存;旧应用的配置、收藏和播放记录不会自动迁移。 2. 在設定中加入自己的配置,格式與欄位見[配置範例](https://fongmi.github.io/TV/config/#examples)。 3. 也可從系統檔案管理員開啟媒體檔案,或透過推送入口播放媒體網址。 ## 主要功能 - **播放**:Media3/ExoPlayer、mpv、硬解與 FFmpeg 軟解;字幕、彈幕、音軌、倍速與片頭/片尾跳過。 - **瀏覽與管理**:分類篩選、搜尋、播放記錄、收藏與無痕模式。 - **播放清單**:M3U/TXT/JSON 格式、清單分組與 XMLTV 節目資訊。 - **操作**:電視遙控器、手機手勢、畫中畫與背景音訊。 - **互通**:DLNA 投放/接收、Android Auto、本地 HTTP 控制與裝置同步。 實際能力依配置、媒體、播放引擎與裝置而異;本地 HTTP API 僅供可信任區域網路使用,不要直接轉發到公網。 ## RTSP 传输设置 在「播放设置 → RTSP 传输方式」中选择 TCP 或 UDP,默认使用 TCP。选择后重新打开视频源,电视版和手机版共用这项持久设置。Exo 选择 UDP 时会先尝试 UDP;如果没有收到数据,播放器可能自动改用 TCP。mpv 会按选定的传输方式播放 RTSP 源。 中兴 RTSP 直播频道若带有 `X-ZTE-NAT: true` 标记,或使用带鉴权参数的 `/live/*.sdp` 地址,TV-F 会通过本机代理转为 HTTP MPEG-TS 播放,并从直播实时位置起播。回看和其他直播源保持原有播放路径。代理仅在设备本机运行;播放诊断日志不会保存频道地址和鉴权值。此功能需要上游提供 MPEG-TS 轨道,实际播放效果需在可访问该频道的网络中验证。 ## 開發文件 | 文件 | 內容 | | --- | --- | | [App 功能](https://fongmi.github.io/TV/features/) | 操作與功能介紹 | | [配置字典](https://fongmi.github.io/TV/config/) | 配置欄位、網路設定與 JSON 範例 | | [擴充介接](https://fongmi.github.io/TV/spider/) | Java/Python/JavaScript 範例、方法與回傳格式 | | [本地 API](https://fongmi.github.io/TV/local/) | 播放控制、推送、檔案與同步端點 | | [網站維護](website/README.md) | 靜態網站建置與 GitHub Pages 發布 | `app/src/main/` 為共用邏輯,`app/src/leanback/`、`app/src/mobile/` 為各自的 UI。模組清單見 [settings.gradle](settings.gradle),SDK 與依賴版本見 [libs.versions.toml](gradle/libs.versions.toml)。 ## Windows 建置 先准备 JDK 21、Android SDK 和 Python 3.10,并在项目根目录的 `local.properties` 写入自己的 SDK 路径: ```properties sdk.dir=C:/Android/Sdk ``` 原作者未公开的 `lib-*.aar` 已由 [topsos/media 保存的固定版本](https://github.com/topsos/media/tree/release-1.11.0-fongmi)(源自 FongMi/media,提交 `3c2cbe8ac742c2fe15eff52f03eeb3b1b648848d`)及本项目的适配代码取代。首次构建前在 PowerShell 执行: ```powershell $env:JAVA_TOOL_OPTIONS = '-Dfile.encoding=UTF-8' .\scripts\build-media3.ps1 .\gradlew.bat :app:assembleLeanbackDebug .\gradlew.bat :app:assembleMobileDebug ``` 构建脚本使用 JDK 21 和 Media3 自带的 Gradle 9.1,将 18 个播放器模块发布到 `third_party/media3-maven/`。源码和 Maven 产物位于 `third_party/` 的忽略目录;换电脑或重新克隆后需要再运行一次脚本。脚本接受 `-JavaHome` 指定 JDK 21 路径,也接受 `-Archive` 使用已下载的源码压缩包。应用自身使用 AGP 9.2.1。 电视 Debug APK 位于 `app/build/outputs/apk/leanback/debug/`,手机 Debug APK 位于 `app/build/outputs/apk/mobile/debug/`,均按 ABI 分包。Debug 包使用 Android 默认调试签名。Release 包还需要在 `local.properties` 添加自己的签名配置: ```properties storeFile=C:/keys/yingshi-tv.jks keyAlias=your-key-alias storePassword=your-keystore-password ``` 密钥密码和 keystore 密码共用 `storePassword`,不要提交真实密码或签名文件。签名准备完成后执行: ```powershell .\gradlew.bat :app:assembleLeanbackRelease .\gradlew.bat :app:assembleMobileRelease ``` Release APK 输出到 `Release/apk/`。不同签名的 APK 不能直接覆盖安装。详细的第三方源码与许可见 [第三方说明](third_party/README.md)。Exo 的 ASS 原生渲染目前仅随 arm64-v8a 打包;armeabi-v7a 使用 Media3 兼容字幕显示。构建成功只证明 APK 可生成,实际播放、字幕图层和设备性能还需要在目标设备上验证。