web-dev-qa-db-fra.com

Afficher une vidéo à partir d'un Javascript Blob

Je souhaite afficher une vidéo d'un objet Javascript Blob/File dans la balise vidéo HTML5.

Ce code ne fonctionne que pour les petites vidéos: 

var reader = new FileReader();
reader.onload = function(e) {
    document.getElementById("video").src=reader.result;
 }
reader.readAsDataURL(vid);

Je ne peux pas l'utiliser pour les grandes vidéos (> 10 Mo) . Existe-t-il une solution pour afficher une grande vidéo à partir d'un objet blob en HTML 5?

22
Antonin M.

J'ai trouvé. C'était si simple que je ne l'ai même pas vue ...

function display(vid){

    var video = document.getElementById("video");
    video.src = window.URL.createObjectURL(vid);

}
35
Antonin M.

Dans certains cas, blobObject.data devrait être fourni dans la méthode createObjectURL () . Voir cette astuce simple:

function playVideo(videoStream){ // as blob 

 var video = document.querySelector('video');

 var videoUrl=window.URL.createObjectURL(videoStream.data);// blob.data gives actual data

 video.src = videoUrl;
}
0
susan097