相对之前版本更新内容:
※ 根据UP主分类存放导出的视频。
※ 新增一种标题格式
注意:需要安装ffmpeg才可使用
ffmpeg下载地址: https://ffmpeg.zeranoe.com/builds/
ffmpeg安装方法:
解压好下载的压缩包后,再将bin目录加入Path环境变量中 按Win+R 运行 输入cmd 在弹出的框框中输入 ffmpeg ,如果没有出现"既不是内部或外部命令"之类的话就是安装成功了
参考链接: https://www.jb51.net/article/153806.htm
运行截图
工具源码
import os
import json
import random
import time
import requests
# 清除所有空格
def clearSpace(str):
return str.replace(" ", "").replace(" ", "");
# 获取指定Uid的Up主名
def getUpNameByUid(uid):
try:
url = 'https://space.bilibili.com/' + str(uid)
html = requests.get(url)
html.encoding = 'UTF-8'
html = html.text
index1 = html.find("<title>") + len("<title>")
index2 = html.find("的个人空间", index1)
result = html[index1:index2]
if (result != ""):
return result
else:
return uid
except Exception:
return uid
# 获取时间戳
def getTimeStamp():
t = time.localtime(time.time())
return str(t.tm_year) + '_' + str(t.tm_mon) + '_' + str(t.tm_mday) + '_' + str(t.tm_hour) + str(t.tm_min) + str(t.tm_sec) + str(random.randint(10, 99))
# 更正文件名
def correctFileName(name):
n_list = list(name)
for i in range(0, len(n_list)):
index = 0
for i in n_list:
if (
i == '\\' or i == '/' or i == ':' or i == '*' or i == '"' or i == '<' or i == '>' or i == '|'):
n_list.pop(index)
index = index + 1
return ''.join(n_list)
# 读取json文件
def getVideoName(path):
f = open(path, encoding='utf-8')
setting = json.load(f)
try:
result = setting['page_data']['download_subtitle'] # 注意多重结构的读取语法
except KeyError:
try:
result = setting['title'] + ' 第' + setting['ep']['index'] + '话 ' + setting['ep']['index_title']
except KeyError:
try:
result = setting['title']
except KeyError:
result = getTimeStamp()
return result
def getVideoOwner(path):
try:
f = open(path, encoding='utf-8')
setting = json.load(f)
return clearSpace(getUpNameByUid(setting['owner_id']))
except Exception:
return ""
# 获取文件列表
def getFileList(file_dir):
# 定义四个列表
title = []
owner = []
videoPath = []
audioPath = []
# 遍历文件目录
for root, dirs, files in os.walk(file_dir):
if ('entry.json' in files):
title.append(getVideoName(str(root) + '\\entry.json'))
owner.append(getVideoOwner(str(root) + '\\entry.json'))
if ('video.m4s' in files and 'audio.m4s' in files):
videoPath.append(str(root) + '\\video.m4s')
audioPath.append(str(root) + '\\audio.m4s')
if (len(title) < len(videoPath)):
title.append(getTimeStamp())
if ('0.blv' in files):
title.pop()
return [title, owner, videoPath, audioPath]
# 输出mp4文件
def getMP4(title, owner, video_path, audio_path):
# 生成输出目录
if not os.path.exists("./output"):
os.mkdir("./output")
# 循环生成MP4文件
for i in title:
reName = correctFileName(i)
# 开始生成MP4文件
if not os.path.exists("./output/" + reName + ".mp4"):
# 获取临时文件时间戳
t_stamp = getTimeStamp()
# 开始合成
os.system(
"ffmpeg -i " + video_path[title.index(i)] + " -i " + audio_path[
title.index(i)] + " -codec copy ./output/" + t_stamp + ".mp4")
# 设置所属Up主
curOwner = owner[title.index(i)]
if curOwner != "":
if not os.path.exists("./output/" + curOwner):
os.mkdir("./output/" + curOwner)
os.rename("./output/" + t_stamp + ".mp4", "./output/" + curOwner + "/" + reName + ".mp4")
else:
# 将临时文件时间戳改为标题名
os.rename("./output/" + t_stamp + ".mp4", "./output/" + reName + ".mp4")
print("正在合成...")
print("标题:" + reName)
print("UP主:" + curOwner)
print("视频源:" + video_path[title.index(i)])
print("音频源:" + audio_path[title.index(i)])
time.sleep(1)
print("欢迎使用批量合成M4S工具 ver2.5")
fileDir = str(input("请输入含M4S文件的目录:"))
f = getFileList(fileDir)
getMP4(f[0], f[1], f[2], f[3])
print("合成完毕")
已编译好的可执行文件(EXE):
链接: https://pan.baidu.com/s/1bLOg6GGJ5Wp7gcW73sXzvg
提取码: yqvm
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
