图片伪装/随机切片不生效
提示:图片伪装和TS加密不能同时开启,不然不会给你进行伪装。

有时候我们会遇到图片伪装或随机切片不生效,这种一般就是程序内置缓存引起,实际上已经生效了,该情况通常出现在体积过大或时间过长的视频中。

相关原理

一般切片完成后,会立即对切片进行图片伪装或切片随机命名处理,如果视频文件过大、时间过长或服务器性能过低,该处理过程可能不会立马完成,一般12分钟内处理完毕,具体由视频时长和服务器性能决定。

而当转码完成你立即读取m3u8的时候,会直接读取还未完成伪装或切片随机命名的m3u8,同时该m3u8也会立即被缓存,从而导致短时间内,你都会从缓存读取未处理的m3u8,即使伪装或切片随机命名已完成,直到缓存刷新后才会正常显示处理后的m3u8,大约1个小时缓存时间。

解决办法

对于体积过大或时间过长的视频,转码完成不要立马读取m3u8,等两三分钟再读取。

或者使用命令强行刷新缓存,使用SSH客户端登录服务器,运行命令:

redis-cli
flushall