m3u8 设置
m3u8 有点播设置M3U8VodOption
和直播设置M3U8LiveOption
一、通用的设置
1.1 设置密钥文件的保存路径
option.setKeyPath(String keyPath);
1.2 忽略下载失败的ts切片
忽略下载失败的ts切片,即使有失败的切片,下载完成后也要合并所有切片,并进入complete回调
option.ignoreFailureTs();
1.3 生成m3u8索引文件
注意:如果创建索引文件,下载完成时将不会合并所有切片文件
option.generateIndexFile();
1.4 是否合并ts文件
下载完成后,将所有的切片合并为一个文件
option.merge(boolean mergeFile);
1.5 合并处理器
自行处理ts文件的合并。
option.setMergeHandler(ITsMergeHandler mergeHandler);
1.6 选择需要下载的m3u8的码率
option.setBandWidth(int bandWidth);
1.7 设置码率转换器
M3U8 bandWidth 码率url转换器,对于某些服务器,返回的ts地址可以是相对地址,也可能是处理过的,对于这种情况,你需要使用url转换器将地址转换为可正常访问的http地址
option.setBandWidthUrlConverter(IBandWidthUrlConverter bandWidthUrlConverter);
1.8 设置密钥url转换器
对于某些服务器,密钥的下载地址是被加密的,因此需要使用该方法将被加密的密钥解密成可被识别的http地址
option.setKeyUrlConverter(IKeyUrlConverter keyUrlConverter);
二、点播下载设置
2.1 设置m3u8文件长度
由于m3u8协议的特殊性质,无法有效快速获取到正确到文件长度,如果你需要显示文件中长度,你需要自行设置文件长度
option.setFileSize(fileSize);
2.2 设置同时下载的ts分片数量
默认情况下,对于同一点播文件的下载,最多同时下载4个ts分片,如果你希望增加或减少同时下载的ts分片数量,可以使用该方法设置同时下载的ts分片数量
option.setMaxTsQueueNum(int maxTsQueueNum);
2.3 设置ts文件的url转换器
M3U8 ts 文件url转换器,对于某些服务器,返回的ts地址可以是相对地址,也可能是处理过的对于这种情况,你需要使用url转换器将地址转换为可正常访问的http地址
option.setVodTsUrlConvert(IVodTsUrlConverter vodUrlConverter);
2.4 设置启动任务时初始化索引位置
注意: 1、优先下载指定索引后的切片 </br> 2、如果指定的切片索引大于切片总数,则此操作无效 </br> 3、如果指定的切片索引小于当前正在下载的切片索引,并且指定索引和当前索引区间内有未下载的切片,则优先下载该区间的切片;否则此操作无效</br> 4、如果指定索引后的切片已经全部下载完成,但是索引前有未下载的切片,间会自动下载未下载的切片
option.setPeerIndex(int jumpIndex);
三、m3u8直播下载设置
3.1 设置ts 文件url转换器
M3U8 ts 文件url转换器,对于某些服务器,返回的ts地址可以是相对地址,也可能是处理过的对于这种情况,你需要使用url转换器将地址转换为可正常访问的http地址
option.setLiveTsUrlConvert(ILiveTsUrlConverter liveTsUrlConverter);
3.2 设置直播的m3u8文件更新间隔
单位:微秒
option.setM3U8FileUpdateInterval(long liveUpdateInterval);