海康SDK修改分辨率

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010454583/article/details/49742463

因为项目的缘故,需要用到海康的SDK,但是海康的文档,描述的不够详细,遇上很多的坑,现在就写下其中遇到的一个坑,也就是改变视频的分辨率

刚开始按照文档来,发现不对,一直报错,操控不了设备,或者各种调用顺序错误,参数错误。

第一步:获取设备的能力集



在成功的时候,你需要去解析获得的字符串,这是一个XML格式的数据,如下:

可以用系统的自带的NSXMLParser去解析,

解析后的XML数据,包含三种码流的分辨率支持

MainChannel主码流

SubChannelList子码流

EventChannel事件码流;

当前视频使用什么码流,那么就使用当前码流下的能力集内的分辨率,不要逾越,不然设置分辨率是会失败的。



第二步:修改分辨率

首先,需要初始化SDK,不论你是否在登录时已经初始化SDK了,在这里都初始化一次,防止错误

接着,设置配置需要的结构体,你需要修改的分辨率

一定要是你使用码流下的支持分辨率!

一定要是你使用码流下的支持分辨率!!

一定要是你使用码流下的支持分辨率!!!

重要的事说三遍!在这里坑了很多次,说多了都是泪!

代码如下:

其中:


是获取当前设置的分辨率,可以独立出来,作为修改分辨率前后获取当前分辨率,判断你是否设置成功

最好在修改分辨率的时候,关闭码流再开启码流,这样能让用户直观看到分辨率修改了

//注:在子码流下,分辨率变化的幅度不大,可能最低就320*240,最高704*576,看到视频监控没有发现大变化时不要心慌,可以通过上面方法判断分辨率修改成功否


展开阅读全文

没有更多推荐了,返回首页