1快速开始与首次配置#
一套系统跑在一台 x86 服务器上:接收组播 / 单播 / 摄像头 / 本地片源,转成 HLS 分发,同时提供管理后台、电视端、点播、EPG、SIP 与设备管理。
部署形态
| 形态 | 说明 | 典型场景 |
|---|---|---|
| 单机一体 | 一台服务器承担收流、转发、点播、后台与存储,局域网内直连 | 单体酒店、公寓、小型小区 |
| 机房 + 客房终端 | 服务器放在弱电间 / 机房,客房用 Android 盒子或酒店电视一体机 | 100~500 间客房 |
| 公网 + 地址发现 | 服务器有公网地址,盒子通过授权服务发现服务器地址,IP 变了自动跟上 | 连锁门店、异地代维 |
装系统的三条路(任选一条)
| 场景 | 怎么装 | 说明 |
|---|---|---|
| 服务器能上外网(推荐) | curl -fsSL https://xcitv.com/install.sh | sudo bash | 一条命令:下载程序包 → 校验 sha256 → apt 装依赖(ffmpeg / Node.js / Asterisk 等)→ 装服务 |
| 内网 / 无外网 | 网站「下载部署」页取离线包,tar xzf iptv-offline-*.tar.gz 后 sudo bash deploy/install.sh --offline | 离线包内带全部依赖 .deb,不访问网络;按目标机 Ubuntu 版本选包 |
| 手里已有源码目录 | sudo bash deploy/install.sh | 与一键安装等价,只是程序包自己准备(二次开发常用) |
装完是什么样
- 程序与数据:代码放
/opt/iptv,数据放/var/lib/iptv,注册systemd服务iptv,监听1090。 - 默认带 SIP 电话:安装包默认装 Asterisk 并授权后台管理,首次启动自动预置 8 个分机
8001–8008(详见 第 9 章);不需要可加--skip-sip。 - 打开后台:浏览器访问
http://<服务器IP>:1090/admin/,用管理员账号登录,按下面的清单逐项配完。
/etc/iptv/install-report.txt(主机名、硬件、推荐参数、账号、SIP 状态),换机器或排障先看它。默认账号
| 入口 | 地址 | 默认账号 |
|---|---|---|
| Web 管理后台 | http://<服务器IP>:1090/admin/ | admin / admin123 |
| 浏览器 TV 端 | http://<服务器IP>:1090/tv/ | demo / demo123 |
| 系统 SSH / 显示器登录 | 由装机脚本创建的系统账号 | 见装机报告,装完请立即改 |
首次配置清单
- 改管理员密码;需要的话在「基础设置」设机顶盒设置密码(默认
1234)。 - 「信源 / VLAN」登记实际使用的网卡,配好 VLAN 子接口。
- 「频道 / 节目」建频道或导入节目源,确认「测试收流」有数据后再启动。
- 「套餐管理」勾选频道组合,「用户管理」建客房账号并分配套餐。
- 「桌面首页」上传品牌 Logo、填欢迎语与天气城市;「APP 升级」上传三个 APK。
- 「备份与恢复」配好邮箱定时备份,至少备份一次
db.json。 - 「授权管理」确认机器码、模块与期限(试用期为首次登录后台起 30 天)。
2后台功能地图#
左侧菜单按业务分组,默认收起,点开一组自动收起其它组。下面是每组能做什么,遇到「这个功能在哪」先查这张表。
| 分组 | 页面 | 主要用途 |
|---|---|---|
| 概览 | 概览 | 在线频道、信源健康度(评分 / 健康 / 波动 / 故障分段)、转发生效情况、即将到期用户、运行日志 |
| 内容管理 | 频道 / 节目 | 频道增删改、多信源、导入节目源、切片参数、启停转发、重新编号 |
| EPG 节目单 | 手工节目表、批量导入、互联网 XMLTV 采集与频道映射 | |
| 影视库 / 点播 | 上传影片、自动分类、海报元数据、转码进度、发布点播 / 轮播频道 | |
| 网络与信源 | 信源 / VLAN | 登记网卡与 VLAN 子接口、收流探测、生成 netplan |
| 网卡配置 | 改 IP / 掩码 / 网关 / DNS,写入 netplan 并应用 | |
| 网络服务 | DHCP / DNS(dnsmasq)与 NTP(chrony),默认只开 NTP | |
| 静态路由 | 对接三层交换机的单播 / 组播路由,失败整批回滚 | |
| 用户与运营 | 套餐管理 | 频道组合、价格、天数、上下架 |
| 用户管理 | 建号、分配套餐、续费、禁用、设备数上限、机顶盒绑定与解绑 | |
| 消息通知 | 跑马灯:推送对象、颜色、速度、定时、启停 | |
| 电视桌面 | 桌面首页 | 品牌、欢迎语、宣传位、天气城市、热门推荐、直播默认播放 |
| 信息发布 | 四级栏目 + 图文页,酒店资讯 / 通知 | |
| 桌面应用 | 桌面上的应用入口:网页、已装 APK、直播 / 点播 APP | |
| APP 升级 | 三个渠道各自上传 APK、更新说明、强制升级、历史版本回滚 | |
| SIP 电话 | 批量开分机、监听网卡、注册状态、通话记录 | |
| OLT 接入 | OLT 设备 / ONU 终端 | 华为 / 中兴 OLT 的自动注册与光猫列表 |
| ACS(TR069) | 光猫远程配置模板与下发 | |
| FTP 服务 | 给光猫 / 机顶盒用的文件分发与配置回传 | |
| 远程终端 | 浏览器里对 OLT 做 telnet / ssh 运维 | |
| 组播再输出 | 把频道再推回组播网络,供其它机顶盒直接收看 | |
| 系统运维 | 系统监控 | CPU / 内存 / 每网卡收发速率 / 在线终端,5 秒刷新 |
| 系统升级 | 在线升级(升级服务期内)与手动上传升级包 | |
| 服务器电源 | 远程重启 / 关机(受限助手执行) | |
| 系统设置 | 基础设置 | 品牌名、切片时长、令牌有效期、设置密码、重启自动起播、SSH 运维账号 |
| 授权管理 | 机器码、授权状态与模块、获取授权、离线导入 | |
| 点播与转码 | 点播目录、转码参数、兼容直切、自动删原片、TMDB Key | |
| 存储管理 | 本地磁盘格式化 / 挂载、网络磁盘 NFS / SMB、占用明细 | |
| 备份与恢复 | 邮箱定时备份、立即备份、升级回滚提示 |
3频道与直播信源#
一个频道 = 一个输出 /live/<频道ID>/index.m3u8 + 最多 6 路信源 + 一组切片参数。系统用 ffmpeg 直接转封装(-c copy),不重新编码,CPU 占用很低。
信源地址怎么写
| 类型 | 写法示例 | 备注 |
|---|---|---|
| 组播 UDP | udp://239.1.1.1:5000 | 最常见;需要服务器与源在同一组播域 |
| 组播 RTP | rtp://239.1.1.1:5000 | ffmpeg 自动处理,部分广电前端用这种 |
| 单播 HTTP | http://10.0.0.9:8080/live/1.m3u8 | 上游已切片可直接填;也支持 flv / ts 直链 |
| RTSP 摄像头 | rtsp://user:pass@10.0.0.20:554/stream1 | H.265 摄像头会自动转码成 H.264 |
| RTMP | rtmp://10.0.0.30/live/room | 推流盒子 / 直播编码器 |
| 本地文件 | 后台上传视频文件 | 转码后发布为点播频道,或轮播频道 |
组播能收到是前提
跨网段需要服务器上有 igmpproxy 或 smcroute,或在三层交换机上把组播路由指向服务器。云主机 / VPS 一般不给组播,必须部署在本地网络。
# 在服务器上确认真的收到组播包
sudo tcpdump -i eth0 -n udp port 5000
# 用 ffplay 直接验证某一路能不能播(比后台更快定位)
ffplay -v error udp://239.1.1.1:5000
多 VLAN 接入多路信源
上联口配成 Trunk,在服务器上创建 802.1Q 子接口,然后每个频道绑定自己的信源接口。同一个「组播组:端口」出现在两条 VLAN 上时,内核只会加入一次,绑定接口就是区分它们的唯一办法;不绑就会出现「两个频道画面一模一样」或干脆收不到。
# 例:eth0 承载 VLAN 100 / 200
# 后台「信源 / VLAN」里新增 eth0.100 → 10.0.100.5/24,eth0.200 → 10.0.200.5/24
# 再在频道里把「信源接口」分别选成 eth0.100 / eth0.200
多信源与自动切换
- 每个频道最多 6 路:主用 + 备用 1~5,启动前并发探测,优先选有信号的那一路(不一定从主用开始)。
- 运行中主用断流、卡死(看门狗判定)会自动切下一路;连续两轮全部无信号则自动停台。
- 停台频道每 5 分钟复查一次,信源恢复自动重新开播,电视端频道列表也会跟着回来。
- 电视端只下发当前已启动的频道,停台 / 未启动的频道不显示,避免客人点到黑屏。
批量导入节目源
「频道 / 节目 → 导入节目源」支持粘贴「名称,地址」文本或 M3U,支持 #genre# 分组。系统会逐路 ffprobe 拉流验证(等同 VLC 试播):有信号的按顺序收录为主用 + 备用,同名频道只追加备用源,全部无信号的频道建号后自动停台等恢复。
重新编号
右上角「重新编号」按广电 / 酒店习惯从 1 连续排:央视频道 → 央视付费 → 卫视 → 地方台 → 港澳台 → 电影 / 体育 / 音乐 / 戏曲 → 点播频道。只改编号与分类,不动信源、不影响正在转发的频道,可重复执行。
启停、监控与播放地址
- 启动 / 停止可以单个操作,也可以「全部启动 / 全部停止」;重启服务器后是否自动起播由「基础设置 → 重启后自动起播」控制。
- 概览页的信源健康度会综合切片产出、转发状态、切源 / 重启次数、停台原因打分,问题频道直接列出来。
- 输出地址:
/live/<频道ID>/index.m3u8,在后台可生成带短期令牌的完整可播地址。 - 每次播放签发令牌(默认 3600 秒),绑定「账号 + 频道 + 有效期」,分片地址自动带同一令牌;把地址转给别人会 403。
4EPG 节目单#
给直播频道配「每天循环」的时段表,电视端频道卡片与播放页会自动显示「正在播出」和「下一档」。
三种录入方式
- 逐条新增:开始 / 结束时间
HH:mm、节目名(≤60 字)、可选简介、生效星期(全选=每天,只选周一至周五=工作日)。 - 批量导入:一行一条,
08:00-09:30 新闻早班车,用|追加简介;09:30~10:00、10:00 至 11:30都认。可一键「填入示例模板」再改。 - 互联网采集:从 XMLTV 源自动拉真实节目单,适合央视频道、卫视。
互联网 EPG 采集
- 添加采集源:「EPG 节目单 → 采集源管理 → 添加」,填名称与 XMLTV 地址;支持
.xml.gz与 GBK 编码,自动跟随重定向。 - 频道映射:系统按频道名自动匹配(CCTV1 不会误配 CCTV10,CCTV5+ 不会误配 CCTV5);匹配不上的在「频道映射」里手工指定,改完立即生效。
- 定时同步:默认每 6 小时(可调 1~72 小时)拉一次,也可「立即同步全部」。只保留最近 1 天到未来 8 天,单源最多 4 万条。
采集到的节目优先展示,手工节目单作为兜底:采集源失效或频道未映射时自动回退到手工表,两者互不覆盖。频道删除重建后,原有映射会自动清理并重新按名称匹配。
5影视点播与转码#
上传影片后系统按文件名自动识别类型、季集与年份,采海报与简介,转码成 HLS,再发布成点播频道或 24 小时轮播频道。
从上传到能看
- 上传:「影视库 / 点播 → 上传影片」,支持 mp4 / mkv / mov 等,单文件最大 8GB。
- 自动识别:按文件名判断电影 / 电视剧 / 短剧 / 动漫 / 纪录片 / 综艺与季集年份,剧集自动聚合为「详情 + 选集」。
- 补元数据:配置 TMDB 后自动采海报、简介、评分、题材;旧片可「重新识别全部影视」补齐。
- 转码:服务器端 ffmpeg 转 H.264 / AAC 并切片成完整 HLS,进度实时显示。
- 发布:一键发布为点播频道,或以「轮播模式」循环实时切片成 24 小时频道。播放复用同一条令牌鉴权链路。
转码参数怎么选
| 参数 | 作用 | 建议 |
|---|---|---|
| 清晰度 / 帧率 | 输出分辨率与帧率 | 客房电视 1080p / 25fps 足够,4K 只在点播场景考虑 |
| CRF | 画质与体积的平衡,数值越小越清晰 | 20~23 之间;存储紧张就往上调 1~2 |
| 编码速度 | preset,越快画质略降 | 片源多选 veryfast,追求画质选 medium |
| 兼容直切 | 源已是 H.264/AAC 时直接转封装,秒级完成 | 默认开启,能省大量时间 |
| 自动删原片 | 转码完成删除上传的源文件 | 省空间;但要保留「重新转码」能力就别开 |
不想让某部片出现在点播 APP 里,可以「在点播中隐藏」,它仍可被桌面首页宣传位第 4 块指定推荐。
6用户、套餐与机顶盒绑定#
套餐决定「能看哪些频道」,用户决定「谁在看、几台设备」,绑定决定「这个房间的盒子开机能不能直接进桌面」。
套餐与用户
- 套餐:勾选频道组合、填价格、有效期天数,可上下架。
- 用户:新建账号时初始密码可以留空——留空即「只输账号就能进」,填了密码才能设成「必须密码」。
- 续费 / 禁用 / 删除:禁用会立即让该账号的登录令牌与设备凭证失效。
- 设备数上限:单账号可同时登录几台盒子,超出会提示「请联系前台解绑」。
- 开机直播:勾上后这个账号的盒子启动直接进直播,不显示桌面。
免密登录(账号 + 设备绑定)
盒子第一次输入客房账号(默认不需要密码)时,服务端把本机硬件编码写进这个账号的绑定名单;之后升级、重装、重启都不用再输任何东西,开机直接进桌面。
| 开关 | 位置 | 说明 |
|---|---|---|
| 总开关 | 桌面首页 → 客房账号登录 | 关闭后所有账号恢复「账号 + 密码」 |
| 单账号三态 | 用户 → 免密登录 | 跟随总开关 / 只输账号 / 必须密码 |
绑定与解绑
- 「用户管理 → 机顶盒」能看到每台设备的名称、硬件编码、CPU 序列号、绑定时间、最后在线时间 / IP、APP 版本。
- 换盒子:先解绑旧的(单台或全部),新盒子登录一次即绑定;解绑后旧设备凭证立即失效。
- 硬件编码按 CPU 序列号 → SoC 序列号 → 网卡 MAC → ANDROID_ID 的顺序生成,原文经哈希处理,不会把原始序列号暴露给前端。
- 账号被禁用 / 删除时,设备凭证同时失效,绕不过账号状态。
7电视端与三个 APP#
同一套代码打出三个包:桌面(launcher)、直播(live)、点播(vod),同一签名、单点登录。也可以先用浏览器 TV 端做验收。
浏览器 TV 端
http://<服务器IP>:1090/tv/:方向键移动焦点、OK 确认、返回键回桌面、数字键 1-9 切台。适合装机验收和前台电脑演示。
三个安装包
| 渠道 | 包名 | 职责 |
|---|---|---|
| 桌面 | com.iptv.launcher | 首页、宣传位、应用入口,可设为系统桌面;不含播放器 |
| 直播 | com.iptv.live | 频道列表 + 播放,可独立安装 |
| 点播 | com.iptv.vod | 影视库浏览 + 播放,可独立安装 |
桌面登录一次,直播 / 点播启动直接拿到令牌;在任意一个 APP 的设置里改服务器地址或重新登录,会同步到另外两个。
遥控器操作
| 按键 | 作用 |
|---|---|
| 方向键 / OK | 移动焦点、确认 |
| 返回 | 回上一级 / 回桌面;开屏读秒时按返回可跳过 |
| 数字键 | 直播页直接切台(频道号) |
| OK(直播中) | 调出全部频道列表,直接换台 |
| 菜单键 | 打开设置页(需设置密码);在登录页按菜单键直接进「服务器地址配置」 |
设置密码与服务器地址
- 设置密码 4~8 位数字,默认
1234,后台「基础设置 → 机顶盒设置密码」修改,下次进入立即生效。 - 连续输错 8 次锁定 10 分钟;管理员可在后台看到当前密码。
- 登录页与设置页只显示并只允许改 IP,
http://与端口由程序固定沿用,客人不会把格式改坏。
升级与开屏
- 后台上传新版 APK 会自动识别包名与版本号,盒子启动或回到桌面时检查更新;可设强制升级、保留 6 个历史版本回滚。
- 直播 / 点播打开时先显示启动画面(背景图 + 0~10 秒读秒),期间首屏数据并行加载,读秒走完且数据就绪才淡出。
- 兼容 Android 4.4 起(minSdk 19);只认
file://安装的老盒子,需要手动装一次较新的版本,之后才能自动升级。
8桌面首页与消息通知#
客房电视第一屏决定观感:品牌、欢迎语、宣传位、天气、热门推荐都在这里配。
桌面首页
- 品牌:上传 Logo、填品牌名称与欢迎语;电视端桌面不显示账号名与套餐,保持干净。
- 宣传位:图片或视频,一屏 4 块轮播,视频静音循环;第 4 块可以指定某部点播影片,按 OK 直接进详情。
- 天气:填城市名,首页显示实时天气与日期时钟。
- 热门推荐:正在热播 / 热门点播,取点播播放热度。
- 直播默认播放:固定频道或上次观看;客房首页进入直播可直接起播。
消息通知(跑马灯)
| 项目 | 说明 |
|---|---|
| 推送对象 | 全部用户 / 按套餐(多选)/ 指定用户(可搜索、多选) |
| 样式 | 文字颜色、滚动速度(慢 / 标准 / 快) |
| 时间 | 开始与结束时间,到点自动生效 / 过期;也可手动停用 |
| 显示位置 | 只在直播、点播等二级栏目顶部滚动,桌面首页不显示 |
| 同步频率 | 电视端每 30 秒同步一次,多条按创建时间倒序循环 |
信息发布
四级栏目 + 图文页,用来放酒店介绍、周边、消防须知、活动通知等;内容独立于点播,不占影视库。
9SIP 电话分机#
后台内置 Asterisk(PJSIP),服务器同时是一台小话务服务器:客房话机 / 软电话注册上来后互相拨分机号,不依赖外部话务商。
安装包已经默认装好
从 1.18 起,服务器安装包(在线一条命令 / 离线包都算)默认安装 Asterisk 并自动执行下面的授权脚本,装完就能开分机。首次启动时如果还没有任何分机,系统会自动预置 8001–8008 共 8 个默认分机,密码在后台「SIP 电话」页可直接查看——话机填上就能注册。
# 一般不需要手动执行;老机器或手动装过 Asterisk 时补一次
sudo bash /opt/iptv/deploy/setup-sipctl.sh
授权脚本会把受限助手装成 /usr/local/sbin/iptv-sipctl(只有 iptv 用户能免密执行),在 pjsip.conf / extensions.conf 末尾追加项目专用 include(自动备份原文件),并启动 Asterisk。配置语法异常会自动回滚。缺 Asterisk 时脚本会自动 apt-get install -y asterisk 补上。
开号与配置
- 「SIP 电话 → 批量开号」:填号段与数量,密码随机或固定,可加备注前缀。
- 指定监听网卡 IP 与端口,多网卡服务器要选客房能访问的那张。
- 话机上填:服务器地址(服务器 IP)、分机号、密码,传输选 UDP,注册成功即亮绿灯。
- 「通话记录」可看主叫 / 被叫 / 时长 / 接通状态,支持筛选、同步、清空与导出 CSV。
10网络、VLAN 与组播#
网络配置都在后台完成,改动写入 netplan,由受限助手执行,不需要手改配置文件。
常用入口
| 需求 | 页面 | 要点 |
|---|---|---|
| 改 IP / 网关 / DNS | 网卡配置 | 应用后页面会等待确认,避免改错失联;失败可回滚 |
| VLAN 子接口 | 信源 / VLAN | 可一键从系统网卡导入,生成 netplan 片段 |
| 对接三层交换机 | 静态路由 | 支持单播与组播路由,应用后不重启网卡;失败整批回滚 |
| 给客房发地址 | 网络服务 | dnsmasq 的 DHCP / DNS,默认关闭,按需开启 |
| 时间同步 | 网络服务 | chrony / NTP,默认开启 |
排查组播的固定套路
tcpdump -i eth0 -n udp port 5000看有没有包:没包就是上游 / VLAN / 交换机的问题。- 有包但频道起不来:确认组播组与端口没抄错、频道绑定的信源接口正确。
- 两条 VLAN 同组同端口画面一样:给每个频道分别绑定各自的子接口。
- 开了 IGMP Snooping 却收不到:交换机上要有 Querier,或把上联口设成组播路由口。
IPv6 与双栈
服务端默认双栈监听(::):服务器有公网 IPv6 时,管理后台、TV 接口、HLS 都能用 http://[IPv6地址]:1090 访问,IPv4 同时可用。FTP 的 PASV 主动模式仅 IPv4,IPv6 客户端走 EPSV。
11存储与磁盘扩容#
直播切片放内存盘,点播文件放磁盘。片子多了先扩存储,不要先删片。
三类存储
| 类型 | 位置 | 说明 |
|---|---|---|
| 数据与配置 | /var/lib/iptv | db.json、密钥、上传的 APK 与图片;备份主要备它 |
| 直播切片 | 内存盘(tmpfs) | 默认取内存 1/4(2~8G 自动),重启即清空,不占磁盘寿命 |
| 点播文件 | 可指定目录 | 本地磁盘、数据盘、NFS / SMB 网络磁盘都可以 |
扩容点播存储
- 本地磁盘:「存储管理 → 本地磁盘」格式化 / 挂载 / 卸载,挂载后把点播目录指过去。
- 网络磁盘:「存储管理 → 网络磁盘」挂 NFS 或 SMB,适合 80T 级影视库;挂载后同样改点播目录。
- 迁移:改点播切片目录时系统会校验可写并自动迁移已有切片,迁移期间别关机。
12备份、升级与日常巡检#
运维只需要盯三件事:能备份、能升级、出问题能看日志。
备份
- 「系统设置 → 备份与恢复」配 SMTP(支持 SSL),可定时把数据打包发到邮箱,也可立即备份一次。
- 换机器时把
/var/lib/iptv/db.json与uploads/apk目录一起拷过去,最稳。 - 恢复前先停服务,恢复后再启,避免运行中的数据把文件覆盖回去。
升级
| 方式 | 前提 | 过程 |
|---|---|---|
| 在线升级 | 授权在「升级服务期」内 | 检测新版本 → 立即升级 → 下载并校验 MD5 → 语法 / 清单校验 → 备份 → 替换 → 自动重启 |
| 手动上传 | 无(试用机也能用) | 上传 .tar.gz 升级包,后续校验与落地流程完全相同 |
升级服务期由签发时的「升级年限」决定,0 表示永久。服务期结束后当前版本照常使用,但不能在线升级到新版本。
巡检与日志
systemctl status iptv # 服务状态
systemctl restart iptv # 重启(会重连所有频道)
journalctl -u iptv -f # 实时日志
journalctl -u iptv -n 200 # 最近 200 行
df -h /var/lib/iptv # 磁盘余量
free -h # 内存(内存盘切片占这里)
- 概览页看信源健康度与即将到期用户,红色频道优先处理。
- 系统监控页看 CPU、内存、每网卡发送速率与在线终端数。
- 服务器需要断电重启时用「服务器电源」远程重启 / 关机,别直接拔电。
13授权与注册#
授权跟机器绑定,不是跟安装包绑定。搞清机器码怎么来,能省掉一大半售后。
机器码与模块
- 机器码:按主机名 + 网卡 MAC + CPU + 内存算出 16 位十六进制,后台「授权管理」可查看与复制。
- 授权模块:桌面 APP、直播、点播、拉流、推流(组播再输出)、投屏,各自独立校验;只签发用到的模块。
- 用户档位:签发时选 210 户 / 510 户 / 无限制,新建用户时校验当前激活账号数,超了返回「已达到授权用户数量上限」。
注册流程
- 客户把后台显示的机器码发给服务商。
- 服务商按机器码签发:勾选模块、填使用年限与升级年限(0 = 永久)、选用户档位。
- 机器每 30 分钟自动拉取一次授权(也可点「获取授权」立即拉),全程不需要导入文件。
- 需要离线部署时,服务商下载
.lic注册文件,客户在「授权管理 → 离线导入」导入即可。
试用与持续校验
- 未注册机器自首次登录后台起 30 天试用,全模块可用。
- 已注册机器每 30 分钟拉一次授权并换一次 key(key 有效 20 天)。连续 20 天联系不上授权服务器、授权被吊销或使用期限到期,后台会显示「授权非法 / 已过期」,系统会中断业务并重启,直到恢复合法授权。
- 换新服务器:新机装好后把
db.json与上传目录拷过去,再按新机器码重新签发。
14远程协助与安全边界#
服务商可以在不打电话问地址的情况下远程看后台;但不管从哪里进来,都要验证这台机器的后台账号密码。
进入方式
| 场景 | 验证方式 | 会话有效期 |
|---|---|---|
| 服务商从授权门户点「打开后台」 | 同样要输入该 IPTV 后台的账号密码(门户登录状态不再免登录) | 关掉浏览器即失效(不保存密码) |
| 客户 / 其他人直接打开远程地址 | 必须输入该 IPTV 后台的账号密码,连续错 10 次锁 10 分钟 | 关掉浏览器即失效(不保存密码、也没有「记住我」) |
账号密码由这台 IPTV 自己校验,与门户账号无关。远程入口依赖机器上「远程云端管理」的管理密钥:在 IPTV 后台「系统设置 → 远程云端管理」复制,交给服务商填到门户对应机器上。密钥重置后旧入口立即失效。
建议的安全基线
- 管理员密码、系统账号密码全部改掉,不要用默认值。
- 远程入口只给运维人员,客人只走客房账号。
- 公网部署时用防火墙收口:只放行后台端口与业务端口,其它一律拒绝。
- 每个客房账号设备数设为 1,贵重场景改成「必须密码」。
- 定期改管理密钥,尤其是人员变动后。
15常见问题速查#
按「现象 → 处理」查,90% 的现场问题都在这张表里。
| 现象 | 处理 |
|---|---|
| 后台提示未检测到 ffmpeg | 服务器执行 sudo apt install -y ffmpeg,再 systemctl restart iptv |
| 频道一直「待开播」 | 点「启动」看日志;多为收不到组播,先 tcpdump 确认有没有包 |
| 「测试收流」0 包 | 交换机没放行 VLAN / 源没推流 / 组播组或端口错 / 开了 IGMP Snooping 但无 Querier |
| 两条 VLAN 同组同端口画面一模一样 | 频道没绑定信源接口,内核只加入一次;分别绑定各自子接口 |
| 日志报「信源接口 eth0.100 不存在」 | 子接口还没创建,在「信源 / VLAN」里先建好再启动转发 |
| 播放 403 | 令牌过期或套餐不含该频道;重新进入频道,长期无效检查套餐 |
| 播放花屏 / 卡顿 | 切片时长调到 4~6 秒,或让源侧降码率;检查客房 AP 带宽 |
| 盒子按 HOME 不弹桌面选择器 | 盒子锁定了默认桌面,去系统设置改默认应用,或禁用原桌面 |
| 应用入口白屏 | 目标站点禁止被嵌入(X-Frame-Options),换允许嵌入的页面或改用 APK |
| 影视库没有海报 / 简介 | 配好 TMDB 后点「重新识别全部影视」;个别片名识别不到的会按近似名补并标注 |
| 影片一直「正在转码」 | 看 journalctl -u iptv -f,多为磁盘满或源文件损坏;df -h 确认余量 |
| 点播拖进度条画面不跳 | 老切片没固定 GOP,对该片「重新发布」 |
| 重启后频道没自动起播 | 确认「基础设置 → 重启后自动起播」为开,且该频道不是被手动停止的 |
| 「重新转码」按钮是灰的 | 原片在转码完成后已自动删除;要重转需关闭「自动删原片」并重新上传 |
| 备用信源好像没生效 | 启动时优先选有信号的那一路,不一定是主用;看频道右侧「当前:备用 N」 |
| 通知发了电视上没看到 | 客户端每 30 秒同步;核对推送对象、生效时间、是否停用 |
| 播放页频道信息一直不消失 | 「播放页频道信息显示时长」填 0 表示常显,改成 6~10 秒即可 |
| 老 SSH 客户端报 no matching key exchange | 服务端已放行 SHA1 系算法;更稳的做法是升级客户端到新版 |
16术语表#
和集成商、广电、运营商对接时最常出现的词。
| 术语 | 含义 |
|---|---|
| 组播 / 单播 | 组播是一份数据发给一组接收者(udp://239.x),单播是一对一(http://)。广电前端多用组播,互联网多用单播。 |
| IGMP / IGMP Snooping | 主机加入组播组的协议;交换机靠 Snooping 决定把组播转发到哪个口,没有 Querier 时容易不生效。 |
| HLS / m3u8 / 切片 | 苹果提出的流媒体协议:把流切成若干 .ts 分片,用 .m3u8 索引。切得越短延迟越低、请求越多。 |
| GOP | 关键帧间隔。GOP 不固定的片源拖动进度条容易黑屏或跳不过去。 |
| EPG / XMLTV | 电子节目指南;XMLTV 是通用的节目单文件格式,网上有现成源可采集。 |
| VLAN / Trunk | 虚拟局域网;Trunk 是交换机上承载多个 VLAN 的干道口,服务器侧用 eth0.100 这样的子接口接。 |
| OLT / ONU / PON | 光线路终端 / 光网络单元(光猫)/ 无源光网络。全光酒店里 OLT 在机房,ONU 在客房。 |
| TR-069 / ACS | 运营商级光猫远程管理协议与自动配置服务器,用于批量下发宽带、语音、WiFi 参数。 |
| SIP / PJSIP | VoIP 信令协议;PJSIP 是 Asterisk 现在默认的 SIP 实现。 |
| CRF / preset | ffmpeg 的恒定质量参数与编码速度档位;CRF 越小越清晰,preset 越慢压缩率越高。 |
| TMDB | 影视元数据库,用来取海报、简介、评分与题材。 |
| tmpfs | 内存文件系统。直播切片放这里,重启即清空,读写不伤盘。 |
文档没覆盖到的问题,把「概览页截图 + journalctl -u iptv -n 100 的输出」一起发过来,定位会快很多。