mobile CCTV,mobile surveillance,police body worn cameras
标题:
基于WebSdk获取SmartEye平台设备rtmp拉流地址 流程简述
[打印本页]
author:
IBeli
time:
2020-1-2 15:29
标题:
基于WebSdk获取SmartEye平台设备rtmp拉流地址 流程简述
流程简述, 请参考文档
https://61.191.27.18:9443/doc/
1、加载jSW库
<script type="text/javascript" src="../js/jsw.js"></script>
2、以非插件方式初始化jSW库
var initParams = {
url:
http://61.191.27.18:8081
, // bv_nginx.exe服务器地址,用于指示库websocket 服务器地址
calltype: jSW.CallProtoType.HTTP, // AUTO: IE优先使用OCX, 如果希望IE仍然使用HTTP通信, 请使用jSW.CallProtoType.HTTP
oninit:
oninitcall
//jSW.swInit为异步接口,oninitcall是回调处理函数
//jSW.swInit函数返回0,并且回调通知成功,库初始化完成
}
var rc = jSW.swInit(initParams)
if(rc != jSW.RcCode.RC_CODE_S_OK){
//初始化失败
}
3、jSW初始化成功的回调之后,进行登录。
构建Session,在Session的onopen事件中,登录SmartEye平台。向Sesssion注册login事件处理函数,用以处理登录结果。
var session = null
function
oninitcall
(rc){
if(rc == jSW.RcCode.RC_CODE_S_OK){
session = new jSW.SWSession({
server: 127.0.0.1, // 如果是jSW.CallProtoType.HTTP方式,这里需要填写具体的IP
port: 9701,
onopen: function (sess) {
sess.swLogin({
user: admin,
password: 123456
})
},
onclose: function(){
document.getElementById('loginResult').innerText = "与服务器的命令传输 websocket 通道 关闭"
}
});
// 注册事件的回调函数
session.swAddCallBack('login',
sessionLoginCallback
);
session.swAddCallBack('logout', sessionCallback);
session.swAddCallBack('pulist',
OnPulistCallback
)
}
}
4、登录成功获取设备列表。
获取设备列表有两种方式,jSW自动获取全部设备列表或者调用者手动获取设备列表。
function
sessionLoginCallback
(sender, event, json){
if (json.code == jSW.RcCode.RC_CODE_S_OK) {
//登录成功
} else {
//登录失败
}
}
function
OnPulistCallback
(sender, event, json){
//获得设备列表成功, sender是SWSession对象
sender.
_arr_pu //
设备数组
sender.
_arr_pu_online
//
在线设备数组
}
5、获取指定设备对象,并以rtmp不播放的方式打开视频
获得设备列表成功之后,就可以通过设备对象的视频通道 来打开视频了。
如以var puid = PU_55AA00
var pu = session.
swGetPu(
puid
)
if(pu){
//pu._arr_channel 音视频通道数组
pu._arr_channel[0].swOpenEx({
div: null,
prototype: "rtmp",
media: 10,
callback:
OnOpenRtmpHasResult,
tag: pu._arr_channel[0]
})
}
6、以打开rtmp打开视频回调成功,获取播放地址
function OnOpenRtmpHasResult(options, response, dialogHandle){
if(response.emms.code == jSW.RcCode.RC_CODE_S_OK){
//以RTMP获取视频流打开成功,可以获取rtmp视频拉流地址了
var aimPu = options.tag
var urlObj = aimPu.
swGetUrl() //获取rtmp 拉流地址
console.log(urlObj)
}
}
author:
周杰
time:
2020-1-3 15:07
请问还是要基于前端开发,不能直接像rtsp插件形式直接拿rtmp地址来播放实时视频?
author:
besovideo
time:
2020-1-3 15:28
这估计不行。
author:
淘乐蓝莓
time:
2021-9-24 08:38
这台设备已经做过rtmp认证,之前正常使用的,现在客户反馈推流推不过去是什么问题呢?后台也查询不到
author:
coldflame
time:
2021-9-24 09:53
你这信息太少,啥都没有。
把设备跟后台的信息都贴出来。
欢迎光临 mobile CCTV,mobile surveillance,police body worn cameras (http://bbs.besovideo.com:8067/)
Powered by Discuz! X3.2