python脚本自动合并手机端B站视频缓存

本文介绍如何将手机端B站缓存的视频通过Python脚本合并成可正常播放的文件,借助FFmpeg工具处理分段保存或音视频分离的文件。
摘要由CSDN通过智能技术生成

众所周知,国内的小破站(Bilibili)汇聚了众多的技术教程,甚至还能在上面看到收费的教程。但是有些比较有价值的视频往往在一段时间后会被消失,这其中可能涉及版权问题等原因。所以,对自己需要的视频教程进行及时的离线保存是很有必要的。
当然,小破站的手机客户端有缓存视频的功能。而移动设备的屏幕尺寸往往都是较小的,对于学习视频教程来说比较不合适。所以,我决定把手机上的视频缓存移动到电脑上观看。(至于我为什么不直接用脚本下载小破站的视频以及合并处理,因为我之前已经在手机上缓存好了,而现在所处的网络环境并不理想,下载速度慢,所以就没必要这样折腾了)然而这些文件中,一般一个视频都是分段保存,或者音视频文件独立保存的。于是也就有了接下来的操作。

1、将要处理的文件保存到电脑

把整个缓存文件夹保存到电脑,这个文件夹一般是以小破站的某个a v号命名的很容易找到,一般在手机上的路径是/Android/data/tv.danmaku.bili/download

2、用python编写一个用来自动合并生成能正常播放的视频文件

在网上对相关资料一顿乱搜后有了思路,使用python写个脚本进行文件操作,配合FFmpeg这个开源的音视频操作工具对音视频文件进行合并操作即可。
这是FFmpeg的百度百科
上代码:

import shutil
import os
import json
from natsort import natsorted

'''
请确认本脚本以及ffmpeg程序在以av号命名的文件夹下运行
'''
superPath = os.getcwd()  # 获取当前路径
partDirs = []  # 保存每P视频所在的文件夹路径
paths = os.listdir(superPath)  # 获取当前路径下所有的文件(包括文件夹)名称
# 获取每P视频所在的文件夹路径
for p in paths:
    if os.path.isdir(p):
        partDirs.append(os.path.join(superPath, p))

# 主循环,合并处理每P视频
根据提供的引用[1],这个错误是由于动态数据源无法找到主数据源导致的。这可能是由于配置文件的更改导致的,需要将`seata.service.vgroup-mapping`配置后的名称修改为子项目应用名称。 如果您正在使用Kubernetes,可以通过以下步骤解决此问题: 1. 确保您的Kubernetes集群中已经安装了Seata,并且已经正确配置了数据源。 2. 检查您的Seata配置文件,确保`seata.service.vgroup-mapping`配置后的名称与子项目应用名称匹配。 3. 检查您的Kubernetes配置文件,确保您的Seata容器已经正确地挂载了Seata配置文件。 4. 检查您的Kubernetes配置文件,确保您的Seata容器已经正确地挂载了数据源配置文件。 5. 如果您的Seata容器正在使用环境变量来配置数据源,请确保这些环境变量已经正确地设置。 以下是一个示例Kubernetes配置文件,可以帮助您解决此问题: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: seata spec: replicas: 1 selector: matchLabels: app: seata template: metadata: labels: app: seata spec: containers: - name: seata image: seata:latest volumeMounts: - name: seata-config mountPath: /seata/conf/file.conf subPath: file.conf - name: datasource-config mountPath: /seata/conf/datasource.properties subPath: datasource.properties env: - name: SEATA_CONFIG_NAME value: file.conf - name: SEATA_CONFIG_TYPE value: file - name: SEATA_MODE value: "standalone" volumes: - name: seata-config configMap: name: seata-config - name: datasource-config configMap: name: datasource-config ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值