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; } }