使用 ffmpeg 合并手机 B 站缓存的视频
| 字数总计:486|阅读时长:2 分钟 | 阅读量:215
简介
有时候在 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=""
|