将哔哩哔哩手机端缓存视频导出为正常mp4视频.

news/2025/2/15 15:29:34/

因为偶然间发现之前关注的视频被下架了. 不过幸好手机端有缓存. 但是手机看视频哪有电脑看着舒服呢? 所以想把视频导出到电脑上观看, 结果发现哔哩哔哩对视频进行了处理. 将视频,弹幕,音轨分3个文件储存,一直打开文件夹最后会看到video(视频),audio(音频)两个m4s文件,以视频方式打开video只会有视频,没有声音,打开audio只有声音没有视频(T_T). 

所以, 制作了这个小工具. 将视频音频合二为一. 仅供参考.

更新: 添加exe程序, 方便不会代码的小伙伴们使用.

百度网盘链接:https://pan.baidu.com/s/1pGZ99b_SHz25C35iMfdzpQ 
提取码:17wm

使用方法:

1. 请将手机中bilibili缓存文件夹拷贝到folder文件夹. 方法如下:
    (1).打开手机“文件管理”
    (2).在目录中找到Android文件夹(一般打开文件管理后就看得到这个文件夹,部分机型位于“0”文件夹中)
    (3).打开data文件夹
    (4).找到“tv.danmaku.bili”
    (5).里面的download中可以找到下载视频的av号. 
    (6).将这个文件夹拷贝到folder文件夹.

2. 运行export_video.exe (源码在export_video.py 中)

3. 等待程序执行结束.

源码如下:

#!usr/bin/env python3
# -*- encoding:utf-8 -*-import os
import json
import subprocess# 读取文件夹内的json文件, 获取文件名称,当前章节
def get_video_information(json_path):data1 = json.load(open(json_path, 'r', encoding='utf-8'))# print('title: ', data1['title'])title = data1['title']# print("page_data: ", data1['page_data']['part'])page_data = data1['page_data']['part']return title, page_datadef get_file_path(file_path='folder'):"""需要的文件类型: entry.json:return:"""file_list = []if os.path.exists(file_path):for root, dirs, files in os.walk(file_path):if 'index.json' in files:file_list.append(root)  # root为需要转换的地址# print(file_list)return file_listelse:print('请检查“folder”文件夹是否存在。并确保要转换的文件夹放置在 folder 文件夹下。')return Falsedef video_add_mp3(file_name, mp3_file, report_name="1"):"""视频添加音频:param file_name: 传入视频文件的路径:param mp3_file: 传入音频文件的路径:param report_name: 导出视频文件名/路径:return: True / False"""report_name = report_name if '.' in report_name else report_name + '.mp4'try:subprocess.call('ffmpeg -i ' + file_name+ ' -i ' + mp3_file + ' -strict -2 -f mp4 '+ report_name, shell=True)return Trueexcept:return Falsedef create_video():file_list = get_file_path()if file_list:# 获取文件夹正确名称, 名称在上级目录的entry.json中for f in file_list:f_path = ''a = f.split('\\')[:-1]for _path in a:f_path = os.path.join(f_path, _path)f_path = os.path.join(f_path, "entry.json")title, page_data = get_video_information(f_path)# 创建文件夹title = os.path.join('export', title)os.makedirs(title, exist_ok=True)# 拼接视频文件video_add_mp3(os.path.join(f, 'video.m4s'), os.path.join(f, 'audio.m4s'),os.path.join(title, page_data + '.mp4'))if __name__ == '__main__':create_video()

http://www.ppmy.cn/news/411650.html

相关文章

仿哔哩哔哩动画Android客户端(哔哩哔哩 (゜-゜)つロ 干杯~-bilibili)

前言 花了一个月的时间,把这个项目怼的差不多了,该仿的b站开源项目采用主流mvpdagger2rxjava2作为整体框架,而网络请求采用okhttp3retrofit2,虽说仿的,但是b站官方客户端有许多炫酷视觉的效果,本人水平有限…

GitHub哔哩哔哩(bilibili)高清视频下载

GitHub哔哩哔哩(bilibili)高清视频下载方法 最近需要下载哔哩哔哩上面的教程视频,但是在网上找到的很多是只能下载标清视频,不能下载720p及以上的视频。 网上找不到,只能去GitHub上找,找了好多,都不能用了。终于找到一…

哔哩哔哩任务

部署脚本 1.安装dotnet 在配置文件中找到 extra.sh 文件,将以下内容复制到 extra.sh 中: # 安装 dotnet 环境 echo -e "\n-------set up dot net env-------" apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc zlib wget…

b 站视频下载神器合集,支持电脑和手机端

苏生不惑第289 篇原创文章,将本公众号设为星标,第一时间看最新文章。 之前分享过很多篇关于b站的文章: 号称 b 站最强脚本 每天定时签到腾讯/爱奇艺/网易云音乐/b站/a站/百度贴吧/天翼云盘等网站 又一视频下载神器,批量下载腾讯/优…

哔哩视频客户端与视频本地化(下载)

一、摘要与声明 我相信大伙儿在视频学习过程中经常会遇到一个问题,就是昨天在b站看到的视频,第二天就被下架了找不到了。所以本文章目的就很简单。下载b站视频到本地,方便我们日后学习。但是要郑重声明一下,要尊重UP的成果&#…

Bilibili 网页版下载视频 B站下载MP4格式视频(不用下载工具)

博主是为了给家里老人下载戏曲,一开始是单个单个解析然后下载,想多下载一些,然后用了批量方法下载很好用 通过网页版解析工具 解析单个视频 获得下载地址 复制视播放地址,如,复制播放视频时,上方的地址 然…

哔哩哔哩mac电脑版上线,来聊聊B站Mac版客户端初体验

Bilibili Mac最新版是一款专门在mac平台运行的视频软件,小编发现B站居然出了Mac 版客户端可以下载,果断下载安装先体验一下。 打开主窗口蛮清爽,除了左侧功能导航按钮和顶部 Tab 分类以及搜索框,没有过多杂乱的东西,一…

哔哩哔哩PC客户端可以缓存视频了!

哔哩哔哩PC客户端可以缓存视频了: ,顺便提一下you-get下载哔哩视频的方法: 首先要有python,这个不用多少了吧 在终端输入: pip install you-get然后 you-get -i [哔哩视频网址]就会有结果, dash-flv&am…