Могу ли я создать видеоклипы из видео mp4 с потоками узла js? Я уверен, что есть npms для этой задачи, но это то, что можно сделать только с потоками?
Когда я создаю сервер, я могу передать короткий клип с начала видео в поток HttpResponse и направить его в файл Stream с помощью следующего кода: ( Работает!)
const fs = require('fs');
const http= require('http');
http.createServer(async (req, res) => {
// Creating clip from the beginning to 5% of the video
var { size } = fs.statSync('./Fun.mp4');
var start = 0
var end = .05*size;
var videoClip = fs.createReadStream('./Fun.mp4', { start, end })
var fileCopy = fs.createWriteStream('./Fun-Copy.mp4')
res.writeHead(200, {'Content-Type': 'video/mp4'})
videoClip.pipe(res)
videoClip.pipe(fileCopy)
}).listen(3000);
Однако, если я изменил начальную позицию на середину видео, это не сработает. Я не вижу клип в веб-браузере, и Qucktime не может воспроизвести созданную копию.
// Attempting to create a clip from 50% to 60% of the video
var { size } = fs.statSync('./Fun.mp4');
var start = 0.5*size;
var end = 0.6*size;
Кажется, что mp4 является неполным без начала. Есть ли способ, которым я могу создавать клипы из видеофайла большего размера с потоками. Есть ли метаэлементы или что-то, или определенное количество байтов, которые нужно скопировать из начала файла mp4?
Обрабатывает ли узел js аудио таким же образом? Могу ли я создать аудиоклипы из файла большего размера с потоками узла js?