2017-08-14 104 views
-1

我想知道这些网站用于从服务器采集blob格式视频的过程吗?YouTube/Facebook如何使用blob显示视频?

<video height="390" width="693" preload="auto" src="blob:https://www.facebook.com/34799f7c-34d4-48c7-976f-1e2ddba0728a"></video> 

我期待实现我的网站上相同的方法。

我能够使用blob来源视频。但是这个过程很慢,因为我必须先从服务器检索(下载)视频,然后创建blob。

var xhr = new XMLHttpRequest(); 
xhr.open("GET", "video.mp4"); 
xhr.responseType = "blob"; 
xhr.onload = function() 
{ 
    var video = document.getElementById("videoId"); 
    video.src = URL.createObjectURL(xhr.response); 
} 
xhr.send(); 

如果视频长度为10分钟,则需要等待15秒钟后才能更新视频源。

但是,当您在YouTube上观看视频时,它几乎立即加载。他们如何使用blob快速加载视频?

+0

可能的重复https://stackoverflow.com/questions/33389001/what-is-blob-in-the-video-src-bloburl – anu

+0

我不知道为什么人们低估了这个问题,它不坏所有。 –

回答

0

YouTube使用MediaSource扩展程序对视频播放进行细化控制。但是,这可能比大多数用户需要的更复杂。播放.mp4文件的最简单方法是:

var video = document.getElementById("videoId"); 
video.src = "video.mp4"; 

这将只下载用户观看的内容,类似于YouTube的工作方式。