我有很多用于HLS Streaming的.m3u8
和.ts
个文件,
所有这些都是由另一个流媒体软件即时生成的。
我想为每个客户端添加安全令牌以防止未经授权的访问。
NginX用于提供HLS文件,因此我选择secure_link
模块来提供由路径名,客户端IP,过期时间和盐组合生成的散列令牌。
问题是,必须修改.m3u8
播放列表才能为每个.ts
文件添加令牌。我认为NginX将无法修改该文件,因此这是我的后端服务器应该做的工作。
一般来说,m3u8
文件不是很大,但我不是100%肯定。缓存不是很有用,因为原始.m3u8
将由另一个进程即时生成和修改,并且对于每个不同的客户端,令牌会有所不同。
我目前正在使用Koa。我写了一个Transform
流,可以将.m3u8
文件作为流读取并输出。我应该使用fs.createReadStream
并将流转换并传递给ctx.res
,还是使用fs.readFile
加载和修改整个文件并发送?或者其他更好的方法吗?