dssclient pc版怎么绑定手机mac

相关软件 /中文/ /中文/ /中文/ /中文/ /英文/ /中文/ /中文/ /中文/ /中文/ /英文/顶好评:50%踩坏评:50%请简要描述您遇到的错误,我们将尽快予以修正。轮坛转帖HTML方式轮坛转帖UBB方式
32.8M/中文/7.7
72.5M/中文/5.9
94.9M/中文/7.4
91.3M/中文/10.0
85.3M/中文/10.0
55.0M/中文/10.0
4.2M/中文/10.0
DSSClient HD实时监控iPad版是一款适用iPad的监控软件,是DSS7016平台配套的iPad客户端软件。&目前该软件主要支持:实时预览(包括云台、对讲等)、录像回放、Gis地图、光栅图、收藏夹和本地资源管理等功能,并支持了部分海康码流。应用说明全新设计的DSS转发平台iPad移动客户端。支持iOS7, iOS8及iOS9。版新功能1.修复BUG
安卓官方手机版
IOS官方手机版
DSSClient HD实时监控iPad版 V3.0.0苹果iOS版
下载帮助西西破解版软件均来自互联网, 如有侵犯您的版权, 请与我们联系。DarwinStreamingServer(1)
DSS对RTSP协议中的ANNOUNCE有一个认证的过程。需要事先通过web管理界面设定movie broadcast password,然后用这个账号进行Digest Authentication, DSS才会允许客户端上传一个流。如要修改这个认证机制,首先需要了解其原理。根据上一篇博客的分析,DSS对RTSP请求的认证过程主要涉及kAuthenticatingRequest和kAuthorizingRequest两个阶段。
kAuthenticatingRequest阶段,根据RTSP请求的类型,分别设置qtssActionFlagsWrite和qtssActionFlagsRead两个flag,然后交给注册了QTSS_RTSPAuthenticate_Role角色的模块去判断是否为合法用户。
case kAuthenticatingRequest:
if((method == qtssAnnounceMethod) || ((method == qtssSetupMethod) && fRequest-&IsPushRequest()))
fRequest-&SetAction(qtssActionFlagsWrite);
void* theSession = NULL;
UInt32 theLen = sizeof(theSession);
if (QTSS_NoErr == fRTPSession-&GetValue(sClientBroadcastSessionAttr, 0,
&theSession, &theLen) )
fRequest-&SetAction(qtssActionFlagsWrite); // an incoming broadcast session
fRequest-&SetAction(qtssActionFlagsRead);
(void)theModule-&CallDispatch(QTSS_RTSPAuthenticate_Role, &theAuthenticationParams);
this-&CheckAuthentication();
fState = kAuthorizingR
在非mac平台上,只有QTSSAccessModule这一个模块注册了QTSS_RTSPAuthenticate_Role角色,相应的处理代码在QTSSAccessModule::AuthenticateRTSPRequest()中:
QTSS_Error AuthenticateRTSPRequest(QTSS_RTSPAuth_Params* inParams)
QTSS_Error theErr = QTSS_GetValue(theRTSPRequest, qtssRTSPReqUserProfile, 0, (void*)&theUserProfile, &len);
StrPtrLen* authRealm = currentChecker-&GetAuthRealm();
(void)QTSS_SetValue(theUserProfile, qtssUserRealm, 0, (void*)(authRealm-&Ptr), (authRealm-&Len));
theErr = QTSS_GetValueAsString(theUserProfile, qtssUserName, 0, &usernameBuf);
StrPtrLen username(usernameBuf);
AccessChecker::UserProfile* profile = currentChecker-&RetrieveUserProfile(&username);
if (authScheme == qtssAuthBasic)
(void)QTSS_SetValue(theUserProfile, qtssUserPassword, 0, (void*)((profile-&cryptPassword).Ptr), (profile-&cryptPassword).Len);
else if (authScheme == qtssAuthDigest)
(void)QTSS_SetValue(theUserProfile, qtssUserPassword, 0, (void*)((profile-&digestPassword).Ptr), (profile-&digestPassword).Len);
根据请求中的username,DSS可以从qtusers文件中把对应的加密password字符串存入user profile,以便下一个步骤进行密码验证。同时存入user profile的还包括realm等信息。
再看kAuthenticatingRequest阶段的代码,接下去会调用RTSPSession::CheckAuthentication()来判断用户名验证是否通过。
void RTSPSession::CheckAuthentication() {
QTSSUserProfile* profile = fRequest-&GetUserProfile();
StrPtrLen* userPassword = profile-&GetValue(qtssUserPassword);
Bool16 authenticated =
if(scheme == qtssAuthBasic) {
if(::strcmp(userPasswdStr, (char*)crypt(reqPasswdStr, userPasswdStr)) != 0)
authenticated =
else if(scheme == qtssAuthDigest) {
if(responseDigest-&Equal(requestDigest)) {
if(!(nonce-&Equal(*(fRTPSession-&GetAuthNonce()))))
fRequest-&SetStale(true);
authenticated =
authenticated =
// If authenticaton failed, set qtssUserName in the qtssRTSPReqUserProfile attribute
// to NULL and clear out the password and any groups that have been set.
if (!fRequest-&GetAuthHandled())
if((!authenticated) || (authenticated && (fRequest-&GetStale()))) {
debug_printf(&erasing username from profile\n&);
(void)profile-&SetValue(qtssUserName, 0,
sEmptyStr.Ptr, sEmptyStr.Len, QTSSDictionary::kDontObeyReadOnly);
(void)profile-&SetValue(qtssUserPassword, 0,
sEmptyStr.Ptr, sEmptyStr.Len, QTSSDictionary::kDontObeyReadOnly);
(void)profile-&SetNumValues(qtssUserGroups, 0);
CheckAuthentication()如果发现验证失败,会清空user profile里的用户名、密码等信息,导致下一阶段的kAuthorizingRequest失败。
然后进入kAuthorizingRequest状态,调用各个注册了QTSS_RTSPAuthorize_Role的模块去完成授权。对于RTSP ANNOUNCE来说,授权会由QTSSReflectorModule::ReflectorAuthorizeRTSPRequest()完成。
QTSS_Error ReflectorAuthorizeRTSPRequest(QTSS_StandardRTSP_Params* inParams)
if ( AcceptSession(inParams) )
Bool16 allowed =
QTSS_RTSPRequestObject request = inParams-&inRTSPR
(void) QTSSModuleUtils::AuthorizeRequest(request,
&allowed);
return QTSS_NoE
QTAccessFile accessF
accessFile.AuthorizeRequest(inParams,allowNoAccessFiles, noAction, authorizeAction, &outAuthorized, &outAllowAnyUser);
ReflectorAuthorizeRTSPRequest()首先通过AcceptSession()检查是否通过授权。如果不通过,再交给QTAccessFile进一步检查。
AcceptSession()会允许所有在broadcast group中的用户进行写操作。
Bool16 AcceptSession(QTSS_StandardRTSP_Params* inParams)
QTSS_RTSPSessionObject inRTSPSession = inParams-&inRTSPS
QTSS_RTSPRequestObject theRTSPRequest = inParams-&inRTSPR
QTSS_ActionFlags action = QTSSModuleUtils::GetRequestActions(theRTSPRequest);
if(action != qtssActionFlagsWrite)
if (QTSSModuleUtils::UserInGroup(QTSSModuleUtils::GetUserProfileObject(theRTSPRequest), sBroadcasterGroup.Ptr, sBroadcasterGroup.Len))
// ok we are allowing this broadcaster user
所以,如果要通过ANNOUNCE向DSS上传RTP流,可以在web管理界面中添加movie broadcast账户,并在客户端用这个账户完成digest authentication,就能通过kAuthorizingRequest阶段的授权。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:24593次
排名:千里之外
原创:12篇
(2)(1)(1)(1)(1)(3)(2)(3)Dss Mobile Client 版本更新
全新的界面风格
2、
人脸注册与检索
3、
微信视频分享
4、
视频多码流切换,支持动态转码
5、
报警推送,支持离线
Dss Mobile Client 类似软件
包含 Dss Mobile Client 的应用集
<img src="/resource/www/static/images/chakan.png" alt="
用户对 Dss Mobile Client 的评论
亲,想发表评论请下载哦~
我们的产品
客服邮箱:
微博/微信合作QQ:
网游玩家客服QQ:
24小时举报电话号码:
广告合作QQ:
游戏合作QQ:
北京掌汇天下科技有限公司 版权所有
京公网安备39号|有家服务网点
已点击:&7500
已点击:&7324
已点击:&6532
已点击:&6043
已点击:&5610
已点击:&5286
已点击:&4977
已点击:&4783
已点击:&4604
已点击:&4568
已点击:&1323
已点击:&1464
已点击:&4977
已点击:&5610
已点击:&1205
已点击:&1224
已点击:&4119
已点击:&2093
已点击:&1804
已点击:&3512
已点击:&7500
已点击:&5610
已点击:&6532
已点击:&4783
已点击:&5286
已点击:&4568
已点击:&4977
已点击:&4119
已点击:&7324
已点击:&3680
下载注意:本页共提供6个大华录像机手机端软件(转发版本),请选择下载对应手机型号的程序包!
Android手机适用
版本:V1.10
1.可以预览、控制DSS摄像头
2.本版本隐藏无权限通道、支持720P分辨率
1.64M软件版本
软件类型免费压缩格式ZIP
Android 安卓
DSSClient HD Android Pad V1.00
Android平板电脑适用
版本:V1.00
可以预览、控制DSS摄像头
3.02M软件版本
软件类型免费压缩格式ZIP
Android 安卓平板
DSSClient iPhone V1.10
iPhone适用
版本:V1.10
1.可以预览、控制DSS摄像头
2.本版本支持HK设备、修复PTZ功能
下载途径:
不详软件版本
软件类型免费压缩格式ZIP
iPhone 苹果
DSSClient iPad V1.00
版本:V1.00
全新设计的DSS转发平台iPad版客户端,兼容DSS3.0和DSS2.2
下载途径:
不详软件版本
软件类型免费压缩格式ZIP
DSSClient winPhone V1.10
windows phone手机适用
版本:V1.10
可以预览、控制DSS摄像头
3.40M软件版本
软件类型免费压缩格式ZIP
windows phone手机
DSSClient s60 Phone V1.21.1
s60 塞班系统手机适用
版本:V1.12
可以预览、控制DSS摄像头
538.39K软件版本
软件类型免费压缩格式ZIP
s60 塞班下载须知重要须知:请认真阅读和理解最终用户许可协议的内容及限制,除非您完全接受本协议的条款,否则请勿在您的计算机上安装本软件。一旦您下载本软件,即表示您愿意接受以下条约:1、您同意尽您最大的努力来防止和保护未经授权的发表和使用本程式及其文件内容,软件作者保留所有无明确说明的权利。2、鉴于本软件的传播面较广,您应该对使用本软件的结果自行承担风险,若运行本软件后出现不良后果时,本软件或版权方对其概不负责,亦不承担任何法律责任。3、本软件所有功能之保证,已提供于软件内,没有任何其他额外保证。其他任何本软件未提供之功能、品质或损及您其他之权益均非本软件之保证范围;若有价值、瑕疵等问题,均非本软件之责任。4、图威商城(网址:)仅提供下载链接,如您认为存在不当或侵权请及时通知我们,我们将第一时间予以更改或删除。5、本说明不能在任何发布版本中被删除或更改,本软件严禁用于任何形式的商业用途,如需商业用途请联系软件作者或版权方。6、本软件著作权人为本软件作者,本软件、免责声明最终解释权归本软件作者或版权方所有。
}, dialog = this.dialog = new Element('div#mini_cart_dialog.popup-container.mini-cart-dialog',{
'html': $('popup_template').get('html').substitute(options),
display:'block',
zIndex: maxZindex('div', 1)
}).inject(document.body);
this.title = dialog.getElement('.popup-header h2');
this.close = dialog.getElements('.popup-btn-close');
this.content = dialog.getElement('.popup-content');
this.dialog.addEvent('click:relay(.popup-btn-close)',this.hide.bind(this));
var setSize = this.setSize = function(){
if(!dialog.isDisplayed())
dialog.setStyles({
top:target.getPosition().y+target.getSize().y,
left:target.getPosition().x.limit(0,window.getSize().x-dialog.getSize().x) + window.getScroll().x
setSize();
window.addEvent('resize',setSize);
'hide':function(){
this.dialog.destroy();
window.removeEvent('resize',this.setSize);
}catch(e){}
'load':function(options){
options = options || {};
options = Object.merge({
method: 'post',
onRequest: function(){
miniCart.show(options.target);
onSuccess: function(re){
this.title.innerHTML = '提醒';
this.content.innerHTML =
updateCartInfo();
if(document.getElement('.minicart_box')&&document.getElement('.minicart_box').get('show_gallery')){
document.getElement('.minicart_box').fireEvent('_show'); //迷你购物车
options.callback && options.callback(re);
}.bind(this),
onFailure: function(xhr){
this.title.innerHTML = '提醒';
this.content.innerHTML = '加入购物车失败。可能库存不足或提交信息不完整。';
}.bind(this)
},options||{});
if(!options.url)
new Request(options).send(options.data ? options.data.toQueryString() + '&mini_cart=true' : 'mini_cart=true');
init:function(target, url, data){
if(typeOf(target) == 'element') linktocart = target.getElements('[target=_dialog_minicart]');
else if(typeOf(target) == 'elements') linktocart =
else linktocart = $$('a[target=_dialog_minicart], button[target=_dialog_minicart]');
if(linktocart.length){
linktocart.addEvent('click',function(e){
e.preventDefault();
miniCart.load({url: url || this.href, data: data || this.getParent('.goods-item') || this.getParent('li'), target: this});
formToCart = function(container,target) {
container = $(container || document.body);
target = target || '.action-addtocart';
if(!container)
var formtocart = container.getElement('form[target=_dialog_minicart]') || container.getFirst().getParent('form[target=_dialog_minicart]');
if(formtocart) {
formtocart.addEvent('submit', function(e){
target = this.getElement(target) || this.getElement('*[type=submit]');
miniCart.load({
url:this.action,
method:this.method,
data:this,
target: target,
callback: function() {
target.removeClass('disabled');
}.bind(this)
window.addEvent('domready',function(){
miniCart.init();
formToCart();
广州市图威电子有限公司
&版权所有 & 图威安防平台
Tovi Security Ltd. All Rights Reserved.
客服:& & 020-
广州市天河区天河路596号百脑汇 C2804
合作伙伴:&
8:30-18:30

我要回帖

更多关于 dss client 的文章

 

随机推荐