public class VideoUtil {
/**
* 根据电影的m3u8_url解析出ts_url即xxx.ts形式url为元素的集合
*
* @param m3u8_url m3u8文件地址
* @return 返回ts_url集合
*/
public static ArrayList m3u8Parser(String m3u8_url) {
try {
ArrayList list_ts = new ArrayList();
URL url = new URL(m3u8_url);
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
InputStream in = urlConn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line = "";
while ((line = reader.readLine()) != null) {
if (line.startsWith("#")) {
//这里是Metadata信息
} else if (line.length() > 0) {
//这里是一个指向的视频流路径 ,可能是绝对地址,也可能是相对地址
if (line.startsWith("http")) {
//如果以http开头,一定是绝对地址了
list_ts.add(line);
} else {
//不以http开头,是相对地址,需要进行拼接。
String m3u8_pre = m3u8_url.substring(0, m3u8_url.lastIndexOf("/") + 1);
list_ts.add(m3u8_pre + line);
}
}
}
in.close();
return list_ts;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}