吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 33521|回复: 146
收起左侧

[原创工具] 斗鱼直播平台简易播放器 v1.2 (20180223更新)

    [复制链接]
sas 发表于 2018-1-17 08:25
本帖最后由 sas 于 2018-3-7 06:13 编辑

软件截图:

2222.png


注意:本软件已不再更新,请大家使用新出软件 https://www.52pojie.cn/thread-699547-1-1.html

功能简介:

1 简洁快速观看斗鱼,不受广告干扰
2 自带了弹幕显示功能,多增添一份乐趣
链接: https://pan.baidu.com/s/1nxeMExV 密码: sj6v

更新说明:

v1.2
1 修复在多显示上全屏到主显示器的问题

2 增加黑屏选项,如果发现直播加载后是黑屏,请打勾
3 增加自动保存设置功能

v1.1
1 修复在多显示上全屏到主显示器的问题
2 增加隐藏弹幕功能
3 增加选择音频播放设备功能

下面是软件1.0版本的源码,编程语言是aardio

import win.ui;
/*DSG{{*/
var winform = win.form(text="斗鱼简易播放器";right=935;bottom=607)
winform.add(
btnFullScreen={cls=
"button";text="全屏";left=488;top=560;right=584;bottom=592;db=1;dl=1;z=4};
btnView={cls=
"button";text="查看";left=360;top=560;right=456;bottom=592;db=1;dl=1;z=2};
custom={cls=
"custom";text="custom";left=16;top=16;right=921;bottom=525;ah=1;aw=1;z=5};
edRoomId={cls=
"edit";text="https://www.douyu.com/71771";left=120;top=560;right=344;bottom=593;db=1;dl=1;edge=1;multiline=1;z=1};
static={cls=
"static";text="直播间地址";left=24;top=568;right=104;bottom=592;db=1;dl=1;transparent=1;z=3};
static2={cls=
"static";text="音量";left=680;top=576;right=720;bottom=594;db=1;dl=1;transparent=1;z=7};
trackbar={cls=
"trackbar";left=720;top=560;right=904;bottom=590;db=1;dl=1;max=100;min=0;z=6}
)
/*}}*/


import mpvPlayer;
import hpsocket.tcpPullClient;
import thread.command

var mpv = mpvPlayer(winform.custom);
var tcpPullClient = hpsocket.tcpPullClient()

var thCmd = thread.command()
thCmd.onChat =
function(nick, txt){
    mpv.setOption(
"osd-msg1", nick ++ ":" ++ txt );
}

var mpvOption = {
    [
"osd-font-size"] = 35;// 字体大小
    ["osd-spacing"] = 2;// 字体间距
    ["osd-align-x"] = "center";// 显示位置
    ["osd-align-y"] = "bottom";
    [
"osd-back-color"] = "#171111";// 背景颜色
}

for(k,v in mpvOption){
    mpv.setOption(k,v)
}

var sendData = function(s){
   
var data = {
        int len;
        struct msg = {
            int len;
            word
type = 689;
            byte cryptedField;
            byte reservedField;
            byte body[] = s;
            byte e;
        }
    }

    data.len = raw.sizeof(data.msg)
    data.msg.len = data.len
    tcpPullClient.send( data,raw.sizeof(data ))
}
var loginreq = function(roomId){
    sendData(
"type@=loginreq/roomid@=" ++ roomId ++ "/" )
}
var joingroup = function(roomId){
    sendData(
"type@=joingroup/rid@=" ++ roomId ++ "/gid@=-9999/" )
}
var keepLive = function(){
    sendData(
"type@=mrkl/" )
}

var getFlvUrl = function(link){
   
import crypt;
   
import web.json;   
   
import inet.http;
        
   
if !#link
        
return null, "请填写房间号";
        
    link = string.match( link,
"<@www.douyu.com/@>(.+?)$" )
   
if !link
        
return null, "房间号填写有误";   

   
var http = inet.http()
   
   
// 获取直播房间详情
    var html = http.get( "http://open.douyucdn.cn/api/RoomApi/room/" ++ link )
   
if !html
        
return null, "网络连接有误";

   
var r = web.json.parse( html )
   
if( r.error !== 0 )
        
return null, "数据解析有误,网站可能已更新";
   
   
var roomId = r.data.room_id
   
var roomInfo = {
        name = r.data.owner_name;
        roomName = r.data.room_name;   
        roomId = roomId      
    }
   
   
if( r.data.room_status === "2" ){
        
return null, "没有开播";
    }
   
   
var key = "zNzMV1y4EMxOHS6I5WKm"
   
var t = tonumber(time())
   
var basicUrl = "http://capi.douyucdn.cn/api/v1/"
   
var path = "room/" ++ roomId ++ "?aid=wp&cdn=ws&client_sys=wp&time=" ++ t
   
var url = basicUrl ++ path ++ "&auth=" ++ crypt.md5( path ++ key, false )
    html = http.get( url )
   
if( !html ){
        
return null, "网络连接有误";
    }
   
   
var r = web.json.parse(html)
   
if( r.error === 0 ){
        
return r.data.rtmp_url ++ "/" ++ r.data.rtmp_live, roomInfo;
    }
   
return null, "数据解析有误,网站可能已更新";
}

var tmId;
var view = function(link){
   
var url , roomInfo = win.invoke( getFlvUrl, link )
   
if !url
        
return null, roomInfo;
  
    tcpPullClient.stop()
   
if( !tcpPullClient.start( "openbarrage.douyutv.com",8601,false) )
        
return null, "连接斗鱼弹幕服务器失败";
   
    loginreq( roomInfo.roomId)
    joingroup(roomInfo.roomId)
   
if( tmId ){
        winform.killtimer(tmId)
    }      
    tmId = winform.addtimer(
        15000,
        
function(hwnd,msg,id,tick){
            keepLive()
        }
    )      
   
    winform.text = roomInfo.name ++
":" ++ roomInfo.roomName
    mpv.command(
"loadfile", url)
   
return true;
}



tcpPullClient.onPullReceive =
function(hpTcpPullClient,connId,length){
   
import thread.command
   
   
while(
        
var min, remain = 9, length;
        ;
        remain >= min
    ) {
        remain -= 4;
        
var buf = {INT len};
        
if 0 !== hpTcpPullClient.peek( buf, 4 )
            
return ;
            
        
var len = buf.len;
        
if remain < len
            
return ;
            
        remain -= len;
        
var bufLen = 4+len
        buf = raw.buffer( bufLen )
        
if 0 !== hpTcpPullClient.fetch( buf, bufLen )
            
return ;  
            
        
var s = raw.tostring(buf)
        
if( string.match( s, `type@=(.+?)/`) == "chatmsg" ){
            
var nickname = string.match( s, `nn@=(.+?)/`)
            
var txt = string.match( s, `txt@=(.+?)/`)
            
if( nickname ? txt ){
                thread.command.post(
"onChat", nickname , txt )
            }
        }         
    }   
}

winform.btnView.oncommand =
function(id,event){
   
owner.disabled = true
   
var link = winform.edRoomId.text  
   
var url, err  = view(link)
   
if( !url ){
        winform.msgboxErr(err)
    }
   
owner.disabled = false   
}

winform.trackbar.pos = 70
mpv.setVolume(winform.trackbar.pos)
winform.trackbar.oncommand =
function(id,event,pos){
   
if( event == 0x8/*_TB_ENDTRACK*/ ){
        mpv.setVolume(winform.trackbar.pos)
    }
   
elseif( event = 0x5/*_TB_THUMBTRACK*/ ){
        mpv.setVolume(pos)
    }
}

winform.btnFullScreen.oncommand =
function(id,event){
    winform.custom.fullscreen(
true)
}

import win.ui.accelerator
win.ui.accelerator({
    { vkey =0x1B
/*_VK_ESC*/;oncommand = function(id,event) winform.custom.fullscreen(false) }  
    { vkey =0x7A
/*_VK_F11*/; oncommand = function(id,event) winform.custom.fullscreen() }  
},winform);


winform.show()
win.loopMessage();

免费评分

参与人数 50吾爱币 +57 热心值 +48 收起 理由
wh904 + 1 + 1 谢谢@Thanks!
60000ak + 1 + 1 热心回复!
佐指环 + 1 + 1 希望可以添加关闭吐槽
ljj19851110 + 1 + 1 谢谢@Thanks!
lhspang + 1 + 1 谢谢@Thanks!
mp652353553 + 1 + 1 谢谢@Thanks!
蜀黍 + 1 + 1 其实斗鱼自己的pc客户端也挺好用的
尤里zlj + 1 + 1 谢谢@Thanks!
supercomx + 1 + 1 谢谢@Thanks!
7years + 1 + 1 热心回复!
qwqwqwqw154 + 1 + 1 谢谢@Thanks!
kingzz + 1 + 1 我很赞同!
就叫刘就光 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
模糊 + 1 + 1 太好用了,用起来666
你正在输入 + 1 + 1 求熊猫直播 版本
bai7190 + 1 + 1 望增加登录功能,自动领在线时长奖励!
13104814475 + 1 + 1 不能进别的房间
13223058513 + 1 + 1 不用 但是鼓励发布这种软件
兮,再临蜀道 + 1 + 1 谢谢@Thanks!
winter_07 + 1 + 1 谢谢@Thanks!
201505040111 + 1 + 1 楼主换个直播平台吧!现在挂壁TV大主播都快走完了
秒针 + 1 没玩过斗鱼
Ssswait + 1 + 1 谢谢@Thanks!
52pjgy + 1 + 1 用心讨论,共获提升!
麦兜响当当 + 1 + 1 为什么不用uwp版~~~~~~
不仅仅是龙哥啊 + 1 + 1 谢谢@Thanks!
小小的一只萧 + 1 + 1 谢谢@Thanks!
E飞翔 + 1 特别佩服这些无私奉献的大神们。
aishurant + 1 + 1 谢谢@Thanks!
knightlai + 1 + 1 鼓励转贴优秀软件安全工具和文档!
jw8013 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
boyzxx + 1 + 1 谢谢@Thanks!
林中夕阳 + 1 + 1 谢谢@Thanks!
gongyuchang + 1 + 1 谢谢@Thanks!
abzy01 + 1 + 1 用心讨论,共获提升!
axinrain + 1 谢谢@Thanks!
xc920718 + 1 + 1 我很赞同!
失仓 + 1 + 1 我很赞同!请问如何关闭弹幕显示
luopeng520 + 1 + 1 热心回复!
Hmily + 8 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wRBITSS2016 + 1 + 1 我很赞同!
18933064784 + 1 + 1 我很赞同!
执念i_ + 1 + 1 热心回复!
rty600 + 1 + 1 热心回复!
kicebeauty + 1 + 1 用心讨论,共获提升!
chenballack + 1 + 1 谢谢@Thanks!
这个论坛还是牛 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
heartisland + 1 + 1 谢谢@Thanks!
杰威尔52 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
北船余音 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

axinrain 发表于 2018-1-18 01:25
这个很不错哦,在用了。
如果字幕可以做成跟网页一样的可以漂过的就好了,还有字幕可以开关就更好了。现在默认的字幕是黑底的,如果看DOTA2之类的游戏直播会遮挡状态条。
当然不能太苛求楼主。只是强迫症使用者的一点意见。
软件会一直用,因为我在用谷歌浏览器,经常会看直播看着看着浏览器就卡死……
pdsli2006 发表于 2018-1-17 10:22
好软件!但是能增加弹幕开关就好了!有时候弹幕大节奏影响观看啊
情有可原 发表于 2018-1-17 08:44
chen4321 发表于 2018-1-17 08:56 来自手机
aardio代码确实简洁啊,跟Python一样
生如上善若水 发表于 2018-1-17 08:58
学习了,谢谢分享
wangjf 发表于 2018-1-17 09:09
挺有意思,可以卸载挂壁TV客户端了
南宫嘉懿 发表于 2018-1-17 09:16
谢谢楼主分享
回忆如刀 发表于 2018-1-17 09:39
很简洁,建议增加窗口置顶、清晰度选择、线路切换。
純白p 发表于 2018-1-17 09:45
感谢分享,这个确实不错
tanshuaicsy 发表于 2018-1-17 10:07
试试再来评价 谢谢楼主
shijielaoren 发表于 2018-1-17 10:13
这个不错呀,谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 提醒:禁止复制他人回复等『恶意灌水』行为,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-3-29 03:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表