B站安卓端缓存视频小段blv合并完整MP4过程

  • 前言
  • 缓存的视频导入电脑
  • 批量转换
  • 处理思路
  • 找到现成的轮子
  • 安装依赖
  • 把下载的开源项目复制到bash目录
  • 把要转换格式目录放到开源项目的目录
  • 利用脚本转换


前言

B站不得不说是一个很好的学习网站,没有广告的用户体验更是没得说,在上面可以找到很多很好的学习技术的教学视频,可往往由于版权问题,可能过一段时间就惨遭下架了。近来发现B站上某易wei…专业白帽子训练营系列的教程已经下架了,我还没学完,好在我手机上缓存过,想着就把能不能导入到电脑上存起来,下午就有了这样的折腾,采坑加摸索全程一小时左右,其实会了只要复制文件和转码的时间就行,批量转换步骤还是比较方便的。

缓存的视频导入电脑

  1. 手机USB以“传输文件”连接电脑
  2. bilibili 安卓端缓存的视频一般是存在Android/data/tv.danmuku.bili/download/av号目录下,整个目录复制下来
  3. 复制完打开发现文件夹是下图这种类似文件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)
···
···
··
···