通过以下文章:Video stream with Node.js and HTML5,我能够成功实现http范围请求。
假设一个开始和结束值,流视此视频块工作正常:
fs.createReadStream('./video.mp4', { start, end })
.pipe(res)
但是,让我们说我想在通过http提供服务之前解密和加密视频文件:
fs.createReadStream('./encrypted-video.dat')
.pipe(createDecipher(algorithem, secret))
.pipe(res)
在这种情况下如何处理http范围请求? start
和end
值适用于解密的.mp4视频文件而非加密视频。在这种情况下,我需要找到一种方法来应用范围请求。
在将解密流传递给响应之前,是否可以使用双工流将范围请求应用于解密流?
fs.createReadStream('./encrypted-video.dat')
.pipe(createDecipher(algorithem, secret))
.pipe(passthrough({start, end})
.pipe(res)