B站安卓端缓存视频小段blv合并完整MP4过程
前言缓存的视频导入电脑批量转换处理思路找到现成的轮子安装依赖把下载的开源项目复制到bash目录把要转换格式目录放到开源项目的目录利用脚本转换
前言
B站不得不说是一个很好的学习网站,没有广告的用户体验更是没得说,在上面可以找到很多很好的学习技术的教学视频,可往往由于版权问题,可能过一段时间就惨遭下架了。近来发现B站上某易wei…专业白帽子黑客训练营系列的教程已经下架了,我还没学完,好在我手机上缓存过,想着就把能不能导入到电脑上存起来,下午就有了这样的折腾,采坑加摸索全程一小时左右,其实会了只要复制文件和转码的时间就行,批量转换步骤还是比较方便的。
缓存的视频导入电脑
手机USB以“传输文件”连接电脑bilibili 安卓端缓存的视频一般是存在Android/data/tv.danmuku.bili/download/av号目录下,整个目录复制下来复制完打开发现文件夹是下图这种类似文件0.blv ,1.blv之类的,这些文件直接改后缀名为MP4是可以播放的,只是每个都不是完整的视频是小段小段的,不是完整的,看来单纯的批量转换格式并不能达到理想的效果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p4T124dG-1585102583415)(https://github.com/Twopothead/bilibili_mp4_fucker/raw/master/pics/before.JPG)] 图片来自开源项目,我比较懒,不喜欢截图
批量转换
处理思路
把所有文件批量转格式,然后根据文件编号批量拼接成完整视频,正好之前稍微接触过多媒体处理的库ffmpeg, Python 撸起来???不!我找到轮子了,哈哈哈哈
找到现成的轮子
https://github.com/qq1037861239/bilibiliCacheVideosConvert
安装依赖
首先说一下我这里的环境:win10 , 子系统kali 开源项目是shell, 那我就在子系统里面搞的, 打开cmd直接进bash
C:\Users\Conners>bash
conners@DESKTOP:/mnt/c/Users/Conners$ sudo apt-get install jq
conners@DESKTOP:/mnt/c/Users/Conners$ sudo apt-get install pv -y
conners@DESKTOP:/mnt/c/Users/Conners$ sudo apt-get install ffmpeg -y
安装不了还是检查更新源问题
把下载的开源项目复制到bash目录
bash目录就是cmd 进bash之后主机名后面挂载的目录 conners@DESKTOP:/mnt/c/Users/Conners$ 如我这里就复制到c/users/Conners目录下
把要转换格式目录放到开源项目的目录
复制完之后应该这样
conners@DESKTOP-NDGQ8VI:/mnt/c/Users/Conners/bilibili_mp4_fucker-master$ ls
20263708 26192654 av_bilibili_videos.sh blv_s_2_mp4.txt LICENSE.md pics README.md
conners@DESKTOP-NDGQ8VI:/mnt/c/Users/Conners/bilibili_mp4_fucker-master$
利用脚本转换
命令 bash av_bilibili_videos.sh 【这里填av号,自己替换要转换的目录】/
然后就开始自动转换过程了,转换完就能去看那些转换完成的完整视频了,美滋滋啊
conners@DESKTOP-NDGQ8VI:/mnt/c/Users/Conners/bilibili_mp4_fucker-master$ bash av_bilibili_videos.sh 网易云WEB白帽子微专 业/
Current working dir : /mnt/c/Users/Conners/bilibili_mp4_fucker-master
Source dir is : /mnt/c/Users/Conners/bilibili_mp4_fucker-master/网易云WEB白帽子微专业/
Sub-dir : 1/
|- The 1 video of 白帽子黑客训练营 : 1.1.1第一节 Web介绍_bilibili
Serial directory created : /mnt/c/Users/Conners/bilibili_mp4_fucker-master/白帽子黑客训练营
|- Found 0 video file(s) in directory
directory: /mnt/c/Users/Conners/bilibili_mp4_fucker-master/网易云WEB白帽子微专业/1/lua.flv480.bili2api.32/
0.blv.4m.sum 0.mp4 1.blv.4m.sum 1.mp4 blv_s_2_mp4.txt index.json
mv: cannot stat '*.blv': No such file or directory
ffmpeg version 4.1.1-1 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (Debian 8.2.0-20)
···
···
··
···