在HTML的<video>标签中,src属性通常用于指定视频文件的URL。然而,有时候你可能会看到src属性的值是一个blob: URL。这是因为blob: URL是一种特殊的URL,用于引用二进制数据对象(Blob)。
使用blob: URL的原因有以下几点:
数据隐私和安全:通过使用blob: URL,你可以将视频数据存储在浏览器的内存中,而不是通过网络加载。这可以保护视频数据不被外部访问,特别是在处理敏感或私密内容时。
动态内容生成:有时候,视频内容可能是动态生成的,例如通过JavaScript从用户的摄像头捕获视频流,或者从服务器接收视频数据并实时处理。在这种情况下,使用blob: URL可以方便地将生成的视频数据直接嵌入到页面中。
减少网络请求:对于较大的视频文件,使用blob: URL可以减少对服务器的请求次数,因为视频数据可以直接在客户端处理和播放。
离线应用:在离线应用中,使用blob: URL可以方便地存储和播放本地视频数据。
以下是一个简单的示例,展示了如何使用blob: URL在<video>标签中播放视频:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Blob URL Video Example</title>
</head>
<body>
<video id="videoPlayer" controls></video>
<input type="file" id="videoFileInput" accept="video/*">
<script>
document.getElementById('videoFileInput').addEventListener('change', function(event) {
const file = event.target.files[0];
if (file) {
const videoBlob = new Blob([file], { type: file.type });
const videoUrl = URL.createObjectURL(videoBlob);
document.getElementById('videoPlayer').src = videoUrl;
}
});
</script>
</body>
</html> 在这个示例中,用户可以选择一个视频文件,然后通过FileReader API将文件转换为Blob对象,并生成一个blob: URL。这个URL随后被设置为<video>标签的src属性,从而实现视频的播放。
保存这类视频可以右键视频播放器另存为即可,一般的网站都会隐藏原生的video播放器让你无法下载另存为视频,这个时候可以f12找到video标签,复制赞贴到body标签的第一个元素即可显示原生的video播放器记性保存。
网友回复
有没有不依赖embedding向量的RAG技术?
有没有支持实时打断语音通话并后台帮你执行任何的ai模型?
开源ai大模型文件格式GGUF、MLX、Safetensors、 ONNX 有什么区别?
出海挣钱支付收款PayPal、Wise 、PingPong、Stripe如何选择?
如何实现类似google的图片隐形水印添加和识别技术?
linux上如何运行任意windows程序?
ai能写出比黑客还厉害的零日漏洞等攻击工具攻击任意软件系统工程?
js如何获取浏览器的音频上下文指纹、Canvas指纹、WebGL渲染特征?
为啥ai开始抛弃markdown文本,重新偏好html文本了?
网站有没有办法鉴别访问请求是由ai操控chrome-devtools-mcp发出的?


