android bilibili sd卡,移动bilibili缓存视频到SD卡
今天不知道网怎么了, 哔哩哔哩在电脑上看不了,
在手机上倒是可以看, 手机屏幕又太小,我就打算把视频缓存了,再拉到电脑上看.
Xiaomi-Redmi Note 4X-2019-05-12-11-31-42.png
百度了一下bilibili视频缓存路径, Android/data/tv.danmaku.bili/download
var bilibiliCacheVideoPath=files.join(files.getSdcardPath(),'Android/data/tv.danmaku.bili/download/38379328')
// 先判断这个文件夹存在不存在.
r=files.exists(bilibiliCacheVideoPath)
log(r) // true
读取一下他的子文件夹
var arr = files.listDir(bilibiliCacheVideoPath);
log(arr); // [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
每个子文件夹下面有 一个文件夹+弹幕文件+视频信息
我们先提取3号文件夹的视频路径和视频标题
提取视频标题
视频标题在entry.json的title字段
var OneVideoPath=files.join(bilibiliCacheVideoPath,'3')
var viedeInfoPath=files.join(OneVideoPath,'entry.json')
var videoInfo=files.read(viedeInfoPath)
var videoTitle=JSON.parse(videoInfo).title
log(videoTitle) // Typescript教程_Typescript视频教程 ts入门实战视频教程-2019年5月更新
提取视频路径
我看的视频大概在50M左右,一个文件就能装下
var viedeFilePath=files.join(OneVideoPath,'lua.flv360.bili2api.16','0.blv')
log(viedeFilePath)
var videoInfo={
title:videoTitle,
path:viedeFilePath
}
查看这个视频的大小
var size = new java.io.File(viedeFilePath).length()
log(parseInt(size/1024/1024)+'m') // 34m
标题和视频文件路径都提取出来了,
我们把视频文件移动到/sdcard/bilibiliVideo文件夹,文件名修改为为视频title
var bilibiliVideoSDPath=files.join(files.getSdcardPath(),'bilibiliVideo')
log(bilibiliVideoSDPath) // /storage/emulated/0/bilibiliVideo
// 确保bilibiliVideoSDPath存在
files.ensureDir(bilibiliVideoSDPath+'/')
r=files.exists(bilibiliVideoSDPath)
log(r) // true
videoInfo.targetPath=files.join(bilibiliVideoSDPath,videoInfo.title+'.blv')
// 移动文件
files.move(videoInfo.path, videoInfo.targetPath)
r=files.exists(videoInfo.targetPath)
log(r) // true
这样我们就成功的移动了一个视频
完整代码如下
var bilibiliCacheVideoPath = files.join(files.getSdcardPath(), 'Android/data/tv.danmaku.bili/download/38379328')
r = files.exists(bilibiliCacheVideoPath)
log(r)
var arr = files.listDir(bilibiliCacheVideoPath);
log(arr);
arr.map(
(parentPathName) => {
var videoInfo = extractVideoInfo(parentPathName)
moveVideoFile(videoInfo)
}
)
function moveVideoFile(videoInfo) {
files.move(videoInfo.path, videoInfo.targetPath)
}
function extractVideoInfo(parentPathName) {
var videoTitle = extractTitle(parentPathName) + parentPathName
var viedeFilePath = extractVideoPath(parentPathName)
var videoInfo = {
title: videoTitle,
path: viedeFilePath
}
var bilibiliVideoSDPath = files.join(files.getSdcardPath(), 'bilibiliVideo')
log(bilibiliVideoSDPath)
files.ensureDir(bilibiliVideoSDPath + '/')
videoInfo.targetPath = files.join(bilibiliVideoSDPath, videoInfo.title + '.blv')
return videoInfo
}
function extractTitle(parentPathName) {
var OneVideoPath = files.join(bilibiliCacheVideoPath, parentPathName)
var viedeInfoPath = files.join(OneVideoPath, 'entry.json')
var videoInfo = files.read(viedeInfoPath)
var videoTitle = JSON.parse(videoInfo).title
log(videoTitle)
videoTitle=videoTitle.replace(/\s+/g,'')
return videoTitle
}
function extractVideoPath(parentPathName) {
var OneVideoPath = files.join(bilibiliCacheVideoPath, parentPathName)
var viedeFilePath = files.join(OneVideoPath, 'lua.flv360.bili2api.16', '0.blv')
log(viedeFilePath)
return viedeFilePath
}
android bilibili sd卡,移动bilibili缓存视频到SD卡相关推荐
- oppo文件管理android在哪里,OPPO手机中缓存视频文件路径在哪里查看?怎么查看?
相信大家都有过这样的经历:通过视频程序下载的视频只能在程序中播放,手机存储里面是看不到文件的.有时候想找到文件分享给其他伙伴都不行,那么OPPO手机中缓存视频文件路径在哪里查看?怎么查看?下面小编就为 ...
- html5播放器 经常卡,Win7系统看视频经常一卡一卡六种原因和解决方法
最近一些小伙伴在Win7系统看视频总是一卡一卡的,影响视频正常播放,同时也影响观看心情,怎么回事?出现这种情况,一般是网速不给力,如果测试后发现网速没问题的话,那就是电脑的设置有问题了,下面就给大家介 ...
- 电信各种视频免流卡申请地址合集附地址失效解决方法
天翼视讯-看看卡(原翼视卡): http://cservice.client.189.cn:9092/kankancard/activity_kankancard.html(公众号:翼视卡) PPTV ...
- bilibili缓存文件在哪里_Android——bilibili缓存视频合并教程[2.1]
这可能是最后一次更新了,由2.0版脚本新添加自动命名功能,也出现了一些小Bug,当遇到空格时会报错,并且该视频不会合成输出 这个Bug在创建的目录上,也有一些问题,当遇到空格是就会停止,所以目录命名只 ...
- C++调用ffmpeg批量合并bilibili缓存视频
文章目录 前言 一.先看效果 二.开始写代码 1.遍历文件 2.获取视频标题和视频名称 3.生成视频 4.主函数 总结 前言 手机bilibili缓存了很多视频,想导入电脑看,但发现缓存的视频被分割成 ...
- .net 2.0安装包打不开_Android——bilibili缓存视频合并教程[2.0]
尽管发布了1.0的合并脚本,但还是不完美.输出的视频文件命名和哔哩哔哩视频文件名不一致,只是采用数字命名 本着对技术的负责,对广大b站的人民负责,决心让脚本达到预期的效果,就像这样,有目录,视频有命名 ...
- Android 扫描SD卡中的所有视频文件
Android应该是已经把所有的视频文件音频都在开机时,扫描完毕然后存在本地SQLite数据库了,因此,我们"扫描"的最简单方法是读取这个已经存储好的数据库.但是这样做,在程序开启 ...
- 用MATLAB将bilibili缓存视频批量转换成MP4的方法
1.下载和安装ffmpeg详情参考博客 https://blog.csdn.net/weixin_41690708/article/details/90237568 下载地址:http://ffmpe ...
- B站在计算机内部,如何在Bilibili中弹幕式播放本地视频?
指南: 也许您对Bilibili有所了解,但是您知道如何在Bilibili播放带有弹幕的本地视频吗?今天,我将分享弹幕播放本地视频的方法. 你可以看看. 也许每个人都对Bilibili有所了解,但是您 ...
最新文章
- ACMNO.30 C语言-宏交换 定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。
- I - 查找练习 hash——出现过的数字(水题A的)
- 如何在Linux上安装Composer
- 【小夕精选】YJango 7分钟带你领略你未曾想过的线性代数+微积分
- ASA 5.0/8.0/9.0 杂记
- strassen算法java_使用java写的矩阵乘法实例(Strassen算法)_Java_软件编程
- php 警告和错误屏蔽
- 2009国家公务员面试过关点点通
- 如何将class文件反编译成java文件
- 【评测】Alfa Aesar分子砌块
- ECharts 饼图指定颜色显示
- c语言编程中句柄无效怎么解决,句柄无效,小编教你句柄无效怎么解决
- java set拷贝_Java之深浅拷贝
- 离线语音识别应用(windows和Android)
- 多模态训练如何平衡不同模态
- 实现登陆功能——用户登录设计
- 阿里云短信服务的使用方法
- View/ViewGroup的生命周期
- 跨平台应用开发进阶(四十七)APP字体库文件处理方案
- @staticmethod静态方法
热门文章
- 如何快速写作论文初稿?
- 单身的我写了一个七夕表白程序
- eNSP模拟下的vlanif配置实现(一个汇聚交换机,两个接入交换机)通过三层交换机实现vlan间的三层通信
- 深度学习:深度信念网络(DBN)结构和训练过程
- 全景看房vr全景展示,获得360度全景式视角实时交互体验
- 雷军站台余承东看衰 游戏手机是个伪概念吗?
- 学计算机每天应该吃什么,上班族长时间看电脑,哪些食物对眼睛好?
- 烟花智能直播助手,直播带货必备爆单工具【直播助手脚本+技术教程】
- 1296: 植树问题(C语言)
- Android P (9.0)刘海屏(DisplayCutout)适配方法