Следуя этой статье: Видеопоток с Node.js и 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)