旧快照全灭之后:直播源要按签名有效期刷新
旧源大面积失效不是源死了,是签名过期了;按签名有效期做定时刷新、拉不到不覆盖,才算根治。
· 3 次阅读
拼好的直播源一夜之间大面积失效,第一反应往往是源死了。逐条测完才发现不是:拿到的不是播放列表,而是服务器的拒绝;地址里的时间戳停在前一天晚上——那是一份旧快照,签名已经过期。源本身没死,死的是快照。
这就决定了托管方式。电视拉的只是一个几十 KB 的列表文件,真正的视频流仍直连各台地址、不经过托管服务器,所以服务器带宽不是问题;但列表文件必须是公开可拉的,里面也不能放带凭证的付费地址——公开链接等于公开凭证。
根治办法不是换一份新源,而是让刷新节奏跟上签名有效期。上游每小时更新一次,签名有效期只有一两小时,“每隔几小时拉一次”注定会黑;改成每小时拉一次,列表才一直有效。刷新间隔要按签名有效期定,不能按感觉定。
刷新脚本还要有两道闸门。第一,上游拉不到、或者条数明显不达标,就不覆盖旧文件——宁可留旧的,也不要用残的盖掉;不同来源的条数门槛要分开设,拿一个来源的规模去卡另一个来源,只会误杀。第二,不要用服务器播不通来否决覆盖:服务器的网络路径和电视的播放路径根本不同,服务器播不通的地址,在电视那边可能正通着。把关只看时间戳和条数。
列表的新鲜度,不是有没有文件,而是签名还剩多久。