获取B站视频的方法

最近在学习一些图像处理方面的知识,有时候希望能用一些B站上的视频,在这边简单介绍下如何获取B站视频的一个简单方法(还是尽量少嫖,学习用学习用),之前在网上搜过一些爬虫获取的,奈何没有相关知识储备,看不懂怎么操作,只好退而求其次,只要能获取视频就好。
操作系统为Ubuntu18.04LTS,时间为2020.8.10

步骤一:在手机端B站APP上缓存视频
(1)点击右上角的三个点
在这里插入图片描述

(2) 点击缓存
在这里插入图片描述

(3)在手机中找到缓存的文件(可能不太好找,你可以通过改变默认的缓存位置来找),找到之后是这样的文件,一个视频文件video.m4s,一个音频文件audio.m4s,还有一个json文件,我们要做的主要工作就是将m4s后缀的文件转化为我们常用的mp4文件,因为m4s文件打不开没法用。

在这里插入图片描述
(4)通过ffmpeg将m4s文件转化为aac文件(音频)和 mp4文件(视频),如果没有安装ffmpeg的话请自行搜索安装。

进入视频所在的目录,在终端中输入以下命令
转化为视频:ffmpeg -i video.m4s -c copy video.mp4
转化为音频:ffmpeg -i audio.m4s -c copy audio.aac

然后就能用一般的视频播放器打开了,美滋滋,准备学习~

### ESP32从Bilibili API获取视频流或播放地址 对于希望利用ESP32从Bilibili网获取视频流或播放地址的需求而言,直接由ESP32访问像Bilibili这样的在线平台存在一定的挑战。这主要是因为Bilibili的API设计并非针对微控制器类设备优化,而是面向Web应用和服务端接口[^1]。 #### 技术难点分析 - **资源限制**:ESP32虽然具备Wi-Fi和蓝牙功能并拥有一定处理能力,但在面对复杂的HTTP请求特别是涉及大量数据传输时仍显不足。 - **认证机制复杂度高**:许多现代网络服务包括B都采用了较为严格的用户验证流程,比如OAuth 2.0等标准协议,这些通常不适合嵌入式系统实现。 - **HTTPS支持有限**:为了保障通信安全,大部分合法有效的API调用都需要经过SSL/TLS加密通道完成;然而,ESP32内置的安全特性可能不足以满足这一需求,在实际操作中可能会遇到证书管理等问题。 因此,建议采取间接方式达成目标: #### 推荐解决方案 ##### 中间服务器代理方案 建立一个位于云端的小型中间件应用程序(可以部署于Heroku、AWS Lambda或其他类似的无服务器计算环境中),该程序负责与Bilibili交互,并简化后的响应转发给ESP32模块。此方法不仅能够绕过上述提到的技术障碍,还能更好地保护敏感信息如API密钥免受暴露风险。 ```python import requests def get_video_info(bvid): url = f"https://api.bilibili.com/x/web-interface/view?bvid={bvid}" response = requests.get(url) data = response.json() if 'data' not in data or not isinstance(data['data'], dict): raise ValueError('Invalid video info') title = data['data']['title'] play_url = "https:" + data['data']['pic'] # 这里仅作示例,实际上应解析出真实的播放链接 return {"title": title, "playUrl": play_url} ``` 通过这种方式,ESP32只需要定期轮询这个轻量级的服务即可获得所需的信息片段,而不需要直面完整的Bilibili API体系结构及其潜在的安全性和性能考量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值