我下面只放一个完整 Markdown 块,不在外面写任何说明:
增加广东频道强制刷新机制:
gdtvForceRefresh=setInterval(async()=>{
for(const [cid,cv] of channelViewers){
if(isGdtv(cid)){
cv.streamUrl=null
}
}
},60000)
作用
每60秒清除广东频道缓存的 streamUrl
强制重新获取最新 m3u8 地址
防止广东官网播放地址/token过期导致失效
2. 修改 HLS 播放列表窗口
原参数
-hls_list_size 20
修改为
-hls_list_size 40
作用
增加 HLS 保留分片数量
扩大直播窗口
播放器短暂卡顿或落后时,提高恢复能力
3. 增加容器资源
原配置
--shm-size=256m
--memory=1024m
修改
--shm-size=512m
--memory=2048m
作用
增加 Chrome headless 运行空间
增加 FFmpeg 处理空间
减少内存不足导致的异常
4. 修改容器时区
增加
-e TZ=Asia/Shanghai
设置
/etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
作用
日志时间从 UTC 改为北京时间
方便查看真实故障时间
5. 测试结果
TVBox 长时间播放正常
偶尔转圈后可以自动恢复
后台无 M3U8 rewrite failed / HTTP 403 错误
VSTV、电视直播出现 behind live window (1002),属于播放器处理直播窗口的问题
最终自定义镜像运行命令
docker run -d \
--name tv-hls-service \
--shm-size=512m \
--memory=2048m \
--restart=unless-stopped \
--network host \
-e TZ=Asia/Shanghai \
sampoon/tv-hls-proxy:custom
Content type
Image
Digest
sha256:eb6e48240…
Size
290.6 MB
Last updated
about 1 month ago
docker pull sampoon/tv-hls-proxy:custom