Как использовать полученный stream в теге video MinioJS
minioClient.getObject("busket", "name.mp4", function(
err,
stream
) {
if (err) {
return console.log(err);
}
console.log("stream", stream);
stream.on("data", function(chunk) {
size += chunk.length;
});
stream.on("end", function() {
console.log("End. Total size = " + size);
});
stream.on("error", function(err) {
console.log(err);
});
});
let player = document.getElementById("introduction");
Как использовать полученный stream в player?
Ответы (2 шт):
Автор решения: Vasily
→ Ссылка
Если Вы работаете только с современными браузерами, то:
// если #introduction являеться тегом <video />
player.setAttribute("src", stream)
// если это обертка над <video />
player.querySelector("video").setAttribute("src", stream)
По состоянию на 2020 год даже в iOS добавили поддержку VP8 через WebRTC, а новые iPad'ы стали поддерживать Media Source Extensions.
Автор решения: Alex_Verizhnikov
→ Ссылка
Спасибо огромное за ответ. Но мне кажется тут будет что то другое. Вот похожий ответ нашел на просторах интернета. Но он тоже не работает.(((
function startVideo() { player = document.getElementById("player")
const mediaSource = new MediaSource()
const url = URL.createObjectURL(mediaSource)
player.src = url
mediaSource.addEventListener('sourceopen', sourceOpen)
}
async function sourceOpen() { let mediaSource = this
const videoSourceBuffer = mediaSource.addSourceBuffer('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')
let fetchResult = await fetch(`/asset/video/${videoLocation}`)
let videoData = await fetchResult.arrayBuffer()
videoSourceBuffer.appendBuffer(videoData)
}