简介
有时候在B站发布的视频下架了,虽然已经缓存了,但是B站已经把视频处理过,无法在相册查看和上传电脑,本教程利用ffmpeg将B站的缓存的视频和音频合并成mp4文件
本教程使用python编程,但使用ffmpeg合并音视频
安装ffmpeg
进入官网下载:Download FFmpeg
选择windows,点击第一个

选择ffmpeg-git-full.7z

解压

设置环境变量
在系统变量的Path下新增环境变量,路径为解压后的文件夹路径加上bin目录即可

win10配置计算机环境变量
测试

寻找缓存视频的位置
2022了,手机app版b站的缓存视频文件在哪里找
简单来说就是到离线缓存->设置(小齿轮)->离线诊断,选择一个缓存过的视频,找到视频id,到文件管理器搜索,
直接去文件管理器去找B站缓存视频的位置:Android\data\tv.danmaku.bili\download
找到位置后复制视频到电脑
编写代码
新建demo.py,将以下代码复制到demo.py中,执行python demo.py运行
input_path就是上传的B站缓存视频文件夹
out_path就是输出视频文件夹
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| import os import json
input_path="./系统架构师" out_path="./out"
filename="" video_path="" audio_path=""
def read_json(path): with open(path,'r',encoding='utf-8') as load_f: return json.load(load_f)
for root,dirs,files in os.walk(input_path): if root==input_path: continue for item in files: if item == "entry.json": json_data=read_json(root+"/"+item) filename=json_data['page_data']['part'].rsplit('_',1)[0].replace(" ","_",10) if item == "video.m4s": video_path=root+"/"+item if item == "audio.m4s": audio_path=root+"/"+item if filename!="" and video_path!="" and audio_path!="": os.system('ffmpeg.exe -i '+video_path+' -i '+audio_path+' -vcodec copy -acodec copy '+out_path+'/'+filename+'.mp4 '+' -y') filename="" video_path="" audio_path=""
|