bolb php 存储视频,视频网站中video标签中的视频资源以blob:http呈现的探索

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/xingyun89114/article/details/80699527

一、问题场景

想下载知乎视频资源,却发现视频链接是这个样子的

blob:https://v.vzuu.com/b6146956-6e52-406d-8909-f3f1b81ae461

当时一脸懵比啊 ~难道blob:https是什么牛逼的新协议?于是进行了一番探索

二、探寻结论

结论就是blob:https并不是一种协议,而是html5中blob对象在赋给video标签后生成的一串标记,blob对象对象包含的数据,浏览器内部会解析;

在web容器中的页面代码

浏览器访问后的页面代码

这是因为在浏览器中执行了如下js

三、关于资源下载

很多小伙伴查找这个问题,是为了下载视频资源,

资源的真实下载链接可在chrome的调式模式的network中找到,

但有种资源比较特殊,即m3u8格式的资源

这种格式的视频会被分解成很多个小片段,这个链接下载的是一个包含多个小视频(ts格式的视频)的链接集合,这样做的目的是:

1、可以方便切换分辨率(多个ts格式的视频支持无缝流畅播放,MP4不行);

2、可能就是防止下载吧;

不过根据这个特性,我用java写了一个工具,可方便下载m3u8指向的真实文件,以下是链接:

M3u8ToFile

————————————————

版权声明:本文为CSDN博主「云涛89114」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/xingyun89114/article/details/80699527

在Navicat for MySQL(也称作MySQL Workbench),如果你想通过BLOB类型插入图片,可以按照以下步骤操作: 1. **登录数据库**: 首先,连接到你的MySQL数据库,打开Navicat。 2. **选择表**: 找到你想要插入图片的表,确保该表有BLOB类型的字段(如`image_column`),用来存储二进制数据,比如图片。 3. **准备图片文件**: 将图片保存在你的本地电脑上,并记住图片的完整路径或者文件名。 4. **编码文件内容**: 使用FileReader或者类似工具读取图片文件,将其转换为字节流(byte array)。例如,在Java,你可以这样做: ```java File file = new File("path_to_your_image"); FileInputStream fis = new FileInputStream(file); byte[] imageData = new byte[(int) file.length()]; fis.read(imageData); fis.close(); ``` 5. **插入数据**: 在Navicat的SQL编辑器,构造一个INSERT INTO语句,将图片数据作为BLOB值插入到指定的字段,示例如下: ```sql INSERT INTO your_table (image_column) VALUES ('BINARY://' || hexagonally_encoded_image_data); //假设你需要对字节数组进行某种编码(如hex) ``` 或者如果支持直接插入二进制数据: ```sql INSERT INTO your_table (image_column) VALUES UNHEX(REPLACE('0x' + HEX(imageData), ' ', '')); -- 对于二进制数组直接处理 ``` 6. **执行查询**: 点击运行按钮或者按回车键执行这个SQL命令。 记得替换`your_table`、`image_column`以及实际的文件路径和编码方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值