什么是<;视频src=blob:url>;?
有人能解释一下这个视频标签的URL中的什么是<;视频src=blob:url>;?,url,youtube,Url,Youtube,有人能解释一下这个视频标签的URL中的blob:指示了什么吗 这是一个youtube视频,在不使用浏览器插件的情况下播放DASH内容 blob url由createObjectURL生成。例如: var video = document.querySelector('video'); var assetURL = 'frag_bunny.mp4'; // Need to be specific for Blink regarding codecs // ./mp4info frag_bunny
blob:
指示了什么吗
这是一个youtube视频,在不使用浏览器插件的情况下播放DASH内容 blob 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);
}
它表示url是使用
url
对象的createObjectURL
静态方法创建的。createObjectURL
采用单个参数,该参数应为Blob
、文件
或MediaSource
对象之一,它返回一个url,该url表示参数给定的对象。(见附件)
您可以尝试console.log(URL.createObjectURL(newmediasource())控制台中的代码>以演示它创建“blob:https://...(网址)……”。但是,您通常会将video
元素的src
属性设置为引用创建的对象url,该url本身就是对MediaSource
对象的引用。然后,您可以使用XMLHttpRequest
获取视频资源流,并将响应作为缓冲区附加到MediaSource
对象,您可以从上的中了解到该对象的确切细节。这允许对流进行更大的控制,例如。,您可以使用允许播放速度和视频质量调整等功能
但这是我读到的老方法,支持最终将从较新的浏览器中删除(请参阅“”)。新方法是只设置video
元素的srcObject
属性,直接引用MediaSource
对象,而不必使用url.createObjectURL
创建对象url的中间步骤(请参阅)。一个blob是一个更高级别的对象,它表示不可变的原始二进制数据
我不理解上面的代码,根本没有使用assetur
blob URL如何转换为实际的视频URL?这里似乎缺少一个步骤assetURL
只定义一次,从未与mediaSource
一起使用。我所能看到的只是一段空白的视频。那么sourceOpen()
的定义是什么呢?我认为我们不应该理解代码:YouTube显然想让在浏览器之外访问视频变得尽可能困难。对恰好是URL的字符串参数调用URL.createObjectURL只需在其前面加上“blob:”;我认为我们不应该知道他们为什么要这么做。@BradenBest完整的例子可以在MDN上找到: