- 博客(6)
- 收藏
- 关注
原创 音视频开发基础概述 - PCM、YUV、H264、常用软件介绍
音视频的原始数据是很大的,比如一帧图像的大小就等于 宽 * 高 * 像素,对于一张 1280*960,采用 RGBA_8888 (实际开发中一般不会使用 RGBA 格式,这里只是举个例子)数据格式的图片,它的大小就等于 1280*960*4Byte = 4.6875M,假设视频帧率为 24帧/s,那么 1 分钟的视频大小为:4.6875 * 24 * 60 = 6750M。P 帧没有完整的图像数据,只保存与前面的帧的差别,需要借助之前的帧数据生成图像;视频编码中,最常用的数据压缩算法是帧内预测、帧间预测。
2023-12-13 15:23:05
939
1
原创 qcustomplot使用教程--用户交互
这种情况下,不管是可选择性还是选中状态,都应当是SelectablePart的Flag的一组 or组合,也就是说,不同的组分要分别通过它们各自的QFlag的组合(通过or连接)来说明。本文代码中的变量customPlot是QCustomPlot类型的指针,实际使用时,应当用ui->customPlot,表示UI界面中用于绘图的QCustomPlot。函数进行调整,这样的话,即使某个要素是无法选中的(通过上一段的方法),我们依然可以通过该方法来在程序中通过上述方法修改它的状态为选中的。该行为是通过Flag。
2023-04-04 15:19:13
523
1
原创 qcustomplot使用教程--基本绘图
需要注意的是,QCustomPlot处理的时间/日期坐标系,都是以时间戳0起始坐标点的,,单位是s。目前为止,我们只应用了Graph,因为Graph是我们使用QCustomPlot的主要内容,QCustomPlot为我们使用Graph提供了专门的接口,我们也一直在使用它们,比如。中的字符串,需要符合ISO8601时间格式,除了时间格式之外的其他字符都会原封不动的保留,而时间格式的字符会被正确填充。x、y是大小相等的一组数据,其中x中存储的是横坐标,y中存储的是纵坐标。本例介绍如何绘制时间、日期相关的数。
2023-04-04 15:18:06
6820
1
原创 qcustomplot使用教程--安装与配置
共享库的意思是,在我们的工程项目中不包含库.h和.cpp,而是连接到一个外部的qcustomplot.so(GNU/Linux系统下)或qcustomplot.cll(MSWindows)。下载需要版本的QCustomPlot的压缩包QCustomPlot.tar.gz,下载解压后会得到qcustomplot的.cpp与.h文件,这两个文件是我们需要的。有时候,右键点击QWidget的时候,只有第二个提升为...,点进去之后,选中QCustomPlot,并点击提升就行。①把这两个文件复制粘贴到项目下;
2023-04-04 15:12:12
482
2
原创 SOCKET自学
比如你只是想连接到一个远程主机上面进行通讯,你并不在乎你究竟是用的自己机器上的哪个端口进行通讯(比如Telnet),那么你可以简单的直接调用connect()函数,connect()将自动寻找出本地机器上的一个未使用的端口,然后调用 bind()来将其socket 绑定到那个端口上。因为如果你给send()的参数中包含的数据的长度远远大于send()所能一次发送的数据,则send()函数只发送它所能发送的最大数据长度,然后它相信你会把剩下的数据再次调用它来进行第二次发送。这个过程是不需要建立连接的。
2022-11-27 10:54:55
62
原创 如何在Dll中导出class
(这里谈到的两个DLL,一个是我们自己编写的DLL,一个装MFC类库的DLL)现在MFC代码库的DLL也存在多个版本,客户程序和扩展DLL都必须使用相同版本的MFC代码DLL。Dll工程编译完成后,将.lib和.dll文件拷贝到测试和使用dll的工程的适当目录下(我的程序是release目录),然后将Dll工程中的导出类的头文件(以下简称头文件)拷贝到测试和使用dll的工程的适当目录下(在我的程序中是拷贝到此工程文件所在目录),然后把这个拷贝过来的头文件通过下面2和3进行修改。
2022-11-27 10:53:22
291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人