clang

Qt音视频开发28-Onvif信息获取

那年仲夏 提交于 2020-10-09 00:14:58
一、前言 严格意义上来说,Onvif处理这块算不上音视频开发的内容,为何重新整理放在音视频开发这个类别,主要是为了方便统一管理,而且在视频监控处理这块,通过onvif来拿到音视频流这是必经的阶段,也算是搭边的东西。上一篇文章写的是onvif设备搜索,搜到这些设备以后,第一件事情就是要对设备信息获取一下,比如获取视频流地址,配置套件信息、码流信息、分辨率大小等,这些信息的获取根据具体的需要去获取,也没有必要全部获取,毕竟很可能大部分的信息用不到,按需编码永远都是第一原则,第二原则才是考虑拓展性和稳定性,如果基本的需求都实现不了,那就不是一个真正的软件,考虑再多的拓展性和稳定性都是白搭,说的严重一点就是:所有编程语言都是垃圾,能解决实际需求并变现才是王道! onvif设备信息的获取需要注意的是,现在市场上绝大部分的摄像机都有密码验证的限定,先不管他默认是admin还是12345,起码有用户验证的机制摆在那,这样相对来说安全很多,不然谁也可以通过onvif协议拿到对应的信息,就没有安全性可言,记得几年前海康爆出了漏洞,导致很多监控摄像头被泄露,为此海康现在的摄像头默认onvif是关闭的,开启以后密码要求各种组合,哎,想要更安全就必须牺牲便捷性,这个也不知道谁能想出一个完美兼顾的方法。 onvif主要的功能: 搜索设备,获取设备的信息比如厂家、型号等。

vscode 使用 clang 格式化 c++代码

♀尐吖头ヾ 提交于 2020-10-07 00:51:12
需要ubuntu 安装 clang vscode 安装 clang-format 插件和 clangd插件 sudo apt-get update sudo apt-get upgrade -y curl -SL http://releases.llvm.org/9.0.0/clang%2bllvm-9.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz | tar -xJC . # For Ubuntu 18.04: # curl -SL http://releases.llvm.org/9.0.0/clang%2bllvm-9.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz | tar -xJC . # For Ubuntu 14.04: # curl -SL http://releases.llvm.org/9.0.0/clang%2bllvm-9.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz | tar -xJC . mv clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-16.04 clang_9.0.0 sudo mv clang_9.0.0 /usr/local # For Ubuntu 18.04: mv clang+llvm-9.0

Qt音视频开发27-Onvif设备搜索

妖精的绣舞 提交于 2020-10-06 12:07:19
一、前言 最近业余时间主要研究音视频开发这块,前面的文章写了好多种视频监控内核,一旦将这些内核搞定以后,视频监控的相关功能水到渠成。做视频监控系统,绕不过onvif这玩意,这玩意主要就是为了统一一个大概的标准,能够对各个厂家的监控设备进行常用的一些操作,比如搜索、获取信息、云台控制、事件订阅、抓拍图片等,如果没有这个规范,那么各个厂家都各自为政,需要用私有的sdk去处理,这样就很麻烦很惨了,几十个厂家就需要几十个sdk,对于程序员来说简直是灾难,想想就很恐怖的事情,哪个程序员不想多活几年! onvif设备搜索是最基本的功能,想要对设备进行进一步的处理,必须先搜索到设备,默认onvif搜索只能搜索到同一个网段的设备,要跨网段的话,需要手动指定设备的IP地址或者onvif地址进行搜索,这两者在封装的onvif类中都考虑到了,经历过各种复杂的现场情况的考验,也可以算是本系统的一个小特色吧。 近期又重新把独创的方法实现的onvif工具重新重构了下,各个类之间非常清晰明了,增强了兼容性和完整性,在之前的基础上还增加了很多基础的处理比如视频参数和图片参数的获取,设置时间等,同时还增加了可以指定过滤条件对搜索的设备进行过滤,这个非常有用,很多时候现场各种类型的各个厂家的摄像机非常多,一般来说一个类型的摄像机对应的onvif地址基本一致,端口也是一致,这样可以指定格式进行过滤,只显示过滤后的设备

ubuntu16.04+openMVG+openMVS官网案例重建

旧巷老猫 提交于 2020-10-04 10:15:20
建议挑选日期接近的博文来参考,因为不一样更新版本的源码版本遇到的问题不一样。步骤都是大概按照官网教程: 一、安装MVG 安装所依赖的库: Engine 3.2:参考 https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/107233049 中安装Engine 3.2.10的部分 opencv 3.2:参考 https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/88756053#t4 中安装opencv的步骤,注意里面写的是安装opencv3.1,安装时要仔细对照里面所说的每一步 QT version >= v5.4:参考: https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/103329833 这里只进行了安装,没有修改系统默认的QT ceres >=1.1:参考: https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/107289419 CMake 3.8: CGAL>=4.2: VCG:参考: https://blog.csdn.net/zdafei2010/article/details/77131563 这里,我下载的是 https:/

webrtc demo编译笔记

人走茶凉 提交于 2020-10-01 08:16:08
一、简介 实际版本开发时,需要将webrtc的lib合入自己特定的工程库,这里记录一下合入过程,便于后续版本升级webrtc版本新建工程时参考。 二、环境配置 PC机:windows 10 VS版本:Microsoft Visual Studio Enterprise 2019 三、预置条件 windows环境上编译webrtc 编译OKwebrtc库,使用编译命令行为 gn gen out/Release --args="target_os=\"win\" target_cpu=\"x64\" is_debug=false rtc_use_h264=true is_component_ffmpeg=true ffmpeg_branding=\"Chrome\" enable_libaom=false gtest_enable_absl_printers=false libyuv_include_tests=false rtc_include_tests=false is_component_build=false rtc_enable_protobuf=true" --ide=vs2019 若是版本不支持Clang,可以使用如下命令行 gn gen out/Release --args="target_os=\"win\" target_cpu=\"x64\" is_debug

clang-format 的 BasedOnStyle 选项的区别比较

有些话、适合烂在心里 提交于 2020-09-30 03:41:30
clang-format现支持以下代码风格: LLVM, GNU, Google, Chromium, Microsoft, Mozilla, WebKit 使用类似下面的命令行可以输出其具体选项: clang-format --style=LLVM --dump-config 其输出结果类似YAML,所以写了个小程序,自动生成Markdown的表格。 以下为应用程序( github源码 )自动生成: 来源: oschina 链接: https://my.oschina.net/krysl/blog/4548315