上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 52 下一页
摘要: 一、简介 libcurl 是一个跨平台的网络协议库,支持 http, https, ftp, gopher, telnet, dict, file, 和 ldap 协议。libcurl 同样支持 HTTPS 证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP 基本表单上传, 阅读全文
posted @ 2021-05-01 08:17 fengMisaka 阅读(16634) 评论(1) 推荐(1)
摘要: 一、前言 Qt 使用 QNetworkAccessManager 访问网络,这里对其进行了简单的封装,访问网络的代码可以简化为: // [[1]] GET 请求无参数 HttpClient("http://localhost:8080/device").success([](const QStrin 阅读全文
posted @ 2021-04-30 17:13 fengMisaka 阅读(7570) 评论(4) 推荐(1)
摘要: 一、前言 Qt 中访问网络使用 QNetworkAccessManager,它的 API 是异步的,这样在访问网络的时候不需要启动一个线程,在线程里执行请求的代码。(但这一点在有时候需要阻塞时就是个麻烦了) 需要注意一点的是,请求响应的对象 QNetworkReply 需要我们自己手动的删除,一般都 阅读全文
posted @ 2021-04-30 15:46 fengMisaka 阅读(1778) 评论(0) 推荐(0)
摘要: 一、前言 C++ 中比较不错的日志工具有 log4cxx,log4qt 等,但是它们都不能和 qDebug(), qInfo() 等有机的结合在一起,所以在 Qt 中使用总觉得不够舒服,感谢 Qt 提供了 qInstallMessageHandler() 这个函数,使用这个函数可以安装自定义的日志输 阅读全文
posted @ 2021-04-29 08:28 fengMisaka 阅读(4745) 评论(0) 推荐(5)
摘要: 一、前言 前面只是开了个异步线程来同时解码音频和视频,音频和视频的解码没有分开,同时将这个异步线程封装成类。这里实现三个类: XAudioThread:音频解码线程 XVideoThread:视频解码线程 XDemuxThread:“生产者” 线程,生产 AVPacket 添加到音频或视频队列,进而 阅读全文
posted @ 2021-04-26 18:55 fengMisaka 阅读(567) 评论(0) 推荐(0)
摘要: 一、前言 在上一篇中我们只实现了 OpenGl 播放视频,现在我们实现播放音频功能,播放音频首先要实现音频重采样,然后通过 Qt 的 QAudioOutput 类实现播放音频。 二、XResample类的实现(重采样) 新创建个工程,命名为 XPlayer_4。然后我们看下 XDemux 类要实现哪 阅读全文
posted @ 2021-04-26 18:54 fengMisaka 阅读(326) 评论(0) 推荐(0)
摘要: 一、前言 这里我们加入 Qt 来设计播放器界面,解码出的 RGB 数据使用 OpenGl 来进行渲染绘制,这样比直接转换成 QImage 在 QLabel 等控件上显示效率更高。 二、XVideoWidget类的实现(渲染绘制RGB) 新创建个工程。然后我们先看下 XVideoWidget 的头文件 阅读全文
posted @ 2021-04-26 18:52 fengMisaka 阅读(3538) 评论(0) 推荐(0)
摘要: 一、前言 在上一篇中我们实现了视频和音频的解封装、解码及写文件,但其基本是堆出来的代码,可复用性以及扩展性比较低,现在我们对它进行类的封装。这里我们先只实现解封装类和解码类。 二、XDemux类的实现(解封装) 新创建个工程 XPlayer_2。然后我们看下 XDemux 类要实现哪些函数: #if 阅读全文
posted @ 2021-04-26 18:51 fengMisaka 阅读(1039) 评论(0) 推荐(0)
摘要: 一、OpenCv简介 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在 Linux、Windows、Android 和 Mac OS 操作系统上。 它轻量级而且高效,由一系列 C 函数和少量 C++ 类构成,同时提供了 Python、Ruby、MATLAB 阅读全文
posted @ 2021-04-24 19:00 fengMisaka 阅读(766) 评论(0) 推荐(0)
摘要: 一、编译开源库的传统方法 Windows 下开发 C/C++ 程序,少不了编译开源的第三方库。比如用于网络连接的高性能库 libcurl、用于压缩解压的 zlib 等等。使用这些库开发极大的方便了程序员,使得我们不必重复造轮子。但是使用这些库必须要处理以下问题。 编译方式 由于这些开源库绝大部分都来 阅读全文
posted @ 2021-04-24 11:44 fengMisaka 阅读(29340) 评论(2) 推荐(6)
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 52 下一页