1.增加了直播的时候使用videoCDN地址,2.m3u8拉流的时候名称修改为playlist.m3u8;3.LOG增加debug状态的设置
正在显示
6 个修改的文件
包含
57 行增加
和
13 行删除
此 diff 太大无法显示。
| @@ -28,7 +28,7 @@ import MediaModule from 'apes/MediaModule'; | @@ -28,7 +28,7 @@ import MediaModule from 'apes/MediaModule'; | ||
| 28 | import UTF8 from 'utf-8'; | 28 | import UTF8 from 'utf-8'; |
| 29 | 29 | ||
| 30 | let loger = Loger.getLoger('McuClient'); | 30 | let loger = Loger.getLoger('McuClient'); |
| 31 | -let _sdkInfo = {"version": "v1.24.0.201705024", "author": "www.3mang.com"}; | 31 | +let _sdkInfo = {"version": "v1.25.2.201705025", "author": "www.3mang.com"}; |
| 32 | 32 | ||
| 33 | //APE | 33 | //APE |
| 34 | let _sass; | 34 | let _sass; |
| @@ -197,7 +197,7 @@ export default class MessageEntrance extends Emiter { | @@ -197,7 +197,7 @@ export default class MessageEntrance extends Emiter { | ||
| 197 | _setDebugInfo(_data){ | 197 | _setDebugInfo(_data){ |
| 198 | loger.log("设置debug信息-->", _data); | 198 | loger.log("设置debug信息-->", _data); |
| 199 | if(_data){ | 199 | if(_data){ |
| 200 | - Loger.IS_DEBUG=_data.isDebug; | 200 | + Loger.setLogDebug(_data.isDebug); |
| 201 | } | 201 | } |
| 202 | } | 202 | } |
| 203 | //设置设备信息 | 203 | //设置设备信息 |
| @@ -422,7 +422,7 @@ export default class MessageEntrance extends Emiter { | @@ -422,7 +422,7 @@ export default class MessageEntrance extends Emiter { | ||
| 422 | GlobalConfig.md5 = _data.md5 || "";//这个暂时用假数据,后台接口写完就有数据了 | 422 | GlobalConfig.md5 = _data.md5 || "";//这个暂时用假数据,后台接口写完就有数据了 |
| 423 | GlobalConfig.msType = _data.msType || 1; | 423 | GlobalConfig.msType = _data.msType || 1; |
| 424 | GlobalConfig.siteId = _data.siteId || ""; | 424 | GlobalConfig.siteId = _data.siteId || ""; |
| 425 | - GlobalConfig.classType = _data.meetingType || 0; | 425 | + GlobalConfig.classType = _data.meetingType || ApeConsts.CLASS_TYPE_1; |
| 426 | 426 | ||
| 427 | //host默认需要密码,Sass服务器只判断学生是否需要密码,没有判断老师的 | 427 | //host默认需要密码,Sass服务器只判断学生是否需要密码,没有判断老师的 |
| 428 | GlobalConfig.passwordRequired = _data.passwordRequired || false;//md5验证的时候需要Sass返回的值,不能更改 | 428 | GlobalConfig.passwordRequired = _data.passwordRequired || false;//md5验证的时候需要Sass返回的值,不能更改 |
| @@ -488,7 +488,7 @@ export default class MessageEntrance extends Emiter { | @@ -488,7 +488,7 @@ export default class MessageEntrance extends Emiter { | ||
| 488 | GlobalConfig.setMcuList(_data.mcuList);//mcu | 488 | GlobalConfig.setMcuList(_data.mcuList);//mcu |
| 489 | GlobalConfig.setMusicList(_data.musicList);// | 489 | GlobalConfig.setMusicList(_data.musicList);// |
| 490 | GlobalConfig.setMusicListPrepare(_data.musicListPrepare);//提前上传的声音文件列表 | 490 | GlobalConfig.setMusicListPrepare(_data.musicListPrepare);//提前上传的声音文件列表 |
| 491 | - | 491 | + GlobalConfig.setVideoCDNAddr(_data.videoCDNAddr);//cdn加速的拉流地址,直播的时候才使用 |
| 492 | 492 | ||
| 493 | //MCU地址 | 493 | //MCU地址 |
| 494 | if (_data.mcuList && _data.mcuList.length > 0) { | 494 | if (_data.mcuList && _data.mcuList.length > 0) { |
| @@ -526,6 +526,7 @@ export default class MessageEntrance extends Emiter { | @@ -526,6 +526,7 @@ export default class MessageEntrance extends Emiter { | ||
| 526 | GlobalConfig.MS_PLAY_RTMP_IP= GlobalConfig.MS_PUBLISH_IP; | 526 | GlobalConfig.MS_PLAY_RTMP_IP= GlobalConfig.MS_PUBLISH_IP; |
| 527 | GlobalConfig.MS_PLAY_RTMP_PORT =GlobalConfig.MS_PUBLISH_PORT; | 527 | GlobalConfig.MS_PLAY_RTMP_PORT =GlobalConfig.MS_PUBLISH_PORT; |
| 528 | } | 528 | } |
| 529 | + | ||
| 529 | loger.log('初始->MSPull->.', GlobalConfig.MS_PLAY_RTMP_IP, GlobalConfig.MS_PLAY_RTMP_PORT); | 530 | loger.log('初始->MSPull->.', GlobalConfig.MS_PLAY_RTMP_IP, GlobalConfig.MS_PLAY_RTMP_PORT); |
| 530 | 531 | ||
| 531 | //播流的地址和推流地址需要分开的时候,单独设置拉流的地址 hls(目前乐视使用) | 532 | //播流的地址和推流地址需要分开的时候,单独设置拉流的地址 hls(目前乐视使用) |
| @@ -542,6 +543,32 @@ export default class MessageEntrance extends Emiter { | @@ -542,6 +543,32 @@ export default class MessageEntrance extends Emiter { | ||
| 542 | loger.log('初始->MSHls->.', GlobalConfig.MS_PLAY_HLS_IP, GlobalConfig.MS_PLAY_HLS_PORT); | 543 | loger.log('初始->MSHls->.', GlobalConfig.MS_PLAY_HLS_IP, GlobalConfig.MS_PLAY_HLS_PORT); |
| 543 | 544 | ||
| 544 | 545 | ||
| 546 | + //直播的时候,拉流(rtmp和hls)需要从 videoCDNAddr中获取 | ||
| 547 | + if(GlobalConfig.classType==ApeConsts.CLASS_TYPE_2&&GlobalConfig.videoCDNAddrList.length>0){ | ||
| 548 | + //videoCDNAddrList中rtmppush和hls是混在一起的,需要分离开; | ||
| 549 | + let listLen=GlobalConfig.videoCDNAddrList.length; | ||
| 550 | + for(let i=0;i<listLen;i++){ | ||
| 551 | + let ipItem=GlobalConfig.videoCDNAddrList[i]; | ||
| 552 | + if(ipItem){ | ||
| 553 | + if(ipItem.indexOf('hls')>=0){ | ||
| 554 | + //直播的时候m3u8拉流地址 | ||
| 555 | + GlobalConfig.MS_PLAY_HLS_IP =ipItem;//ip包含了端口 | ||
| 556 | + GlobalConfig.MS_PLAY_HLS_PORT =""; | ||
| 557 | + loger.log('videoCDNAddr>初始->MSHls', GlobalConfig.MS_PLAY_HLS_IP ); | ||
| 558 | + }else if(ipItem.indexOf('rtmppush')>=0){ | ||
| 559 | + //直播的时候rtmp拉流地址 | ||
| 560 | + GlobalConfig.MS_PLAY_RTMP_IP=ipItem;//ip包含了端口 | ||
| 561 | + GlobalConfig.MS_PLAY_RTMP_PORT =''; | ||
| 562 | + loger.log('videoCDNAddr->初始->MSPull', GlobalConfig.MS_PLAY_RTMP_IP ); | ||
| 563 | + } | ||
| 564 | + } | ||
| 565 | + } | ||
| 566 | + | ||
| 567 | + }else{ | ||
| 568 | + loger.log('不需要videoCDNAddr->'); | ||
| 569 | + } | ||
| 570 | + | ||
| 571 | + | ||
| 545 | //文档地址 | 572 | //文档地址 |
| 546 | if (_data.docList && _data.docList.length > 0) { | 573 | if (_data.docList && _data.docList.length > 0) { |
| 547 | //doc上传地址,随机获取一个 | 574 | //doc上传地址,随机获取一个 |
| @@ -801,7 +828,7 @@ export default class MessageEntrance extends Emiter { | @@ -801,7 +828,7 @@ export default class MessageEntrance extends Emiter { | ||
| 801 | joinClassSuccessCallBackData.userRole = GlobalConfig.userRole; | 828 | joinClassSuccessCallBackData.userRole = GlobalConfig.userRole; |
| 802 | joinClassSuccessCallBackData.userId = GlobalConfig.userId; | 829 | joinClassSuccessCallBackData.userId = GlobalConfig.userId; |
| 803 | joinClassSuccessCallBackData.passwordRequired = GlobalConfig.passwordRequired; | 830 | joinClassSuccessCallBackData.passwordRequired = GlobalConfig.passwordRequired; |
| 804 | - joinClassSuccessCallBackData.classType = GlobalConfig.classType || ApeConsts.CLASS_TYPE_INTERACT; | 831 | + joinClassSuccessCallBackData.classType = GlobalConfig.classType || ApeConsts.CLASS_TYPE_1; |
| 805 | 832 | ||
| 806 | joinClassSuccessCallBackData.country = GlobalConfig.country;//国家 | 833 | joinClassSuccessCallBackData.country = GlobalConfig.country;//国家 |
| 807 | joinClassSuccessCallBackData.city = GlobalConfig.city;//城市 | 834 | joinClassSuccessCallBackData.city = GlobalConfig.city;//城市 |
| @@ -1516,7 +1543,7 @@ export default class MessageEntrance extends Emiter { | @@ -1516,7 +1543,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1516 | joinClassSuccessCallBackData.userRole = GlobalConfig.userRole; | 1543 | joinClassSuccessCallBackData.userRole = GlobalConfig.userRole; |
| 1517 | joinClassSuccessCallBackData.userId = GlobalConfig.userId; | 1544 | joinClassSuccessCallBackData.userId = GlobalConfig.userId; |
| 1518 | joinClassSuccessCallBackData.passwordRequired = GlobalConfig.passwordRequired; | 1545 | joinClassSuccessCallBackData.passwordRequired = GlobalConfig.passwordRequired; |
| 1519 | - joinClassSuccessCallBackData.classType = GlobalConfig.classType || ApeConsts.CLASS_TYPE_INTERACT; | 1546 | + joinClassSuccessCallBackData.classType = GlobalConfig.classType || ApeConsts.CLASS_TYPE_1; |
| 1520 | 1547 | ||
| 1521 | joinClassSuccessCallBackData.country = GlobalConfig.country;//国家 | 1548 | joinClassSuccessCallBackData.country = GlobalConfig.country;//国家 |
| 1522 | joinClassSuccessCallBackData.city = GlobalConfig.city;//城市 | 1549 | joinClassSuccessCallBackData.city = GlobalConfig.city;//城市 |
| @@ -269,6 +269,17 @@ class GlobalConfig { | @@ -269,6 +269,17 @@ class GlobalConfig { | ||
| 269 | static getRsList(){ | 269 | static getRsList(){ |
| 270 | return this.rsList; | 270 | return this.rsList; |
| 271 | } | 271 | } |
| 272 | + | ||
| 273 | + //CDN加速的 拉流地址 rtmp 和hls(m3u8) | ||
| 274 | + static setVideoCDNAddr(_data){ | ||
| 275 | + if(_data==null) return; | ||
| 276 | + //ideoCDNAddr中的地址需要进行筛选,里面包含hls开头和rtmppush开头的地址 | ||
| 277 | + this.videoCDNAddr=_data||''; | ||
| 278 | + if(this.videoCDNAddr){ | ||
| 279 | + this.videoCDNAddrList=this.videoCDNAddr.split(';'); | ||
| 280 | + } | ||
| 281 | + loger.log("videoCDNAddrList->",this.videoCDNAddrList); | ||
| 282 | + } | ||
| 272 | } | 283 | } |
| 273 | 284 | ||
| 274 | GlobalConfig.statusCode_0={"code":0,message:"SDK 未初始化"}; | 285 | GlobalConfig.statusCode_0={"code":0,message:"SDK 未初始化"}; |
| @@ -365,7 +376,7 @@ GlobalConfig.topNodeID=101;//现在固定值,还不知道是做什么用 | @@ -365,7 +376,7 @@ GlobalConfig.topNodeID=101;//现在固定值,还不知道是做什么用 | ||
| 365 | GlobalConfig.siteId="";//站点号 | 376 | GlobalConfig.siteId="";//站点号 |
| 366 | GlobalConfig.className= ""; // 课程名称 | 377 | GlobalConfig.className= ""; // 课程名称 |
| 367 | GlobalConfig.classId=0;//课堂号=classId=meetingNumber 之后统一修改为classId | 378 | GlobalConfig.classId=0;//课堂号=classId=meetingNumber 之后统一修改为classId |
| 368 | -GlobalConfig.classType=ApeConsts.CLASS_TYPE_INTERACT;//课堂类型 1:互动课堂,2:直播课堂 | 379 | +GlobalConfig.classType=ApeConsts.CLASS_TYPE_1;//课堂类型 |
| 369 | GlobalConfig.classStatus=ApeConsts.CLASS_STATUS_WAIT;// 0;//课堂还未开始 1;//直播中 2 //课间休息 3已经停止 | 380 | GlobalConfig.classStatus=ApeConsts.CLASS_STATUS_WAIT;// 0;//课堂还未开始 1;//直播中 2 //课间休息 3已经停止 |
| 370 | GlobalConfig.classStartTime="";//课堂点击开始时间 | 381 | GlobalConfig.classStartTime="";//课堂点击开始时间 |
| 371 | GlobalConfig.classStopTime="";//最后一次停止的时间(点暂停或结束),每次发送数据都获取当前时间戳 | 382 | GlobalConfig.classStopTime="";//最后一次停止的时间(点暂停或结束),每次发送数据都获取当前时间戳 |
| @@ -403,7 +414,8 @@ GlobalConfig.msList=[];//ms服务器地址集合 | @@ -403,7 +414,8 @@ GlobalConfig.msList=[];//ms服务器地址集合 | ||
| 403 | GlobalConfig.musicList=[];//music服务器地址集合 | 414 | GlobalConfig.musicList=[];//music服务器地址集合 |
| 404 | GlobalConfig.musicListPrepare=[];//提提前上传的music集合 | 415 | GlobalConfig.musicListPrepare=[];//提提前上传的music集合 |
| 405 | GlobalConfig.rsList=[];//录制回放中视频点播地址 | 416 | GlobalConfig.rsList=[];//录制回放中视频点播地址 |
| 406 | - | 417 | +GlobalConfig.videoCDNAddr=''; |
| 418 | +GlobalConfig.videoCDNAddrList=[];//从videoCDNAddr转换来的,videoCDNAddr字符串用分号隔开了多个ip | ||
| 407 | 419 | ||
| 408 | //乐视的推流和播放需要分开 | 420 | //乐视的推流和播放需要分开 |
| 409 | GlobalConfig.pullRtmpList=[];//rtmp播流地址集合(推流和播流地址需要区分的站点使用) | 421 | GlobalConfig.pullRtmpList=[];//rtmp播流地址集合(推流和播流地址需要区分的站点使用) |
| @@ -95,10 +95,14 @@ export default { | @@ -95,10 +95,14 @@ export default { | ||
| 95 | setLogLevel: function setLogLevel(logLevel) { | 95 | setLogLevel: function setLogLevel(logLevel) { |
| 96 | Loger.logLevel = logLevel; | 96 | Loger.logLevel = logLevel; |
| 97 | }, | 97 | }, |
| 98 | + setLogDebug: function setLogDebug(isDebug) { | ||
| 99 | + Loger.IS_DEBUG = isDebug; | ||
| 100 | + }, | ||
| 98 | LOG: Loger.LOG, | 101 | LOG: Loger.LOG, |
| 99 | WARN: Loger.WARN, | 102 | WARN: Loger.WARN, |
| 100 | ERROR: Loger.ERROR, | 103 | ERROR: Loger.ERROR, |
| 101 | NO: Loger.NO, | 104 | NO: Loger.NO, |
| 102 | DATA: Loger.DATA, | 105 | DATA: Loger.DATA, |
| 106 | + IS_DEBUG:Loger.IS_DEBUG, | ||
| 103 | }; | 107 | }; |
| 104 | 108 |
| @@ -25,10 +25,10 @@ ApeConsts.CLASS_PAUSING = "class.update";//更新当前的状态信息 | @@ -25,10 +25,10 @@ ApeConsts.CLASS_PAUSING = "class.update";//更新当前的状态信息 | ||
| 25 | ApeConsts.CLASS_ACTION_CLOSE_ALL=1;//所有人关闭课堂 | 25 | ApeConsts.CLASS_ACTION_CLOSE_ALL=1;//所有人关闭课堂 |
| 26 | ApeConsts.CLASS_ACTION_HANDUP_STATUS_CHANGE=2;//更改用户的举手状态 | 26 | ApeConsts.CLASS_ACTION_HANDUP_STATUS_CHANGE=2;//更改用户的举手状态 |
| 27 | 27 | ||
| 28 | -//课堂类型 | ||
| 29 | -ApeConsts.CLASS_TYPE_INTERACT= 1; // 互动课堂,通过MS转发音视频,不能进行H5观看 | ||
| 30 | -ApeConsts.CLASS_TYPE_LIVE= 2; // 直播课堂,通过CDN转发音视频,不能进行音视频互动 | ||
| 31 | - | 28 | +//课堂类型 1:1v1(2路流) 2:直播(1路流) 3:小班课(可以多路流) |
| 29 | +ApeConsts.CLASS_TYPE_1= 1; // 互动课堂,通过MS转发音视频,不能进行H5观看 1v1(2路流) | ||
| 30 | +ApeConsts.CLASS_TYPE_2= 2; // 直播课堂,通过CDN转发音视频,不能进行音视频互动 :直播(1路流) | ||
| 31 | +ApeConsts.CLASS_TYPE_3= 2; // 直播课堂,通过CDN转发音视频,不能进行音视频互动 ::小班课(可以多路流) | ||
| 32 | 32 | ||
| 33 | //角色身份 | 33 | //角色身份 |
| 34 | //ApeConsts.NR_GUEST = 0; // 客人 | 34 | //ApeConsts.NR_GUEST = 0; // 客人 |
| @@ -39,7 +39,8 @@ class MediaModule { | @@ -39,7 +39,8 @@ class MediaModule { | ||
| 39 | //乐视的hls地址规则 | 39 | //乐视的hls地址规则 |
| 40 | fileName='desc.m3u8'; | 40 | fileName='desc.m3u8'; |
| 41 | }else { | 41 | }else { |
| 42 | - fileName='index.m3u8'; | 42 | + //fileName='index.m3u8'; |
| 43 | + fileName='playlist.m3u8'; | ||
| 43 | } | 44 | } |
| 44 | port = (GlobalConfig.MS_PLAY_HLS_PORT == "" || GlobalConfig.MS_PLAY_HLS_PORT == null) ? "":":" + GlobalConfig.MS_PLAY_HLS_PORT; | 45 | port = (GlobalConfig.MS_PLAY_HLS_PORT == "" || GlobalConfig.MS_PLAY_HLS_PORT == null) ? "":":" + GlobalConfig.MS_PLAY_HLS_PORT; |
| 45 | path = "http://" + GlobalConfig.MS_PLAY_HLS_IP | 46 | path = "http://" + GlobalConfig.MS_PLAY_HLS_IP |
-
请 注册 或 登录 后发表评论