轻、快、省电的
IPTV 播放器
自研 RustMedia 播放内核,视频只用硬件解码。导入 m3u / txt 列表,点一下就播。Android 安装包只有 3.3 MB。
- iPhone · iPad
- Android 手机 · 平板
- Apple TV · Android TV


- 0.26秒
点下到画面动起来
- 10%
播放 1080i 时应用 CPU 占用
- 3.3MB
Android 安装包
- 12毫秒
解析 2 万个频道的列表
自研内核
RustMedia:为直播源而写的播放内核
从拉流协议、解封装到码流整理,播放链路的核心全部用 Rust 自研,iPhone、Apple TV、Android 共用同一份代码。不打包 FFmpeg;网络走系统自带的网络栈,解码交给芯片里的硬件解码器,画面直接上屏。
- 系统网络栈HTTP · TLS · 代理随系统
- 识别源看地址和开头字节判断格式
- 协议与解封装TS · FLV · HLS · RTMP · RTSP · 组播
- 码流整理参数集 · 关键帧 · 场编码合帧 · 时间戳
- 硬件解码VideoToolbox · MediaCodec
- 直接上屏系统图层合成,不碰像素
轻
内核编译后约 1 MB,只依赖一个音频库。Android 安装包 3.3 MB;iPhone、iPad 与 Apple TV 是同一个应用。
一份代码,四个平台
列表解析、拆包、起播策略、回看规则都在内核里,修一处全平台受益,各端行为一致。
不碰网络,只做计算
内核不带 HTTP / TLS,网络交给系统:代理、证书、HTTP/2 与系统一致,也更省电。
稳
所有接口都有防崩溃保护,异常流的缓冲都有上限。连续换台 90 次,内存不涨、不崩溃。
起播速度
点下去,画面就动
直播中途加入要等关键帧。RustMedia 拿到第一个关键帧就上屏;缓冲不够时以 0.92 倍速边播边攒,声音变速不变调,追上后回到正常速度。
点下到画面动起来
播放时应用 CPU 占用
- 按下即连手指按到频道上就开始连接,松手进入播放页时数据已经在路上。
- FCC 快速换台支持运营商 FCC 服务器(电信 / 中兴 / 烽火与华为两种),从最近的关键帧开始推流,单播与组播无缝衔接。
- 疑难源照样快没有 IDR 的直播流从带参数集的 I 帧起播,丢掉开放 GOP 的前导帧,不花屏、不黑屏。
- 4K 也快4K H.265 Main10、50 帧、36 Mbps 的直播,在电视盒子上 0.35 秒出画。
测试条件:骁龙 8 至尊版手机,Android 16,正式版;1080i H.264 组播转 HTTP 源;按下即连,5 次取中位数。对照组为同机同源的 Media3 ExoPlayer,同样只用硬件解码。4K 数据来自瑞昱芯片电视盒子;列表解析为内核单独计时。

看图选台
每个频道,一张实时画面
首页格子里显示的不是台标,而是各频道刚截下的实时画面:正在播什么,一眼就知道。
- 只截看得见的只截屏幕上的频道,快速翻页时不截,停下来才截。
- 截到就停拿到第一个关键帧就断开,硬解一帧缩小保存,一张约 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 律 / μ 律
列表与节目单
- 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 及以上- 节目单优先的首页,列表、网格两种排列
- 遥控器全键操作、数字键换台
- 扫码用手机添加播放源、编辑自定义播放
- Apple TV:1080i 运动自适应去隔行,25i 变 50p
- Apple TV:杜比 AC3 / E-AC3 按系统设置输出
- Android TV:原生组播与 FCC,接上 IPTV 网络即播
- Android TV:杜比音频系统不支持时自动兜底
- Android TV:应用内一键升级
左右滑动查看更多截图







两端是同一套电视界面,截图来自 Apple TV。
iPhone · iPad
iOS / iPadOS 18 及以上- 首页预览图,看图选台
- 播放页上下滑动换台
- 画中画
- 节目单与回看
- 收藏、历史、多份播放列表
左右滑动查看更多截图







Android 手机 · 平板
Android 10 及以上- 3.3 MB 安装包
- RustMedia 与 ExoPlayer 两个内核可切换
- 画中画
- 节目单与回看
- 应用内一键升级
左右滑动查看更多截图





截图中的频道名、台标和节目单均为虚构演示内容。
更多亮点
该有的都有,不该有的没有
回看
兼容主流回看写法,默认 7 天;节目内可拖动,播完自动接下一个。
节目单
XMLTV 边读边解析;按 tvg-id、名称、常见简写自动匹配频道。
自定义播放
按主机替换跳转、设置请求头,支持 *.域名与 IP 段;配错也不会无限循环。
多线路
同名频道自动合并为多条线路,一键切换,记住上次的选择。
看图选台
首页预览图只截看得见的频道,快速翻页不截;台标按显示尺寸缓存。
打开就查更新
304 与内容比对,没变不刷新;起播 5 秒内不检查,不和播放抢带宽。
信息面板
码率、分辨率、帧率、丢包、解码方式,以及起播各环节耗时。
三种界面语言
简体中文、繁體中文、English,跟随系统,也可手动切换。
TiviMini 只是播放器,不提供任何频道、节目或播放列表。请使用自己有权观看的播放源。