2015-10-28 2 views
27

blob:がこのビデオタグのURLで何を示すのか説明できますか? Media Source Extensionsを使用してブラウザのプラグインなしでDASHコンテンツを再生shaka playerでユーチューブの動画がある<video src = blob:url>のblobとは何ですか?

<video class="" 
     style="width: 640px; height: 360px; left: 0px; top: 0px; transform: none; opacity: 1;" 
     src="blob:https://www.youtube.com/5c42620b-a028-451b-9b64-424996802355"> 
</video> 

答えて

10

ブロブURLはcreateObjectURLによって生成されます。

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

var assetURL = 'frag_bunny.mp4'; 
// Need to be specific for Blink regarding codecs 
// ./mp4info frag_bunny.mp4 | grep Codec 
var mimeCodec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"'; 

if ('MediaSource' in window && MediaSource.isTypeSupported(mimeCodec)) { 
    var mediaSource = new MediaSource; 
    //console.log(mediaSource.readyState); // closed 
    video.src = URL.createObjectURL(mediaSource); 
    mediaSource.addEventListener('sourceopen', sourceOpen); 
} else { 
    console.error('Unsupported MIME type or codec: ', mimeCodec); 
} 
+0

上記のコードはわかりませんが、実際の動画URLにどのようにblob URLがどのように変換されるのですか?「assetURL」はまったく使用されません。 – fahadash

+1

ここに欠落しているようです。 'assetURL'は一度定義され、' mediaSource'では使われません。私がここで起こっているのは空のビデオだけです。 'sourceOpen()'の定義は何ですか? –

+0

私はこのコードを理解していないと思われます.YouTubeは明らかに、ブラウザ外のビデオにアクセスすることはできるだけ難しくしたいと考えています。 URLとなる文字列引数にURL.createObjectURLを呼び出すだけで、その前に "blob:"が置かれます。私はなぜ彼らがそれをやりたいのか分からないと思う。 –

関連する問題