200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 安卓手机上批量合并b站视屏并重命名

安卓手机上批量合并b站视屏并重命名

时间:2023-06-03 13:59:38

相关推荐

安卓手机上批量合并b站视屏并重命名

现在b站缓存好的视屏是音视频分离的;output.mp4是合并好的的视屏;

视屏的信息在父路径下的entry.json文件里面,另外一个xml文件是弹幕信息

在手机上安装一个软件Termux

各个版本的下载地址

目前最新的下载地址

1.安装ffmpeg

pkg install ffmpeg

2.申请访问手机目录

termux-setup-storage

3.找到手机上视屏的缓存路劲

最好有es文件浏览器路劲复制过来

这不是完成路径,自己补充完整

cd /storage/emulated/0/Android/data/tv.danmaku.bili/download/

ffmpeg -i video.m4s -i audio.m4s -c:v copy -c:a aac -strict experimental output.mp4

以上完成了合并一个视屏

批量合并要安装python

1.安装python

pkg install python

安装完成后输入:

python

如下图所示

把代码放到视屏路径下

tv.danmaku.bili/download/视屏的AV号/

win10版

ffmpeg批量合并b站的视屏和音频并修改文件的名称

import osimport jsondef path(path,name):""":param path: 视屏项目的总目录:param name: audio.m4s 音频的文件名,每个音频的名字是一样的:return: (视屏路劲,音频路径,视屏信息的json文件路径)"""res=[]base=os.path.abspath(path)for root,dirs,files in os.walk(base):if not dirs:for file in files:if name in file:r=os.path.join(root,file)res.append((r,r.replace('audio.m4s','video.m4s'),os.path.join(os.path.dirname(os.path.dirname(r)),'entry.json')))return resdef get_info(file_path):""":param file_path: entry.json文件的路径:return: 视屏的标题信息"""with open(file_path,'rb')as f:obj=json.load(f)return obj['page_data']['part']def has_mp4(file_path):"""过滤掉已有.mp4文件的目录:param file_path: 视屏目录:return: True or False"""return any(['.mp4'in x for x in os.listdir(file_path)])if __name__ == '__main__':#test# test=path(".", "audio.m4s")# print(test)file_list=path(".", "audio.m4s")#先测试一个for x in file_list[:1]:#全部#for x in file_list:video_name=get_info(x[2])work_path=os.path.dirname(x[0])#把已转换的目录过滤掉if has_mp4(work_path):continueprint(work_path)#判断是否是win的系统if "win" in sys.platform:cmd = 'cd %s & ffmpeg -i audio.m4s -i video.m4s -c:v copy -c:a aac -strict experimental "%s.mp4"' % (work_path, video_name)else:cmd='cd %s ; ffmpeg -i audio.m4s -i video.m4s -c:v copy -c:a aac -strict experimental "%s.mp4"'%(work_path,video_name)print(cmd)os.system(cmd)

批处理中的&、&&、|、||、>、>>符号

win10是

cd 1 & cd 1

这里是

cd 1 ; cd 1

Syntax error: “(” unexpected报错的原因的是,获取的文件信息里面有带括号的文件名导致的,给输出的文件名加上引号解决

"%s.mp4"

此时合并完成一个

去目录下查看

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。