B站手机APP缓存视频转换到电脑上面播放
前言
哔哩哔哩为我们提供了许多的资源,比如某某课堂收费一万多的课程,在B站上面可以找到免费的。最近想通过B站学习,但是在手机上面不方便操作,在PC端的话可以边看边敲代码(码农一枚),于是开始找PC端的B站客户端,找了好几个小时,也没有成功。在电脑上面找不到下载的地方,所以便想把手机端缓存的视频上传到PC端。然而手机端缓存的视频是m4s格式,并且音视频是不同的文件,而且文件名称这些也不一样,难道要手动一个个去修改,去合并吗?太麻烦了吧。便开始查阅资料,然后加上自己的一些研究,终于搞定了。
效果
批处理命令前效果:
批处理之后效果:
缓存视频
- 打开需要缓存的视频
- 点下屏幕,在弹出的按钮中点击右上角的三点(竖着的)
- 在弹出的按钮中点击左下角的缓存,然后点击全部缓存
- 等待视频缓存完成
上传到PC端
找到缓存的视频存放位置
- 默认存储目录:Android>data>tv.danmaku.bili>download
- 若在此目录下找不到,打开哔哩哔哩->我的->离线缓存->设置(右上角中间图标)中查看对应目录
- download下的文件夹对应缓存的视频的文件夹,找到这里就行了,到时候直接把这个文件夹下的内容上传到PC端
连接手机上传数据到PC端
通过数据线或者无线方式或者其他方式把download下的内容上传到PC端,如果download下有多个文件夹,需要单独进行处理,每个文件夹下相当于就是一个系列的视频(我是把数据上传到D:\tempfiles这个文件夹下)。
通过批处理命令进行转换
通过下列的bat批处理命令进行批量转换(注意修改相关的文件路径),复制代码保存为bat文件双击运行。
下面展示一些 内联代码片
。
chcp 65001
@echo off
setlocal enabledelayedexpansion
rem 输入文件目录
set filedir=D:\tempfiles\35429974\*
rem 输出文件目录
set outpath=D:\outfiles\35429974\
for /d %%i in (%filedir%) do (
rem echo ==============================
set ifo=%%i
echo !ifo!
rem D:\tempfiles\35429974\c_62106438
rem 前部分(D:\tempfiles\35429974\)对应22
rem 后部分(c_62106438)对应10
rem 下面这一句自己根据实际情况进行修改
set t=!ifo:~22,10!
echo !t!
for /f "tokens=2" %%c in (!ifo!\entry.json) do (
set name=%%c
)
rem echo !name!
set ename=!name:~0,-3!
rem echo !ename!
set video=%%i\64\video.m4s
set audio=%%i\64\audio.m4s
rem echo file outpath::: %outpath%!t!.mp4
if not exist %outpath% (md %outpath% )
ffmpeg -i !audio! -i !video! -vcodec copy -acodec copy -f mp4 %outpath%!ename!.mp4
)
pause