今天不知道网怎么了, 哔哩哔哩在电脑上看不了,

在手机上倒是可以看, 手机屏幕又太小,我就打算把视频缓存了,再拉到电脑上看.

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卡相关推荐

  1. oppo文件管理android在哪里,OPPO手机中缓存视频文件路径在哪里查看?怎么查看?

    相信大家都有过这样的经历:通过视频程序下载的视频只能在程序中播放,手机存储里面是看不到文件的.有时候想找到文件分享给其他伙伴都不行,那么OPPO手机中缓存视频文件路径在哪里查看?怎么查看?下面小编就为 ...

  2. html5播放器 经常卡,Win7系统看视频经常一卡一卡六种原因和解决方法

    最近一些小伙伴在Win7系统看视频总是一卡一卡的,影响视频正常播放,同时也影响观看心情,怎么回事?出现这种情况,一般是网速不给力,如果测试后发现网速没问题的话,那就是电脑的设置有问题了,下面就给大家介 ...

  3. 电信各种视频免流卡申请地址合集附地址失效解决方法

    天翼视讯-看看卡(原翼视卡): http://cservice.client.189.cn:9092/kankancard/activity_kankancard.html(公众号:翼视卡) PPTV ...

  4. bilibili缓存文件在哪里_Android——bilibili缓存视频合并教程[2.1]

    这可能是最后一次更新了,由2.0版脚本新添加自动命名功能,也出现了一些小Bug,当遇到空格时会报错,并且该视频不会合成输出 这个Bug在创建的目录上,也有一些问题,当遇到空格是就会停止,所以目录命名只 ...

  5. C++调用ffmpeg批量合并bilibili缓存视频

    文章目录 前言 一.先看效果 二.开始写代码 1.遍历文件 2.获取视频标题和视频名称 3.生成视频 4.主函数 总结 前言 手机bilibili缓存了很多视频,想导入电脑看,但发现缓存的视频被分割成 ...

  6. .net 2.0安装包打不开_Android——bilibili缓存视频合并教程[2.0]

    尽管发布了1.0的合并脚本,但还是不完美.输出的视频文件命名和哔哩哔哩视频文件名不一致,只是采用数字命名 本着对技术的负责,对广大b站的人民负责,决心让脚本达到预期的效果,就像这样,有目录,视频有命名 ...

  7. Android 扫描SD卡中的所有视频文件

    Android应该是已经把所有的视频文件音频都在开机时,扫描完毕然后存在本地SQLite数据库了,因此,我们"扫描"的最简单方法是读取这个已经存储好的数据库.但是这样做,在程序开启 ...

  8. 用MATLAB将bilibili缓存视频批量转换成MP4的方法

    1.下载和安装ffmpeg详情参考博客 https://blog.csdn.net/weixin_41690708/article/details/90237568 下载地址:http://ffmpe ...

  9. B站在计算机内部,如何在Bilibili中弹幕式播放本地视频?

    指南: 也许您对Bilibili有所了解,但是您知道如何在Bilibili播放带有弹幕的本地视频吗?今天,我将分享弹幕播放本地视频的方法. 你可以看看. 也许每个人都对Bilibili有所了解,但是您 ...

最新文章

  1. ACMNO.30 C语言-宏交换 定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。
  2. I - 查找练习 hash——出现过的数字(水题A的)
  3. 如何在Linux上安装Composer
  4. 【小夕精选】YJango 7分钟带你领略你未曾想过的线性代数+微积分
  5. ASA 5.0/8.0/9.0 杂记
  6. strassen算法java_使用java写的矩阵乘法实例(Strassen算法)_Java_软件编程
  7. php 警告和错误屏蔽
  8. 2009国家公务员面试过关点点通
  9. 如何将class文件反编译成java文件
  10. 【评测】Alfa Aesar分子砌块
  11. ECharts 饼图指定颜色显示
  12. c语言编程中句柄无效怎么解决,句柄无效,小编教你句柄无效怎么解决
  13. java set拷贝_Java之深浅拷贝
  14. 离线语音识别应用(windows和Android)
  15. 多模态训练如何平衡不同模态
  16. 实现登陆功能——用户登录设计
  17. 阿里云短信服务的使用方法
  18. View/ViewGroup的生命周期
  19. 跨平台应用开发进阶(四十七)APP字体库文件处理方案
  20. @staticmethod静态方法

热门文章

  1. 如何快速写作论文初稿?
  2. 单身的我写了一个七夕表白程序
  3. eNSP模拟下的vlanif配置实现(一个汇聚交换机,两个接入交换机)通过三层交换机实现vlan间的三层通信
  4. 深度学习:深度信念网络(DBN)结构和训练过程
  5. 全景看房vr全景展示,获得360度全景式视角实时交互体验
  6. 雷军站台余承东看衰 游戏手机是个伪概念吗?
  7. 学计算机每天应该吃什么,上班族长时间看电脑,哪些食物对眼睛好?
  8. 烟花智能直播助手,直播带货必备爆单工具【直播助手脚本+技术教程】
  9. 1296: 植树问题(C语言)
  10. Android P (9.0)刘海屏(DisplayCutout)适配方法