斗鱼 html播放器,斗鱼直播平台简易播放器 v1.2 (20180223更新)
importwin.ui;/*DSG{{*/varwinform = 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}
)/*}}*/importmpvPlayer;importhpsocket.tcpPullClient;importthread.commandvarmpv = mpvPlayer(winform.custom);vartcpPullClient = hpsocket.tcpPullClient()varthCmd = thread.command()
thCmd.onChat =function(nick, txt){
mpv.setOption("osd-msg1", nick ++":"++ txt );
}varmpvOption = {
["osd-font-size"] = 35;// 字体大小["osd-spacing"] = 2;// 字体间距["osd-align-x"] ="center";// 显示位置["osd-align-y"] ="bottom";
["osd-back-color"] ="#171111";// 背景颜色}for(k,vinmpvOption){
mpv.setOption(k,v)
}varsendData =function(s){vardata = {
int len;
struct msg = {
int len;
wordtype= 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 ))
}varloginreq =function(roomId){
sendData("type@=loginreq/roomid@="++ roomId ++"/")
}varjoingroup =function(roomId){
sendData("type@=joingroup/rid@="++ roomId ++"/gid@=-9999/")
}varkeepLive =function(){
sendData("type@=mrkl/")
}vargetFlvUrl =function(link){importcrypt;importweb.json;importinet.http;if!#linkreturnnull,"请填写房间号";
link = string.match( link,"(.+?)$")if!linkreturnnull,"房间号填写有误";varhttp = inet.http()// 获取直播房间详情varhtml = http.get("http://open.douyucdn.cn/api/RoomApi/room/"++ link )if!htmlreturnnull,"网络连接有误";varr = web.json.parse( html )if( r.error !== 0 )returnnull,"数据解析有误,网站可能已更新";varroomId = r.data.room_idvarroomInfo = {
name = r.data.owner_name;
roomName = r.data.room_name;
roomId = roomId
}if( r.data.room_status ==="2"){returnnull,"没有开播";
}varkey ="zNzMV1y4EMxOHS6I5WKm"vart =tonumber(time())varbasicUrl ="http://capi.douyucdn.cn/api/v1/"varpath ="room/"++ roomId ++"?aid=wp&cdn=ws&client_sys=wp&time="++ tvarurl = basicUrl ++ path ++"&auth="++ crypt.md5( path ++ key,false)
html = http.get( url )if( !html ){returnnull,"网络连接有误";
}varr = web.json.parse(html)if( r.error === 0 ){returnr.data.rtmp_url ++"/"++ r.data.rtmp_live, roomInfo;
}returnnull,"数据解析有误,网站可能已更新";
}vartmId;varview =function(link){varurl , roomInfo = win.invoke( getFlvUrl, link )if!urlreturnnull, roomInfo;
tcpPullClient.stop()if( !tcpPullClient.start("openbarrage.douyutv.com",8601,false) )returnnull,"连接斗鱼弹幕服务器失败";
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)returntrue;
}
tcpPullClient.onPullReceive =function(hpTcpPullClient,connId,length){importthread.commandwhile(varmin, remain = 9, length;
;
remain >= min
) {
remain -= 4;varbuf = {INT len};if0 !== hpTcpPullClient.peek( buf, 4 )return;varlen = buf.len;ifremain < lenreturn;
remain -= len;varbufLen = 4+len
buf = raw.buffer( bufLen )if0 !== hpTcpPullClient.fetch( buf, bufLen )return;vars = raw.tostring(buf)if( string.match( s,`type@=(.+?)/`) =="chatmsg"){varnickname = string.match( s,`nn@=(.+?)/`)vartxt = string.match( s,`txt@=(.+?)/`)if( nickname ? txt ){
thread.command.post("onChat", nickname , txt )
}
}
}
}
winform.btnView.oncommand =function(id,event){owner.disabled =truevarlink = winform.edRoomId.textvarurl, 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)
}importwin.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();
斗鱼 html播放器,斗鱼直播平台简易播放器 v1.2 (20180223更新)相关推荐
- 带货直播平台搭建播放器端需要做哪些工作呢?
4G时代已经过去,5G时代已然到来,互联网时代,直播已经成为了风口,在这个全民直播的时代,要想让自己的直播做得与众不同,或者要想要带货直播,那么就离不开带货直播平台搭建. 带货直播平台搭建成为直播系统 ...
- 魔坊APP项目-27-直播、客户端中调整窗口大小、能播放rtmp格式直播流的播放器模块
直播 客户端中直播的界面调整和当前窗口一致 live_list.html <!DOCTYPE html> <html lang="en"> <head ...
- 播放器、直播平台、OBS相关测试
功能测试 前后端分离情况下,视频资源是否可以正常获取,不管是服务器返回还是后台添加等 打开.关闭播放器 播放.暂停.停止播放器 拖动进度条查看是否卡顿 是否支持所有格式的文件?多个格式的文件进行测试 ...
- 开发类似斗鱼虎牙的运营级直播平台多少钱
自从直播行业逐渐被大众认可并得到大众喜爱之后,市场上就迎来了一小波开发"热潮".虽说短视频的出现使得直播行业受到了一定影响,但本质上直播行业的地位还是十分稳定的.那么,要想开发直播 ...
- java视频播放器制作_java创建简易视频播放器
java创建简易视频播放器 发布时间:2020-09-23 04:28:09 来源:脚本之家 阅读:98 作者:南柯一梦xihe 最近有个多媒体的作业,要求使用visualC++和OpenCV编写一个 ...
- 双双着眼行业纵深,虎牙、斗鱼凭借内容运营突围直播生态
当直播行业进入存量时代,斗鱼虎牙的生态策略有望打破天花板? 过去几个月,金铲铲之战.英雄联盟手游.英雄联盟全球总决赛掀起了一波接一波的游戏热潮,斗鱼和虎牙这两个游戏直播界"扛把子" ...
- 直播源码开发视频直播平台,不得不了解的流程...
随着直播行业的不断发展,直播平台市场已基本稳定,诸如斗鱼.虎牙等头部直播平台都已选择上市之路.如今开发视频直播平台还有市场吗?答案是"有".现在的视频直播平台在垂直细分领域的发展越 ...
- 关于主流直播平台(虎牙,斗鱼)用到的一些技术
前言: 网络视频直播存在已有很长一段时间,随着移动上下行带宽提升及资费的下调, 视频直播被赋予了更多娱乐和社交的属性,人们享受随时随地进行直播和观看, 直播的打开时间和延迟变成了影响产品功能发展重要指 ...
- 使用selenium自动爬取斗鱼直播平台的所有房间信息
使用selenium自动爬取斗鱼直播平台的所有房间信息 文章目录 使用selenium自动爬取斗鱼直播平台的所有房间信息 使用selenium实现动态页面模拟点击 什么是selenium? selen ...
最新文章
- mybatis中config.xml文件的解析
- 2020年第十一届蓝桥杯 - 国赛 - Python大学组 - H.答疑
- android防止左向右滑出程序,Android——ViewPager禁止左右滑动的实现
- mount --bind的用处
- 使用Visual Studio Code调试.net控制台应用程序的方法
- 00018_流程控制语句switch
- mysql qcow2_qcow2文件格式分析
- pbdom 不能解析gbk_备受家长追捧的公立学校,摇中率不到3%,还要抢着报名?速看大摇号学校全面解析!...
- java web 路径 .html,java web 路径(java web 路径).doc
- 键盘拆开重新安装步骤_笔记本键盘按键安装拆卸详解
- 决策树生成算法流程图
- Bugku之网站被黑
- lightGBM使用
- X5腾讯内核 安装线上内核本来能用,突然报115错误问题记录
- 苹果电脑如何修改服务器文件在哪里设置,电脑服务器修改mac地址
- css 宽度为百分比, 高度和宽度相等的设置
- CCPC 2050 万人编程竞赛热身赛:1001 赶火车
- 使用dockerfile制作定时执行任务镜像
- python scapy模块_关于scapy模块
- python使用turtle画一个三角形、正方形(矩形或四边形)