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

胡永逸
2023-12-01

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。

 类似资料: