把手机上B站App缓存的视频转换为正常的mp4格式视频

本文介绍了如何将B站App缓存的视频转换为正常mp4格式。首先讨论了直接下载的不便,然后分享了如何从手机导出缓存文件到电脑。针对新旧两种不同格式的缓存文件,提供了使用ffmpeg进行转换的Python代码,包括音视频混流和文件拼接的方法。
摘要由CSDN通过智能技术生成

B站视频转换

1.作为B站资深用户,某一天突然发现一个问题,手机上从B站App缓存下来的视频只能在B站App上看,怎么办?

首先想到的是,直接在电脑上下载,有许多软件可以实现这一功能,或者弄一个爬虫来爬,不过这么爬视频对我没啥用,还是直接下吧。

于是使用IDM这个软件,然而IDM只能一个个下载,而且文件名都要重新弄,下载下来的文件还被弄成了分段式的,或者音视频分开了,批量下载也是不用想了,没办法,还是只能自己想办法。

2.考虑到手机上下载比较方便,于是干脆从手机上批量下载,再搬到电脑上处理

苹果的暂且不说,安卓上,B站的缓存文件一般存放在 \Android\data\tv.danmaku.bili\download 这样的路径下,照着这个路径应该就能找到,然后连跟数据线,直接把download里面所有文件搬到电脑上。
在这里插入图片描述
每一个文件夹下面是相应种类视频的分p:
一级目录

3.但是现有的缓存文件看起来有些混乱,得整理一下:

里面文件存放的方式居然还有两种,一种是比较新的:

二级目录
三级目录
还有一种比较老的:
在这里插入图片描述
在这里插入图片描述
新的把音视频分开了,最里面的video.m4s 和 audio.m4s 两个文件就是我要的 ,看样子要把两个文件混流才行,而老的却是把视频分段了,直接拼起来就行了。

最简单粗暴的操作,考虑到格式工厂之类的音视频编辑软件,但是后缀名不对还识别不了,而且那么多的文件,一个个去操作实在愚蠢,于是考虑写个程序,让它自动去跑。

4.稍微写几行转换代码。(新的和老的所用代码稍微有些区别)

这里使用的环境为windows、python3.7,python请尽量保持一致或更新的版本

要实现这样的功能,python有一个现成的轮子,叫moviepy,不过这个库有许多问题,而且在拼接的时候速度极为缓慢,于是干脆直接用ffmpeg

没有ffmpeg的,直接去官网下载,或者打开 powershell,输入以下命令安装:

choco install ffmpeg

提示没有choco命令的,打开 powershell 复制以下命令安装choco,再安装ffmpeg:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

上面所说的老视频用这个(修改一下路径就行了):

import os
import json
# from moviepy.editor import *

# 待转换文件的路径,请修改为自己的
path = r"C:\待转换2"

# 转换完毕后的存放路径,可以修改为需要的
save_path = r"C:\转换完毕"

if __name__ == '__main__':

    # 需要转换的所有目录名与文件名
    all_title = []
    all_video = []

    # a:所在根目录; b:根目录下所有文件夹(以列表形式存在); c:根目录下所有文件(以列表形式存
  • 10
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值