在 Apple TV 上看电视直播:导入 M3U 播放列表和节目单
在 Apple TV 上用 Revue 看电视直播,先在 设置 › M3U 播放列表(IPTV) › 添加 M3U 播放列表 填写播放列表地址,保存后即可加载频道。设置节目单时,在 设置 › 节目单(EPG) › 源地址 填写 XMLTV 地址。Revue 会优先按 tvg-id、再按频道名将节目匹配到对应频道。
Revue 不自带任何频道,只播放你自己添加的播放列表。请只添加你有权观看的内容。
准备
- 搭载 tvOS 26 或更高版本的 Apple TV,并从 App Store 安装 Revue。Revue 可免费下载,提供 7 天免费试用。之后可一次性购买 Revue Pro:美区 9.99 美元,其他地区以 App Store 标价为准。
- 一个以
http://或https://开头的 M3U 播放列表地址。Revue 无法打开本地存储里的播放列表文件,也不支持 Xtream Codes 和 Stalker 登录。 - 可选:一个 XMLTV 节目单地址,普通的
.xml或 gzip 压缩的.xml.gz均可。
想先测试一下,可以使用我们的测试播放列表:https://revue.vastlogic.dev/playlists/demo.m3u。里面包含几条 Apple 公开的示例视频。它们是点播短片,不是电视直播,也没有节目单数据。
第一步:添加 M3U 播放列表
- 打开设置。若 Revue 中尚未添加任何来源,直接选择屏幕上的「设置」。若已有来源,按遥控器的返回键(旧款遥控器为 MENU 键)呼出侧栏,再选择最下方的「设置」。
- 选择「M3U 播放列表(IPTV)」,再选择「添加 M3U 播放列表」。
- 选择「地址」。在新页面中选中输入框,打开键盘,输入播放列表地址,然后选择「确定」。如果地址未写
http://,Revue 会自动补全。 - 可选:选择「名称」,输入一个名称。留空时 Revue 会使用文件名,例如
…/iptv.m3u会显示为iptv。 - 选择「保存」。
Revue 会把新播放列表设为当前源,并加载频道。保存时 Revue 不会检查地址能否打开。如果频道未能加载,频道页会显示「无法加载播放列表」和具体原因,排查方法见频道黑屏、卡顿、没声音怎么办。
用遥控器输入长地址通常较慢。屏幕出现键盘时,可以改用 iPhone 输入:点击 iPhone 上弹出的键盘通知,或打开控制中心里的 Apple TV 遥控器。

你可以添加多个播放列表,每个播放列表在侧栏里都是一个独立的来源。开启 iCloud 同步后,你的其他 Apple TV 也会同步出现相同的播放列表。
第二步:核对频道列表
Revue 根据播放列表里的 #EXTINF 行生成频道列表:
| 播放列表里的内容 | 在 Revue 里的效果 |
|---|---|
group-title |
每个分组各占一行,顺序按其在文件中首次出现的位置排列。没有分组的频道归入单独的一行。 |
tvg-logo |
频道卡片的图标。没有图标时,卡片显示频道名的前两个字。 |
| 最后一个逗号后面的文字 | 频道名。此处为空时,Revue 会使用 tvg-name。 |
tvg-id |
用于匹配节目单的键(见下文)。 |
一条典型的频道配置如下:
#EXTM3U
#EXTINF:-1 tvg-id="news.example" tvg-logo="https://example.com/logo/news.png" group-title="新闻",示例新闻高清
https://example.com/live/news.m3u8
Revue 只读取 tvg-id、tvg-name、tvg-logo 和 group-title 这四个属性,其他属性一律忽略,例如 catchup、user-agent 和 #EXTVLCOPT 行。只列出流地址、不带 #EXTINF 的纯地址列表也能使用,此时频道名就是地址本身。
如需重新加载播放列表,在频道列表页按遥控器的播放/暂停键。离开 App 几分钟后再返回,Revue 也会自动重新加载。

第三步:设置节目单(EPG)
- 进入 设置 › 节目单(EPG),确认「自动获取节目单」已打开。它默认是打开的。
- 选择「源地址」,填入 XMLTV 地址。若要添加备用地址,请用英文逗号隔开。Revue 会按顺序依次尝试,使用第一个可用地址。
- 选择「立即更新」。更新完成后,这一行会显示更新时间、频道数和节目数。
修改地址前,请先了解这几点:
- Revue 不会从播放列表里读取节目单地址。 部分播放列表在第一行用
x-tvg-url或url-tvg写了节目单地址,需要你手动将其复制到「源地址」中。 - 整个 App 只有一份节目单。 所有播放列表共用它,Revue 不会把几份节目单合并起来。
- 源地址中预填了默认地址。 默认地址不一定覆盖你的频道,可以替换为你自己的地址。若想恢复默认,把地址清空即可;也可以长按「源地址」,选择「恢复默认源」。
- 节目单会自动更新。 当数据超过 6 小时,或者节目单里最后一个节目已经播完,Revue 会重新下载。若更新失败,Revue 会继续使用旧数据。

节目单显示在哪里
打开频道或换台时,右上角会出现一个信息面板,几秒后自动隐藏。有节目单数据时,面板会显示正在播出的节目、起止时间、播出进度,以及「接下来」播出的节目。按遥控器的右键可以再次显示面板,按上下键可在当前分组内换台。
Revue 不在频道卡片上显示节目信息,也没有所有频道的完整节目表格。

Revue 如何将节目匹配到频道
Revue 按下面的顺序依次尝试匹配,命中一条就停:
- 频道的
tvg-id和 XMLTV 里某个<channel>的id完全相同。 - 频道的
tvg-id和某个频道的<display-name>相同。 - 频道名和某个
<display-name>相同。 - 频道名去掉画质后缀后,和某个
<display-name>相同。画质后缀包括「超高清」「高清」「超清」「标清」「蓝光」「频道」,以及 HD、FHD、UHD。
比对名称时,Revue 不区分大小写和全角半角,也会忽略空格、-、_、括号这类分隔符,但保留 +。注意第 4 步不会去掉 4K 和 8K。因此「示例新闻 高清」能匹配到「示例新闻」,但「示例 4K」匹配不到「示例」。
如果只有 tvg-name,Revue 不会用它来匹配。如果 XMLTV 里有几个频道用了同一个名字,Revue 也不会使用该名字匹配。一条都匹配不上时,该频道就不会显示节目单,Revue 不会强行匹配。
节目对不上频道时怎么排查
| 现象 | 检查方法 |
|---|---|
| 「立即更新」显示「尚未获取节目单」,或者更新失败 | 在同一网络下用浏览器打开该地址。「所有候选地址都不可用」表示 Apple TV 无法下载任何一个地址。「XMLTV 格式无法解析」或「gzip 数据损坏」表示文件不是有效的 XMLTV。 |
| 更新成功了,但某个频道没有节目单 | 打开 XMLTV 文件,找到该频道的 <channel>,将其 id 填入频道的 tvg-id。这是最可靠的解决办法。 |
| 节目对不上,或者时间差了几个小时 | 查看 XMLTV 里 start 和 stop 的时间。带时区偏移(比如 +0800)的时间会自动换算;不带偏移的,按 Apple TV 的时区解析。同时也检查一下 Apple TV 设置里的时区。 |
| 节目单过一段时间就没了 | XMLTV 文件通常只覆盖几天。确认该地址会定期更新。最后一个节目播完后,Revue 会重新下载。 |
| 一个播放列表有节目单,另一个没有 | 所有播放列表共用一份节目单。换一份能同时覆盖两个播放列表频道的节目单。 |
常见问题
能从 U 盘或本地文件导入播放列表吗? 不能。Revue 只支持从 http:// 和 https:// 地址打开播放列表。你可以把文件放到局域网里的电脑或 NAS 上,使用其地址。
支持 Xtream Codes 吗? 不支持。Revue 不支持 Xtream Codes 和 Stalker 登录。如果同样的频道还提供 M3U 地址,使用 M3U 地址添加即可。
支持回看或录制吗? 不支持。Revue 会忽略播放列表里的回看属性,也不支持录制。