nTv
内测QQ群: 1121401707 (更快的bug响应和修复包)
nTv 是一款面向 Android 电视、电视盒子、平板和手机的横屏直播播放器,重点优化遥控器操作、老旧设备兼容性和央视直播稳定性。
主要功能
- 内置央视网、央视频等直播频道,并支持多线路自动选择。
- 支持最高、适中、最低三档清晰度;只有一路时直接播放。
- 提供稳定、适中、低延迟三档直播模式。
- 使用 IJK 播放器,支持硬件解码、自动选择解码器和兼容软解。
- 支持自适应画面比例和全屏拉伸。
- 视频正常播完后显示“播放完成”和重播控制,切换主题使用相同播放器控件。当前视频已下载内容可通过磁盘缓存供重播复用,换台或退出时清除;缓存上限 512MiB,不预先下载整个视频。可用存储低于 400MiB、单次写入达到 250ms、连续写入低于约 1MiB/s、写入积压或磁盘错误时停止缓存,播放继续走网络。
- 支持遥控器、触摸屏、网页遥控器和手机飞鼠。
- 支持多标签网页、收藏栏、广告拦截和多个命名用户脚本。
- 网页标签栏右上角可开启遮罩,隐藏网页画面并显示网址和加载状态;点击“显示网页”或按返回键恢复,网页与视频解析继续运行。
- 网页管理 → 浏览器配置 → 显示与加载可设置“开启网页遮罩”(默认关闭)。设置保存后立即生效,新打开的网页频道自动应用;工具栏按钮和“显示网页”可临时切换,兼容旧版独立网页进程。
- 支持接收投屏、接管会话、遥控回传及独立鼠标指针渲染。
- 支持 M3U、M3U8、TXT 在线频道列表。
- 可显示时间、日期、网速和播放调试信息。“播放与显示 → 显示播放进度”默认关闭,开启后在右上角显示播放位置与总时长,与时间并排;直播和纯音频不显示。网速固定在右下角,调试信息避让并可换行,网址的查询参数省略。
- 支持开机自启动、在线更新和异常自动恢复。
- 最低支持 Android 4.0。
公开版范围
本仓库保留播放器、浏览器、网页管理及投屏接收端。投屏发送端的画面采集、编码、RTSP 推流、后台采集服务和发送入口不在公开版中;完整发送端继续由独立私有项目维护。
公开版仍兼容接收协议与独立光标通道。拆分边界和验证方式见 接收端说明。
下载与安装
下载 APK 后直接安装即可。升级时建议直接覆盖安装,以保留频道和偏好设置。
Android 8.0 及以上系统如果阻止安装,请根据系统提示,允许当前浏览器或文件管理器“安装未知应用”。
遥控器操作
- 上键、下键:切换频道。
- 确认键、菜单键:打开频道列表。
- 返回键、菜单键:关闭频道列表。
- 播放/暂停键:暂停或继续播放。
- 数字键:按频道序号快速切台。
- 频道列表关闭时连续按两次返回键:退出应用。
触摸操作
- 点击画面左侧:打开频道列表。
- 点击画面右侧:打开功能设置,默认界面打开网页管理。
- 点击点播画面中间:显示播放控制器。
- 直播画面:全屏左右滑动切换线路,左侧上下滑动调节亮度,右侧上下滑动切换频道。
- 点播画面:左侧上下滑动调节亮度,右侧上下滑动调节音量,左右滑动预览进度,松手后跳转;取消滑动不跳转。控制器隐藏时同样可用。
- 六套界面的分组、频道、节目单共用遥控器分页:本页末项按下进入下一页首项,首项按上返回上一页末项,列表两端停留。浏览不自动播放,OK 确认;记住各分组与节目单位置,EPG 刷新按节目时间保留选择。触摸保持自然滚动,返回遥控器后从可见条目接续。
网页管理
电视与手机连接到同一个局域网后,可在应用菜单中查看网页管理地址或二维码。
网页管理端可以:
- 选择频道和线路。
- 调整清晰度、直播稳定性和画面比例。
- 设置时间、日期、网速及调试信息。
- 添加或更新在线频道列表。
- 配置开机自启动和遥控器行为。
9966 开始;如果端口被占用,应用会自动尝试下一个端口。请以应用实际显示的地址为准。
IPTV 节目回看
导入带回看声明的 M3U 后,在“频道列表 → 节目单”中选择标有“回看”的历史节目即可播放;遥控器 OK 和触屏点击均支持。播放器右上角“回到直播”或关闭浮层后按返回键,可返回当前频道直播。直接选择其他频道也会回到直播。
支持常见 M3U catchup 的 default(完整地址)、append(附加参数)、shift/旧 timeshift(SIPTV)、flussonic/fs、xc/xtream-codes 模式。识别 catchup-source、catchup-days、catchup-correction,并保留每条线路各自的配置。目录头部的默认属性可由频道条目覆盖。
#EXTM3U
#EXTINF:-1 tvg-id="cctv1" group-title="直播" catchup="append" catchup-days="7" catchup-source="?playseek={utc:YmdHMS}-{utcend:YmdHMS}",CCTV-1
http://your-iptv-server/channel/index.m3u8
未声明回看模板(或 default/append 未填写模板)的 HTTP/HTTPS HLS、TS 和 PLTV/TVOD 频道,可在历史节目上选择“尝试回看”:默认尝试最近 7 天,保留原鉴权参数,追加 playseek=yyyyMMddHHmmss-yyyyMMddHHmmss;明确的 /live/用户/密码/频道.ts 或 .m3u8 路径采用 Xtream 回看路径。若声明了 catchup-days 或时区修正,则沿用该值。显式模板优先,catchup="none" / catchup-days="0" 会关闭自动拼接。旧缓存无需重新导入,推断结果只作内存缓存,不增加直播请求。自动拼接只是尝试,仍需要服务商提供历史录像,部分服务端可能忽略回看参数而继续返回直播。
这是格式示例,请使用服务商实际提供的回看模板。支持 {utc}、{utcend}、{lutc}、{duration}、{duration:60}、{offset:60}、{Y}{m}{d}{H}{M}{S} 和 ${start}/${end} 等常用占位符,以及 XMLTV 节目的 {catchup-id};同时支持 DIYP 风格的 ${(b)yyyyMMddHHmmss} / ${(e)yyyyMMddHHmmss}(分别为节目开始、结束时间,Java 日期格式)。时间戳为 Unix 秒;日期格式按设备时区,catchup-correction 单位为小时。
节目单地址需在网页管理中配置,XMLTV 本身必须包含历史节目。按源声明的期限显示可回看节目(最多 30 天);节目未开始、过期、服务器未提供回看时会提示。回看切换线路或重试会保留节目,不会悄悄改播直播。普通直播不增加前置探测和下载请求。
手机飞鼠
在网页管理端进入“手机飞鼠”,开启电视光标后即可使用:
- 陀螺仪:像遥控器一样移动或转动手机来控制光标。
- 触控板:滑动控制光标,滑动越快移动越快。
- 点击、返回和光标居中等快捷按钮。
推荐设置
- 直播稳定性:优先选择“稳定”。
- 清晰度:网络和设备性能允许时选择“最高”。
- 画面比例:优先选择“自适应”。
- 解码方式:优先使用自动硬解;出现黑屏或花屏时尝试兼容软解。
常见问题
切台后短暂缓冲
优先使用“稳定”直播模式,或降低清晰度。应用会等待必要分片准备完成后再开始播放。
手机打不开管理网页
确认电视和手机连接到同一个局域网,并使用应用当前显示的 IP 和端口。部分路由器的访客网络会禁止设备互相访问。
陀螺仪无法开启
使用系统浏览器打开飞鼠页面,并允许动作与方向权限。部分浏览器需要安全网页环境才能提供传感器数据。
硬件解码黑屏
先尝试自动选择解码器;仍无法播放时切换到兼容软解。不同电视芯片和系统固件的解码兼容性可能不同。
手动打正式包(Windows)
双击项目根目录的 build-release.bat,即可调用 scripts/build-release.ps1,生成 ARM32、ARM64、x86 正式包并更新版本文件。打包结束后窗口会保留,方便查看成功信息或错误原因。
默认输出为 output/nTv.apk(32 位)、output/nTv64.apk(64 位)和 output/nTvX86.apk(x86),同时复制生成 网页电视32位.apk、网页电视64位.apk、网页电视x86.apk;同架构两个文件内容完全一致。更新清单使用英文名 GitHub Release 附件,上传时保留大小写,兼容已发布客户端。需要先配置 Android SDK(local.properties)和正式签名(.signing),无需管理员权限。
默认采用增量构建,避免 Windows 文件占用导致 :app:clean 失败;需要完整清理时可执行 build-release.bat -Clean。命令行也可继续传递 -SkipClean 等原脚本参数。
日常打包只在输出目录生成 version-lite.json,设备信息页优先使用它检查应用版本;若返回 HTTP 404,则读取同一发布目录的 version.json,兼容未提供轻量清单的旧版本。其他网络错误保留失败提示。只有解码器等重要更新才使用 build-release.bat -ImportantUpdate,额外生成启动检查使用的 version.json 和兼容旧版的 version-iptv.json。
说明
请仅播放您有权访问的直播内容。频道可用性、清晰度和线路数量可能随上游服务变化。