# m3u8Download **Repository Path**: nathanxyz/m3u8Download ## Basic Information - **Project Name**: m3u8Download - **Description**: java下载m3u8视频,解密并合并ts java download m3u8 video,decrypt & merge ts slice - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2021-01-08 - **Last Updated**: 2022-08-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # m3u8Dowload
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);
//添加额外请求头
/* Map headersMap = 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();