onvif协议远程调节ip摄像机码流信息

本文探讨了使用Onvif协议远程控制不同品牌IP摄像头码流信息的问题,例如雄迈IPC不支持远程修改,而大华IPC则支持。针对海康IPC265由于profiles大小超出Onvif解析限制,提出通过SOAP调用_trt__GetVideoEncoderConfiguration接口来获取并修改H264码流配置。
摘要由CSDN通过智能技术生成
先放代码:
IpcInfo info;
    if(UI_lookup_ipc(ipc_id, info))//从数据库获取对应id的ipc信息
    {
            return -1 ;
    }
    char *xaddr = (char *)malloc(256);
    memset(xaddr, '\0', 256);
    sprintf(xaddr, "http://%s:%d/onvif/device_service", info.net_info.ip_addr1, 80);
    if( NULL == xaddr || '\0' == xaddr[0])
    {
        DBGLOG("param invalid!");
        return -1;
    }
    struct soap *soap=discovery_get_soap();  //soap_new();
    if (NULL==soap)
    {
        printf("the soap fails to create!\n");
        return -1;
    }
    struct _tds__GetCapabilities *tds__GetCapabilities = (struct _tds__GetCapabilities *)soap_mallocz( soap, sizeof(struct _tds__GetCapabilities));
    struct _tds__GetCapabilitiesResponse *tds__GetCapabilitiesResponse
                = (struct _tds__GetCapabilitiesResponse *)soap_mallocz( soap, sizeof(struct _tds__GetCapabilitiesResponse));

    struct _trt__GetProfilesResponse   *trt__GetProfilesResponse=(struct _trt__GetProfilesResponse   *)soap_mallocz( soap, sizeof(struct _trt__GetProfilesResponse));
    struct _trt__GetProfiles *trt__GetProfiles=(struct _trt__GetProfiles *)soap_mallocz( soap, sizeof(struct _trt__GetProfiles));

    char username[MAX_TOKEN_LEN] = {""};
        char password[MAX_TOKEN_LEN];
        UI_lookup_passwd(ipc_id, username, password);//从数据库中获得对应的账号密码信息
        int diffTi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值