2016-11-08 116 views
0

我需要在我的網站上託管一些視頻。我正在觀看youtube如何做,但我不明白視頻源。以下是YouTube中的視頻標籤。來源是一個blob,爲什麼?網址是什麼意思?它是如何工作的?我怎麼能做同樣的事情?html5(youtube)視頻標籤說明

<div class="html5-video-container" data-layer="0"> 
    <video tabindex="-1" class="video-stream html5-main-video" 
    style="width: 640px; height: 360px; left: 0px; top: 0px; opacity: 1;" 
    src="blob:https://www.youtube.com/9effef84-87ae-43c0-abae-8005d399e1fd"> 
    </video> 
</div> 

在此先感謝您。

回答

0

YouTube在Firefox中使用MediaSource Extensions(MSE)src看起來像「mediasource:https://www.youtube.com/9effef84-87ae-43c0-abae-8005d399e1fd」 要使用MediaSource,您需要以mpeg-dash格式來編輯您的視頻。這意味着視頻將被分成幾個文件。其中一個元數據文件(.mp4)將包含moov原子和其他(.m4s)moof和MDAT原子。 您可以使用ffmpeg來實現此目的,並使用xmlhttprequest或webSocket在瀏覽器中下載它。 您還可以使用BLOB是一個小例子:

\t xhr.open('GET', "http://localhost:1313/1.mp4", true); 
 
\t xhr.responseType = 'arraybuffer'; 
 
\t xhr.onload = function(){ 
 
\t \t file = new Blob([ new Uint8Array(xhr.response) ], {type: 'video/mp4'}); 
 
\t \t document.querySelector("video").src = URL.createObjectURL(file); 
 
\t \t } 
 
\t xhr.send();