M3U8Manger
M3U8Manger copied to clipboard
可以断点续传吗
有个错误 java.lang.NumberFormatException: For input string: "http://vali.cp31.ott.cibntv.net/657336C1E3B4571B1153A6E28/0300011501576AD30D0029132629A1DFA5FB02-87CA-5E89-7D82-FF5862B03A33.flv.ts?sid=050260411822420e45e55_01&sign=2ed144f976fbdd7c0770ee747e361395&ctype=50&ts_start=0.0&ts_end=11" at java.lang.Long.parseLong(Long.java:443) at java.lang.Long.parseLong(Long.java:485) at com.hdl.m3u8.bean.M3U8Ts.getLongDate(M3U8Ts.java:44) at com.hdl.m3u8.bean.M3U8.getStartTime(M3U8.java:63) at com.hdl.m3u8.utils.MUtils.getLimitM3U8Ts(MUtils.java:125) at com.hdl.m3u8.M3U8Manger.download(M3U8Manger.java:284) at com.hdl.m3u8.M3U8Manger.access$1000(M3U8Manger.java:26) at com.hdl.m3u8.M3U8Manger$3.run(M3U8Manger.java:195)
下载地址: http://qtv.soshane.com/youku.php?vid=OK0MmL3R93G/NqkCFv076tZqUjEvo2V5qzkjmHC00nY=&tudou=0&tv=&db=
v2.x之后可以断点续传哦
@marscl 目前只支持ts文件名字为"时间戳.ts"格式的哦,其他格式的建议下载源码修改一下解析规则即可
好的 谢谢
直接合并好像不能播放
文件名字的后缀必须是ts哦
只能播放1分钟左右,总的时间会显示有130分钟,实际时间为40分钟
setClearTempDir用这个设置不清楚临时目录,去sd卡里面的m3u8temp中看看文件是否下载成功
文件全部下载了,单个视频都可以播放。
网上说要搭本地服务器啥的。
合并用的是这段代码哦,我这面是没有问题的,你可以手动调用这个合并你一下临时文件里面的ts,或者自己写一个合并的方法看看合并之后是否还有问题
/**
* 将M3U8对象的所有ts切片合并为1个
*
* @param m3u8
* @param tofile
* @throws IOException
*/
public static void merge(M3U8 m3u8, String tofile, String basePath) throws IOException {
List<M3U8Ts> mergeList = getLimitM3U8Ts(m3u8);
File saveFile = new File(tofile);
FileOutputStream fos = new FileOutputStream(saveFile);
File file;
for (M3U8Ts ts : mergeList) {
file = new File(basePath, ts.getFile());
if (file.isFile() && file.exists()) {
IOUtils.copyLarge(new FileInputStream(file), fos);
}
}
fos.close();
}
搭建本地服务器是另一种实现方式了,我用的是合并
谢谢了,还是没解决,可能是下载的视频问题