当前位置:首页 > 技术分析 > 正文内容

视频如何使用blob协议进行播放

ruisui884周前 (05-21)技术分析10

我们昨天看了 blob 协议,那么具体我们在播放视频的时候怎么使用 blob 协议进行播放,把视频流转为 blob 协议,然后放到 video 中进行播放。

今天我们就来研究下怎么实现。

以 blob URL 加载网络视频

现在我们有一个网络视频的地址,怎么才能才能将这个视频地址变为 blob URL 形式呢?

实现思路是要先拿到存储这个视频原始数据的 Blob 对象。

但是不同于 input 上传可以直接拿到 File 对象,我们只有一个网络地址。

我们平时请求接口我们可以使用 xhr或者 fetch。请求一个服务端地址可以返回我们相应的数据。

我们这里就要用 xhr 或者 fetch 去请求一个图片或者视频地址。不过我没你这里要注意我们返回视频的数据格式要设置正确。

也就是 responseType 要设置正确,这样才能拿到我们想要的格式数据。

示例代码

const xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.responseType = 'blob';
xhr.onload = function() {
    // todo
}
xhr.send();

这里用 xhr 请求视频的时候可能会遇到跨域问题,所以要设置跨域资源共享(CORS)来解决。

这样我们返回就是一个 Blob 对象。然后通过

const src = URL.createObjectURL(xhr.response);
video.src = src;

这样用调试工具看视频标签的 src 属性已经变成了一个 blob URL。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/4173.html

标签: blob协议
分享给朋友:

“视频如何使用blob协议进行播放” 的相关文章

三、Uni-app + vue3 页面如何跳转及传参?

Vue 项目往往需要使用 vue-router 插件,刚开始入门 Uni-app + Vue3 项目的同学,会不会想着路由使用 vue-router V4 版本不就可以了吗?不怕大家笑话,我就是这样想的,毕竟我是第一次使用 Uni-app ,由于孕期记性贼差,所以我决定写成笔记,加深记忆。uni-a...

vue2中路由的使用步骤,你学会了吗?

今天我们来整理下关于vue2中路由的使用步骤:1. 导入 vue 文件和Vue-router文件(注意:vue-router是依赖vue运行的,所以一定在vue后引入vue-router)2. 定义路由组件模板3. 创建路由实例并定义路由规则4. 将路由实例挂载给Vue实例5. 在结构区域定义控制路...

Vue Router 4 路由操作 - 路由导航

路由导航分为 声明式导航 和 编程式导航。通过 <router-link to="..."> 标签跳转的方式为声明式导航。通过 路由实例对象(router.push(...))跳转的为编程式导航。导航到不同的位置想要导航到不同的URL,使用 router.push 方法。...

VUE3+JAVA商城源码小程序APP商城

三勾小程序商城基于springboot+element-ui+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。软件架构后端: springboot2.3.12管...

推荐一个Java微服务商业级Sass开源电商小程序(开源,企业级项目)

使用Java微服务开发,SpringBoot2框架、MyBatis-plus持久层框架、Redis作为缓存、MySql8作为数据库。 前端vuejs作为开发语言,使用uniapp编码,同时支持微信小程序、安卓App、苹果App。 支持集群部署,单机部署。 unimall 针对中小商户、企业和个人消...

Firefox正针对Vue.js进行优化,下版本响应速度将“显著提升”

IT之家 9 月 7 日消息,据 Mozilla 官方博客发文显示,Firefox 浏览器正针对 Vue.js 进行优化,此前 FireFox 浏览器在面向 Vue 3 时遇到了一些性能问题。▲ 图源 Mozilla 官方博客目前开发人员已经对此进行了解决,在 Firefox 118 内部版本中进行...