Привет,
Я постараюсь быть более точным c по поводу моего вопроса, я использую angular 9 и последнюю электронную версию 8.1.1.
Моя цель - читать большие медиа-файлы, такие как видео (> 4 go), песни (fla c) или другие большие файлы, расположенные в моей файловой системе, но с использованием потокового API в nodeJS in основной процесс и отправка результата (чанка, буфер) в процесс рендерера.
Как я могу обработать буфер потока в процессе рендерера, я хотел бы использовать видео и аудио API, уже встроенный в html5 Таким образом, используя ip c между основным процессом и процессом рендеринга, я отправлю куски и хотел бы иметь возможность отображать, воспроизводить, читать эти куски, используя html5 API (например, с тегом video и атрибутом sr c или аудио тег и атрибут sr c) что я должен дать в качестве sr c для этих элементов, чтобы он работал как основной c веб-поток с URL-адресом?
Вот мой основной процесс код (где я использую fs с nodejs):
ipcMain.on('getFileStream', (event, arg) => {
try {
if(fs.existsSync(arg.path) && fs.lstatSync(arg.path).isFile()) {
const s = fs.createReadStream(arg.path)
s.on('data', (chunk: Buffer) => {
console.log(chunk)
event.sender.send('getFileStreamResponse', chunk)
}).on('end', () => {
console.log("end stream")
event.sender.send('getFileStreamResponse', false)
s.close()
});
}
} catch(e) {
console.log('getFileStream', e)
}
})
Я не хочу ждать, пока все фрагменты начнут воспроизводить медиа, я хочу иметь возможность воспроизводить медиа, когда достаточно данных загружен. Я читал о Mediasources в html5, но хотел узнать, правильный ли это способ или вы знаете лучший способ чтения больших файлов и восстановления блоков в процессе рендерера?
Большое спасибо за ваше время