后台上传了 1080P 源文件,转码完成后播放器清晰度菜单只有 360P 一个选项,源文件地址却能直接播。乍看像缓存或者权限的锅,追下去往往不是。
#EXTM3U #EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360 360p/index.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=2800000,RESOLUTION=1280x720 720p/index.m3u8
追下去是这么回事:转码模板只配了一档 360P,多码率输出没有开启。播放器读的是 master playlist,里面只有一条流,菜单自然只显示一档。
「清晰度选项缺失」这类改动最怕改一半,回滚脚本先准备好,再动生产。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。
先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。别只看报错的最后一行,往上看几行,真正的起因通常在上面。
同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。
具体做法是,在转码模板里加 720P 和 1080P 两档;重新生成 master m3u8 确认包含多条 EXT-X-STREAM-INF;播放器打开 autoLevelEnabled 读取全部档位。
验收就看一点,清晰度菜单出现 360P 720P 1080P 三档,切换后请求的码率跟着变化。
