- 博客(70)
- 资源 (1)
- 收藏
- 关注
原创 NAL 网络提取层(Network Abstraction Layer)
在H.264/AVC视频编码标准中,无论是存储还是网络传输,H264 原始码流是由一个接一个 NALU(NAL Unit) 组成,整个系统框架被分为两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。VCL:负责有效表示视频数据的内容,包括核心压缩引擎和块、宏块和片的语法级别定义,设计目标是尽可能地独立于网络进行高效的编码。
2024-09-30 16:27:17
1100
原创 H.264
视频压缩也称为视频编码,是减少视频数据大小以便可以有效地将其从一个地方移动到另一个地方的过程。一个完全未压缩的视频文件可能会占用几张蓝光光盘。从服务器流式传输到用户计算机也需要大量时间,而且实时回放几乎是不可能的。相比之下,压缩的视频文件可以放入一张蓝光光盘,即使图像质量非常高也是如此。它可以从服务器快速、近乎实时地流式传输到用户的计算机。视频压缩的运作原理是去除冗余的视觉信息和不必要的细节,并依靠数学计算来生成每一帧视频的大部分内容,而不是记录每一帧。
2024-09-30 13:45:47
1025
原创 linux自定义命令
创建一个脚本文件来执行自定义的任务,并将其添加到系统的 PATH 中,从而在任何地方都可以运行这个命令。/bin/bash保存并关闭文件。将脚本文件移动到 PATH 中的目录,例如 /usr/local/bin:或 /usr/bin:以实际环境为准现在可以在终端中直接使用mycommand来运行脚本。
2024-08-22 08:33:59
658
转载 RTSP协议详解
RTSP(Real Time Streaming Protocol), 实时流传输协议, 是TCP/IP协议体系中的一个应用层协议, 由哥伦比亚大学, 网景和RealNetworks公司提交的IETF RFC标准. 该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据. RTSP在体系结构上位于RTP和RTCP之上, 它使用TCP或RTP完成数据传输.
2024-08-02 10:21:10
83
转载 《Qt》Qt Designer启动问题
切换到Qt Designer目录(如 C:\Qt\Qt5.6.1\5.6\msvc2013_64\bin ),把 Qt5WebEngineWidgets.dll 随便改个名字,例如 Qt5WebEngineWidgets222.dll ,之后就可以打开QtDesigner了。在解决方案资源管理器中,右击你的 xxx.ui文件,会有打开方式,此时列表中默认值是 Qt designer,选中它,点击“移除”按钮。这时候再在解决方案资源管理器中双击 *.ui 就可以打开并进行下一步的编辑了。
2024-06-25 16:39:01
372
原创 protobuf复杂场景下的使用,包含多层嵌套结构体,repeated等(六)
protobuf复杂场景使用,包含多层结构体嵌套,repeated等成员参数情况。
2024-02-05 11:49:12
2816
原创 protobuf程序运行报错error while loading shared libraries: libprotobuf.so.8: (三)
因此需要创建ld指向文件 /etc/ld.so.conf.d/libprotobuf.conf ,内容如下:(然后,需要执行:sudo ldconfig 命令)通过find查找 libprotobuf.so.8 文件,发现在/usr/local/lib下。确认,是否配置了LD路径,写到/etc/profile中,还需要执行source。找不到libprotobuf.so.8库文件,这一般是库文件路径没有添加正确。写了一个测试程序运行是,显示找不到库文件。注:需要root权限进行操作。
2024-02-05 10:52:35
609
原创 protobuf之实例使用(四)
protobuf安装后,在含有protoc执行文件的路径下,执行protoc程序,可以将.proto文件转换为.h和.cc文件。
2024-02-01 12:00:24
565
原创 protobuf简介(一)
Protobuf是Protocol Buffers的简称,它是Google公司开发的一种数据描述语言,是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。protobuf是类似与json、xml一样的数据描述语言(数据格式)protobuf非常适合于RPC数据交换格式。
2024-01-30 11:10:15
305
原创 cannot open shared object file: No such file or directory
在一台Linux上编译库文件和执行文件后,放到另一台Linux机器上,执行报错,显示: cannot open shared object file: No such file or directory。首先确认执行文件(test)放在对应的环境变量bin和库文件(libtest.so)放在了对应的环境变量lib下。假设环境变量$(HOME)为 /root ,则执行文件(test)放在 /root/bin/目录下,库文件(libtest.so)放在 /root/lib/目录下。
2023-03-31 22:39:07
5823
原创 Qt之make: Nothing to be done for ‘first‘
Qt之make: Nothing to be done for ‘first‘的三种方法。
2023-01-17 17:00:47
1972
原创 C语言strstr()函数用法-字符串查找
strstr()函数是一个参数为两个字符指针类型,返回值是char*类型的函数。用于找到子串(str2)在一个字符串(str1)中第一次出现的位置(不包括str2的串结束符),并返回该位置的指针,如果找不到,返回空指针(NULL)。这里因为传进来的地址指向的内容不会在发生改变,所以我们在两个形参(char*)前加上const。它包含在string.h头文件中。
2023-01-04 18:47:50
23026
原创 memcpy与memmove函数的区别和实现
memcpy与memmove都是C语言的库函数,在头文件string.h中,作用是内存拷贝。唯一的区别是,当内存发生局部重叠时,memmove保证了拷贝的结果是正确的,但是memcopy不一定是正确的。但是memcpy比memmove速度快。destination即目标空间,即要复制到哪个空间source即源空间,即要被复制的内存空间num即要复制多少个字节的内容到destinationvoid*即返回目标空间。
2023-01-02 18:14:55
1761
原创 C++ string详解,C++字符串详解
string是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行string操作,也可以通过文件等手段进行string操作。同时,C++的算法库对string类也有着很好的支持,并且string类还和c语言的字符串之间有着良好的接口。使用 string 类需要包含头文件2.定义 string 变量string s1;//获取字符串长度return 0;}变量 s1 只是定义但没有初始化,编译器会将默认值赋给 s1,默认值是"",也即空字符串。
2023-01-02 12:41:10
3143
原创 C语言中printf的内容带有多个引号
{"HOST": "fes1", "TIME": "2022-10-12 15:50:01", "ALARM": "file故障"}输出这个内容时需要用到转义字符'\" ',增加了转义字符后,双引号就能正常输出了。\t 水平制表符。\" 插入双引号。\' 插入单引号。\\ 插入反斜杠。\v 垂直制表符。
2022-10-12 16:38:26
3638
原创 QtCreator 部分快捷键
编辑的时候前几个使用的频率特别高;调试的时候后几个使用的频率高,且调试的快捷键和VS类似。F1 查看帮助F2 跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2 声明和定义之间切换F4 头文件和源文件之间切换Ctrl+I 自动对齐Ctrl+/ 注释行,取消注释行Ctrl+F 查找替换当前选中的内容,按下Ctrl+F,会列出所有和你选的内容一样的语句Ctrl+1 ...
2022-03-20 10:35:02
389
原创 Linux修改系统日期和时间
1.进入root账户下。suroot 或 su root修改系统日期与时间date -s "2022-01-23 10:25:25"[root@localhost ~]# date2022年01月 22日 星期六 00:08:27 UTC[root@localhost ~]# date -s "2022-01-23 10:25:25"[root@localhost ~]# date2022年 01月 23日 星期日10:25:27 UTC最后输入 hwclock -.
2022-01-23 20:00:21
9365
原创 sizeof的使用与内存对齐
1.sizeof是一个单目运算符,不是一个函数。sizeof运算符是获取其操作数所占内存空间的字节数,sizeof的操作数可以是类型名,也可以是表达式。int a = 1; double b = 1.5; sizeof(int);//结果为4 sizeof(a);//结果为4 sizeof(a+b);//结果为8获取double 类型数组darray的元素个数:int count = sizeof(darray) /sizeof(double);计算字符串长度应该使用strlen函数
2022-01-01 22:05:20
995
原创 Linux常用命令
关机shutdown -h now 立刻关机shutdown -h 5 5分钟后关机poweroff 立刻关机重启shutdown -r now 立刻重启shutdown -r 5 5分钟后重启reboot 立刻重启。
2021-12-30 16:40:41
204
原创 tableWidget内容中的元素居中
将单个单元格的内容设置为居中ui.tableWidget->item(i,j)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);将部分行和列的单元格内容设置居中 for (int i=0;i<5;i++) { for (int j=0;j<8;j++) { ui->tableWidget->item(i,j)-&
2020-08-05 15:51:43
7788
原创 QDateEdit日历修改之QCalendarWidget 样式设置
1. QDateEdit控件显示日历,需要用下面的setCalendarPopup(true);ui.dateEdit->setCalendarPopup(true);2. 日历样式的修改需要用到QCalendarWidget控件。其样式的调整可以在QSS中调整。下面就图中的标记进行说明:1)左右两边的箭头,是用代码实现的。QToolButton*prevBtn...
2019-08-08 19:38:19
10089
8
原创 信号与槽函数
信号与槽机制(signal&slot)作为Qt最重要的特性,提供了任意两个Qt对象之间的通信机制。信号会在某个特定情况或动作下触发,槽是用于接收并处理信号的函数。信号和槽有如下三个连接方式:1.一个信号可以与另一个信号相连。也就是一个信号触发另一个信号发射。2.同一个信号可以与不同的多个槽函数相连。3.同一个槽函数也可以响应多个不同的信号。...
2018-06-26 16:40:42
2621
原创 指针和引用的区别
1.指针是变量的地址,引用是变量的别名。指针本身也是一个变量,指针的值是另一个变量的内存地址,指针指向这个变量,指针和指针指向的变量是两个不同的变量。引用是给变量起了一个别名,可以认为引用于原变量是同一个变量,只是这个变量有两个不同的名字。(1)sizeof运算符的意义不同,指针进行sizeof得到的是指针本身占用的空间,返回结果为4个字节;而引用进行sizeof得到的是原变量占用的空间,返回结果...
2018-06-13 14:17:22
385
原创 函数重载和函数覆盖的区别
1.函数重载是同一个类中的不同方法,函数覆盖是不同类中的同一方法;2.函数重载的参数列表不同,函数覆盖的参数列表相同;3.重载函数调用时根据参数类型选择方法,覆盖函数调用时根据对象类型选择方法。...
2018-05-26 10:31:15
798
原创 重载函数、覆盖函数的名字隐藏问题
所谓名字隐藏是指父类中有一组重载函数,子类在继承父类时如果覆盖了这组重载函数中的任意一个,则其余没有被覆盖的同名函数在子类中是不可见的。class Base{public: virtual void printf(int a){cout<<"Base print int"<<a<<endl;} virtual void printf(char a){c...
2018-05-26 08:48:49
115
原创 栈空间和堆空间的区别
在程序中,数据存储在不同的区段,通常将整个数据区分为四部分:栈存储区,堆存储区,全局及静态存储区,常量存储区。1.栈空间主要存储函数参数和局部变量。存储数据是先进后出,由编译器负责分配和释放回收。2.堆存储区主要存储动态分配的内存块,编译器不会自动处理,需要程序员负责分配和回收。有可能产生内存泄漏,在不断分配和释放空间的过程中,造成空间逐渐碎片化,每块可用空间都很小。3.全局及静态存储区主要存储全...
2018-05-23 16:52:12
1576
原创 main函数执行前后都发生了什么
1.main函数第一行代码执行之前会调用全局对象和静态对象的构造函数,初始化全局变量和静态变量。2.main函数最后一行代码执行之后会调用在atexit中注册的函数,并且调用顺序和注册顺序相反。...
2018-05-14 10:19:01
1789
原创 malloc/free与new/delete的区别
1.malloc/free是C语言提供的库函数,通过函数调用访问,需要传递参数并接收返回值;而new/delete是C++提供的运算符,有自己的一套语法规则和运算方式。2.malloc/free函数只能应用于基本类型,而new/delete不但可以应用于基本类型,还可以应用于面向对象中的自定义类型。3.malloc函数返回的是void* 类型,程序需要显示地转换成所需要的指针类型;new操作符后面...
2018-05-14 10:18:48
176
原创 C++寻找素数
C++寻找素数,下面代码是每行输出10个素数。计算100以内的素数。100也可以修改为任意数。int main(){ bool bflag = false; int inum = 0; for (int i = 2; i <= 10000; i++) { bflag = false; for (int j = 2; j < i; j++) { if (i%j...
2018-05-04 14:23:27
8470
原创 Qt界面关闭主窗口,若其Qdialog弹框没有关闭,程序无法退出
Qt界面关闭主窗口,若其Qdialog弹框没有关闭,程序无法退出需要在主窗口设置属性:Qt::WA_QuitOnClose将主窗口属性设置为:fm.setAttribute(Qt::WA_QuitOnClose,true);Qt::WA_QuitOnClose属性是使窗口如果是最后一个关闭的时候触发事件lastWindowClosed();然后主程序收到事件退出a.conne...
2018-03-14 16:46:45
5517
1
原创 QT加载jpg、jpeg、gif图片不可见问题解决
QT加载jpg图片、gif动图时,图片不可见问题是没有加载QT的图形库解决办法:1. 在Qt文件夹里有个plugins文件夹内,imageformats是图片的库,里面有jpg,gif等。2. 将qt文件夹中plugins文件夹拷贝到指定文件夹下:如E:\SVN\plugins3. 在程序主函数中指定该路径: int main(int argc, char *argv[]){
2017-09-18 14:08:01
5175
原创 qtabwidget表内容设置
1.qtabwidget表格整行选择设置:ui.tableView_grid->setSelectionBehavior(QAbstractItemView::SelectRows);2. qtabwidget表格设置只能选中一行:ui.tableView_grid->setSelectionMode(QAbstractItemView::SingleSelection);3. qtabw
2017-08-31 19:31:37
3919
原创 qtablewidget控件滚动条设置
qtablewidget控件的滚动条分为纵向滚动条设置和横向滚动条设置.纵向滚动条设置:ui.tableWidget_grid->verticalScrollBar()->setStyleSheet("QScrollBar{background-color:rgb(218,222,223); width:10px;}" "QScrollBar::handle{background-color:
2017-08-31 19:05:11
16307
5
原创 qtabwidget表头字体大小、字体颜色、背景颜色设置
如下是对tabwidget表头的设置。background-color是对表头背景颜色的设置。font是对字体大小,字体颜色,字体格式设置。ui.tableWidget_grid->horizontalHeader()->setStyleSheet("QHeaderView::section{background-color:rgb(40,143,218);font:13pt '宋体';col
2017-08-31 18:52:57
43832
8
原创 隐藏tabwidget 上的tab标签
隐藏tabwidget上的tab标签有如下两种方式。方式一是亲测可以实现的,方式二是在网上看的说可以实现。方式一:ui.tabWidget->findChildren().at(0)->hide(); 方式二:注方式二对qt的版本有要求,需要在5.0以上,在5.0以下的,tabBar()是受保护的,是protected的,不被外部调用。ui.tabWidget->tabBar(
2017-04-21 11:14:52
10672
世纪秒和日期时间转换工具
2024-01-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人