java 下载 m3u8 视频,解密并合并 ts

m3u8 链接获取方式以及代码分析请参见:

https://blog.csdn.net/qq494257084/article/details/103551293

准备

JDK:1.8

开发环境:IntelliJ IDEA

用于解密的 jar 包:bcprov-jdk16-139.jar

了解一些 m3u8 标签作用

https://www.cnblogs.com/shakin/p/3870442.html

使用方法

M3u8DownloadFactory.M3u8Download m3u8Download = M3u8DownloadFactory.getInstance(M3U8URL);

//设置生成目录

m3u8Download.setDir("F://m3u8JavaTest");

//设置视频名称

m3u8Download.setFileName("test");

//设置线程数

m3u8Download.setThreadCount(100);

//设置重试次数

m3u8Download.setRetryCount(100);

//设置连接超时时间(单位:毫秒)

m3u8Download.setTimeoutMillisecond(10000L);

//添加额外请求头

/MapheadersMap = new HashMap<>();

headersMap.put("Content-Type", "text/html;charset=utf-8");

m3u8Download.addRequestHeaderMap(headersMap);/

//设置日志级别

//可选值:NONE INFO DEBUG ERROR

m3u8Download.setLogLevel(Constant.DEBUG);

//设置监听器间隔(单位:毫秒)

m3u8Download.setInterval(500L);

//添加监听器

m3u8Download.addListener(new DownloadListener() {

@Override

public void start() {

System.out.println("开始下载!");

}

@Override

public void process(String downloadUrl, int finished, int sum, float percent) {

System.out.println("下载网址:" + downloadUrl + "\t 已下载" + finished + "个\t 一共" + sum + "个\t 已完成" + percent + "%");

}

@Override

public void speed(String speedPerSecond) {

System.out.println("下载速度:"+speedPerSecond);

}

@Override

public void end() {

System.out.println("下载完毕");

}

});

//开始下载

m3u8Download.start();

更新日志

2020.05.22

解决获取链接问题

2020.04.01

解决链接转换问题

添加自定义请求头功能

2020.02.10

解决日志级别为 NONE 模式下无法合并文件的问题

2020.01.14

增加进度监听功能

2020.01.08

优化内存占用率

2019.12.24

进制转换问题

2019.12.23

文件路径优化

解决新合并的文件会把以前的删除的问题

2019.12.21

修复 key 获取错误

更新使用说明

解决内存占用过多

解决链接获取错误

增加 IV 向量偏移解密

解决合并文件后程序并没有退出

提示

如果遇到了问题,请发邮件至 ts_liyaling@qq.com。

Java合并m3u8_m3u8Download java 下载 m3u8 视频,解密并合并 ts java download m3u8 vide @codeKK Android开源站...相关推荐

  1. 张鸿洋 视频 android,PageStateManager 在张鸿洋的 LoadingAndRetryManager 的基础上改写,优化 api,封装 @codeKK Android开源站...

    页面状态管理 在张鸿洋的LoadingAndRetryManager的基础上改写,修正一些 bug,优化 api,并提供使用时封装的例子 特性 api 超级简单 可以在 xml 中使用 Statefu ...

  2. java循环输入_【图文+视频新手也友好】Java一维数组详细讲解(内含练习题答案+详解彩蛋喔~)...

    [新手友好型视频+图文] 全面讲解Java一维数组(内含带答案和讲解的练习题彩蛋喔) 看完即上手!更有详解版练习题来帮你加深印象~~ 一.视频讲解 一维数组详解https://www.zhihu.co ...

  3. 《Java核心技术》作者亲授视频免费看,学习Java更轻松 (文中福利)

    导读:学习Java的经典名著非常多,这本书是你一定不能错过的:由凯.霍斯特曼写的<Core Java>,中文版名为<Java核心技术>.这本书几乎出现在每个"学Jav ...

  4. java通讯录源码下载_Java通讯录手机版源码JAVA源码下载

    运行在手机上的一款通讯录程序,是用Java编写的,现在附上所有的源码,请在Eclipse下尝试运行这套程序,这样能够减少您的很多步骤.有兴趣的朋友好好研讨一下. Java通讯录手机版源码 (1 fol ...

  5. win10系统[桌面][文档][音乐][下载][图片][视频]文件夹被合并成为一个,路径映射混乱,解决办法()

    众所周知,由于Windows大部分用户文件都存放在User文件夹里面,其中尤其Downloads(下载),Documents(文档),Desktop(桌面),Music(音乐),到后期会变得特别特别大 ...

  6. JAVA批量上传下载Excel_如何实现批量上传----------Java解析excel

    一.引子 在web平台开发中仅经常会遇到一下需要批量的问题,通常得做法是使用excel上传,下面主要介绍一下在实际开发中到的实例. 二.准备工作 1.需要导入的jar包(主要用到poi包) (1)po ...

  7. java扑克牌类游戏下载_【参考源码】Java入门第三季 7-1 简易扑克牌游戏

    先创建 PokerCard 扑克牌类,存放牌的花色.大小,还有一个关键值weight,用于定义52张牌的排位大小,这样就避免了后面比较双方牌大小的繁琐步骤 public class PokerCard ...

  8. python 复现java中jasypt包的 PBEWITHSHA256AND256BITAES-CBC-BC加解密算法(可java python双向加解密)

    运行环境:python 3.6 依赖包Crypto的安装: pip3 install pycryptodome # Make coding more python3-ish from __future ...

  9. android 混音 源码,FFmpegAndroid android 端基于 FFmpeg 实现音频剪切、拼接、转码、混音、编解码;视频剪切、水印、截图、转码、编 @codeKK c开源站...

    android 端基于 FFmpeg 库的使用 添加编译 ffmpeg.shine.mp3lame.x264 源码的参考脚本 目前音视频相关处理: 音频剪切.拼接 音频混音 音频转码 音视频合成 音频 ...

最新文章

  1. NB-IoT,你真是太让我失望了
  2. MFC和GTK的区别
  3. 2018-2019-1 20165219 实验三 实时系统
  4. es6 Symbol iterator接口
  5. 300GB*6 SCSI RAID5 LINUX服务器数据恢复手记
  6. [Unity] 战斗系统学习 3:FlowCanvas 中的 Input System
  7. python修改json文件_python修改json文件的value实例方法
  8. linux efi分区安装grub2,GitHub - beatfan/UEFI_grub2: uefi 版本 grub2,可以引导多系统,以及linux的安装...
  9. 7 在使用计算机时要注意防 .,Windows7系统使用移动硬盘的七大注意事项
  10. jersey restful 测试_Jersey 开发RESTful(七)Jersey快速入门
  11. c++的两个冒号::四个点是什么意思,什么作用呢?
  12. keras-segmentation-master代码详解
  13. win10自动修复重启失败,无法进入桌面,解决办法
  14. (转载)rsync的基本命令与使用方法
  15. jQuery从入门到进阶视频教程-汤小洋-专题视频课程
  16. 操作系统:Win10自带的8个基本功能非常实用
  17. 团队项目开发——细思恐极
  18. [kuangbin带你飞]专题1
  19. 浅析VS游戏竞技平台识别作弊软件的手段
  20. 手机 平板 屏幕分辨率 尺寸 长宽比

热门文章

  1. 什么是「区块链技术」、区块链又是什么?
  2. mimikatz的使用
  3. Python+OpenCV实现AI人脸识别身份认证系统(1)—人脸识别原理
  4. SQLServer 数据库 视图实验练习
  5. 哪个企业邮箱海外收发邮件好用呢?
  6. linux硬盘分区和挂载
  7. 笔记本使用vmware
  8. 追溯世界第一个物联网系统:可乐机“Only”
  9. LaTeX: Missing } or { inserted. ^^I\For
  10. java关闭io流_为什么要关闭和io流