斗鱼直播源解析工具
⽃鱼直播源解析⼯具
前天在⽹上搜抓取⽃鱼直播源的时候,搜到了⼀个帖⼦().我按照楼主的⽅法试了⼀下⽤⼿机端X浏览器抓取直播源(⽤pc端的安卓模拟器实现的),然后按照楼主的思路解析了⼀下地址,发现⼤部分直播间还是有效果的,然后就⽤java写了个⼩程序,实现了这个简单的功能。
另外,除了楼主说的这种抓取⽅式,还可以⽤chrome或者firefox浏览器的F12抓源,以chrome为例,把调试终端调成⼿机模式,在network⾥把size降序排列,那个⼀直在返回响应不断增⼤的就是直播源,测试了好多次,⽃鱼的直播源很怪,有时候抓取到的是可以直接在potplayer⾥播放的,但绝⼤多数是加密的,⽽且加密的形式也有区别,这个⼯具⽬前只⽀持两种格式的解析,这两种已经能⽀持多数直播间了,但部分直播间的地址还是⽆法正确解析。
另外,某些直播间利⽤chrome的12直接抓取获取到的源后缀是.xs的,这种有的也是可以直接播放的.
利⽤这个⼯具解析得到的直播源,可以直接在potplayer⾥播放,不⽤再看直播间⾥乱七⼋糟的⼴告、弹幕、礼物啦。
通过测试,抓取的直播源的格式各种各样的都有,所以解析⽅式肯定也各不相同,如果⼤家发现了其他的解析⽅式,可以在本贴下留⾔,我也会及时更新⼯具的解析⽅法。
下⾯附上下载:
链接:
提取码:al2l
使⽤介绍:
1.从chrome或firefox的调试模式获取加密直播源
2.使⽤⼯具解析该地址
3.获取真实直播源
4.potplayer中打开解析得到的真实直播源
5.实现在播放器⾥收看直播
源码:
public class Test implements ActionListener {
private  JButton btn1 ;//开始解析按钮
private  JButton btn2 ;//退出程序按钮
private TextField url1;//输⼊解析⽂本框
private  TextField result;//输出解析地址⽂本框
//程序运⾏⼊⼝
public static void main(String[] args) {
new Test();
}
public Test(){
//界⾯设置
JFrame frame = new JFrame();
frame.setVisible(true);
frame.setTitle("⽃鱼直播源解析 by故事⽽已");
frame.setLocation(700,400);
frame.setSize(400,200);
//⽣成容器
Container con = ContentPane();//⽣成容器        con.setLayout(new GridLayout(3,1));
//版⾯设置
JPanel pan1 = new JPanel();//⽣成⼀个新的版⾯
JLabel urlStr = new JLabel("解析");
pan1.add(urlStr);
url1 = new TextField(40);
url1 = new TextField(40);
url1.setText("在此输⼊需要解析的直播源地址");
pan1.add(url1);
con.add(pan1);
JPanel pan2 = new JPanel();//版⾯2
JLabel urlResult = new JLabel("解析结果");
pan2.add(urlResult);
result = new TextField(40);
pan2.add(result);
con.add(pan2);
JPanel pan3 = new JPanel();//版⾯3
btn1 = new JButton("开始解析");
btn2 = new JButton("退出");
btn1.addActionListener(this);//绑定监听
btn2.addActionListener(this);//绑定监听
pan3.add(btn1);
pan3.add(btn2);
con.add(pan3);
//关闭窗⼝事件
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
}
});斗鱼弹幕暂时不能打开
}
//按钮事件
@Override
public void actionPerformed(ActionEvent e) {
Source()==btn1){
method();//点击开始解析按钮,调⽤解析⽅法
}else Source()==btn2){
}
}
//解析地址的⽅法
private void method() {
try {
//x浏览器嗅探到直播源解析
String url = Text();
if(url.startsWith("")){
/
/解析⽅案1
String[] split = url.split("\\?");
String sub = split[0].substring(split[0].indexOf("."));
String source = "tx2play1"+sub+"?"+split[1].substring(split[1].indexOf("token"));                source = place("/playlist.m3u8",".flv");
//输出解析地址
result.setText(source);
}
//chrome获取到的直播源解析
if(url.startsWith("")){
//解析⽅案2
String regex = "\\.flv";
String[] split = url.split(regex);
String part1 = split[0].substring(split[0].lastIndexOf("/"));
String part2 = split[1].substring(split[1].indexOf("token"));
String source = "tx2play1.douyucdn/live"+part1+".flv?"+part2;
result.setText(source);
}
} catch (Exception e) {
result.setText("该地址暂时⽆法解析");//输出异常信息
}
}
}
}
其实这个实现很简单,就是对加密的直播源url进⾏还原,变成未加密的状态,但是⽃鱼的加密形式很多,⽬前我只发现了这两种。后续如果再有新的发现,我会继续更新本⼯具。
这个⼯具我也分享到了吾爱破解论坛中,地址:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。