【python】B站视频批量导出MP4格式

前言

前段时间我买了一个平板,但是不得不说,实在是是太卡了(某多多平台购买)甚至连b站都打不开,上网太卡。尽管有个大屏幕。。。所以视频啥的只能下载观看。电脑下载b站视频没倒腾明白,不过肯定不能直接下载,然后我就用手机下载,然后导出为MP4,然后再传到平板上,本文将着重讲解后者。就当拿个python程序练练手吧。

前期准备

  1. 下载ffmpeg,windows下载地址戳我
    在这里插入图片描述
  2. 准备好python环境
    python 2 3 均可

第一步 解压ffmpeg

解压如下:
在这里插入图片描述
然后,电脑连接手机(视频已经提前下载好),找到视频文件目录( 我的是内部存储\Android\data\tv.danmaku.bili,可以参考)
把download文件夹复制到一个空文件夹中。download内部如下
在这里插入图片描述

第二步 运行python程序

将下面的代码保存到convert.py中,并且新建目录video作为输出文件夹,此时目录结构如下。
在这里插入图片描述

# convert.py
import os
import glob
import re
import time
import json

root = "D:\\手机\\bilibili\\" # 根文件夹
videoDir = root + "video\\"   # 输出MP4文件夹
files = glob.glob(root+"download\\*\\*\\*\\audio.m4s") # 获取路径
# '\\'/ '/'  ':'  '*'  '?'  '\"'  '<' '>' '|'
for file in files:
	file = re.sub(r"audio\.m4s","",file)
	titlefile = re.sub(r"\\\d*?\\$","",file)+"\\entry.json"
	title = None
	with open(titlefile,"r",encoding="utf-8") as f:
		title = json.load(f)
	names = file.split("\\")# names 做备用万一在json中找不到就用names命名文件
	if title == None or (title!=None and title.get("title")==None):
		title={"title":names[-4],"page_data":{"part":names[-3]}}
	elif title.get("page_data").get("part") == None:
		title["page_data"]["part"] = names[-3]
	title["page_data"]["part"] = re.sub(r"\\| |/|:|\*|\?|\"|<|>|\|","",title["page_data"]["part"])
	title["title"] = re.sub(r"\\| |/|:|\*|\?|\"|<|>|\|","",title["title"])
	print(title["page_data"]["part"])
	print(title["title"])
	output = videoDir+title["title"]+"\\"+title["page_data"]["part"]+".mp4"
	if not os.path.exists(output):
		if not os.path.exists(videoDir+title["title"]):
			os.mkdir(videoDir+title["title"])
		os.system("ffmpeg -i " + file + "video.m4s -i "+ file +"audio.m4s -codec copy " + output)

然后cmd进入bin目录,如下操作。
在这里插入图片描述
输入:python youraddress/convert.py
在这里插入图片描述

第三步 将视频复制到平板中

在这里插入图片描述
此时,在video目录就有了MP4文件(每个文件夹下面都有MP4文件),直接连上数据线复制到平板即可。
PS:当新的b站视频需要转MP4时,直接放到download目录,运行convert.py即可。程序将仅仅转换新文件。

附录 可以将bin设置成环境变量,此时cmd进入哪个目录都可以运行程序了。

复制bin路径:E:\ffmpeg\bin(我的是这个)
然后回到桌面,右键此电脑->属性 如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时,cmd进入随便一个目录,输入ffmpegz,出现如下界面,则说明配置成功!在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值