了解Blob网址视频流

问题描述 投票:0回答:1

[许多视频流网站,例如youtube,似乎都有一个Blob网址作为其视频源。搜索,我不知道这是如何工作的。例如...

<video src="blob:https://www.youtube.com/ea375257-e9a8-4c3f-9cef-d8cf0f3ae53f"></video>

URL.createObjectURL()是获取Blob URL的唯一方法,它采用FileBlobMediaSource对象。由于正在流传输视频,因此必须不断添加新数据,而File和Blob似乎没有该选项,而MediaSource却有,但在developer.mozilla.org上被标记为实验性功能...

我的问题是,通过Blob网址流式传输视频的过程如何工作?

javascript video-streaming blob bloburls
1个回答
0
投票

我发现这篇文章解释了此过程...

medium article about web streaming

这里是答案,但是如果您想更深入地阅读文章。

具有可变的比特率或仅具有流式视频要求不断添加新的视频数据,这确实排除了不具有该功能的File或Blob对象。 MediaSource由于某种原因在developer.mozilla.org上被标记为实验性的,实际上是视频流服务在这种情况下使用的技术。 URL.createObjectURL()仅用于获取指向MediaSource对象的Blob网址。

然后Source Buffers用于将数据馈送到MediaSource。可以使用多个缓冲区来存储独立的音频和视频。重要的是,SourceBuffer对象包含用于添加称为媒体段的新数据的函数。该关键部分允许部分加载视频并将片段添加到视频数据。对于诸如可变比特率(多种分辨率)或多种语言之类的事情,只需选择并加载某种分辨率/剪辑/音频并将其附加到视频数据即可。

© www.soinside.com 2019 - 2024. All rights reserved.