下载m3u8文件
找到m3u8的网址后,在浏览器中输入该网址,就可以自动下载m3u8文件。
用记事本打开都可以看到具体内容
M3u8跳转
有的下载的m3u8文件打开是这样的:
需要根据其中的内容获得真正的地址,这一段文字在记事本里看不出什么,换一个能够显示换行符的编辑器,如ultraedit,或者notepad++
可以看到实际上是分3行的,其中第3行 1000kb/hls/index.m3u8 是真实的m3u8地址。
将原有路径中的m3u8文件名替换成真实的地址。如
http://test.com/81820180915/VR201809631/index.m3u8
就替换成http://test.com/81820180915/VR201809631/1000kb/hls/index.m3u8
这就是最终的m3u8地址,再次下载就可以了。
C#处理跳转的代码
private string GetTrueM3u8(string url)
{
string strHTML = “”,href="";
//label15.Text = “判断是否有映射…”;
WebClient myWebClient = new WebClient();
Stream myStream = myWebClient.OpenRead(url);
StreamReader sr = new StreamReader(myStream, System.Text.Encoding.GetEncoding(“utf-8”));
while (!sr.EndOfStream)
{
strHTML = sr.ReadLine();
if(strHTML.IndexOf(“m3u8”)>-1)
href = strHTML;
}
myStream.Close();
//将url最后的一部分替换掉
int lastpostion=url.LastIndexOf("/");
if (lastpostion > 0 && lastpostion + 1 < url.Length)
this.cururlpath = url.Substring(0, lastpostion + 1);
if (!href.Equals(""))
href = this.cururlpath + href;
else href = url;
//label15.Text = "已获得最终的m3u8地址。";
lastpostion = href.LastIndexOf("/"); //得到最终地址的路径
if (lastpostion > 0 && lastpostion + 1 < href.Length)
this.cururlpath = href.Substring(0, lastpostion + 1);
return href;
}
TSmaster工具
TSMatser是一个m3u8及TS文件、CKplayer视频文件下载解密工具。本身在解析网页时,已经能自动解析m3u8文件的二次跳转情况。
csdn 下载:https://download.csdn.net/download/cquptvlry/11262603
百度网盘: https://pan.baidu.com/s/1XGTaS6UvEnzQtna5aoECZA 提取码 it7t