@Coder321

Video тег грузит видео два раза?

На сервере есть стрим отдающий видео файл и пишет статистику о загрузке файла:
res.writeHead(200, {
                'Content-Type': 'video/mp4',
                'Content-Length': stat.size
            });
            readStream.on('open', function () {
                startTime = Date.now();
                readStream.pipe(res);
            });
            readStream.on('close', function (err) {
                writeStat(fileName, Date.now() - startTime, stat.size);
            });
            readStream.on('error', function (err) {
                res.end(err);
            });

Первый вопрос, правильно ли это считать стартом open ивент стрима и концом close ивент?
И второй вопрос. На фронте принимаю видео:
<video controls="controls">
  <source src="http://localhost:3000/api/file/test.mp4">
</video>

но почему то видео грузится два раза
d6b8998180374777a06d16d2fafd30a5.jpg

почему так происходит?
  • Вопрос задан
  • 468 просмотров
Пригласить эксперта
Ответы на вопрос 1
fakey0u
@fakey0u
(javascript) => ['Node.js', 'React']
Нужно смотреть что там выше в сервере. Есть ли 2 соединения, что сокет отдает 2 раза ?

на сколько я помню нужно делать stream.on('data') если есть желание эту дату вычитать или вероятно писать свой стрим.
readStream - это свой стрим или fs ?

Если там просто fs, достаточно сделать fs.createReadStream('./path-to-file.mp4').pipe(res).
Ждать начала события не нужно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы