极简版QQ演示
容灾 进程只能被9杀死,杀死后马上重启 聊天 注册+聊天 上线接收离线的消息 上传下载文件 上传文件 下载文件 将本地的两个mp4传到云端后,一个保留视频、一个保留音频、并剪切指定的时间范围、后自动传到本地 video1是《愚人的国度》、video2是《再见杰克》,保留video1的视频和video2的音频,并将视频剪切1~60秒的内容 根据ffp…
3、音视频模块
这个就是之前写的极简小咖秀 给上下文oFmtCtx创建两路流,视频流和音频流。剪切时先将帧跳转到起始点,再将两个流的时间戳更改。 #include <stdio.h> #include <stdlib.h> #include <libavutil/log.h> #include <libavutil/tim…
2、上传下载文件
包括基本通信方式、如何解决粘包分包、如何传文件、如何记录批量传输的文件、如何批量传文件、如何应对服务端断连。 1、tcp基本通信方式 服务端:创建socket、bind、listen、accept、recv、send 客户端:创建socket、 connect、send、recv send如果发送缓冲区已满,会阻塞 recv接收缓冲区中没有数据可用…
1、MySQL线程池
有两个类,MySQL 和 ConnectionPool。MySQL负责封装mysql提供的接口,ConnectionPool负责管理连接。 1、两个类 MySQL类如下,这个还好,就是对原api的封装: // 数据库操作类 class MySQL { public: //初始化数据库连接 MySQL(); //释放数据库连接资源 ~MySQL();…
3、FFmpeg编解码
1、视频编码 环境配了半天(下午到晚上)。具体怎么配好我也不记得了,,就一通乱下 下载x264后要重新编译ffmpeg ./configure --enable-shared --enable-libx264 --enable-gpl --enable-pthreads #include <libavutil/log.h> #inclu…
2、FFmpeg多媒体文件处理
1、FFmpeg日志的使用及目录操作 1.1、日志 日志级别:ERROR > WARNING > INFO > DEBUG 使用下log: #include <stdio.h> #include <libavutil/log.h> // 引入头文件 int main(int argc, char* argv…
1、FFmpeg常用命令
1、安装ffmpeg 1.1、centos安装 git clone https://git.ffmpeg.org/ffmpeg.git cd ffmpeg su yum install gcc gcc-c++ make nasm pkgconfig yum install zlib-devel freetype-devel libjpeg-turb…
柔性数组
项目里遇到的,结构体里面的最后一个变量是长度为 0 的数组。在这个项目里面用于组包。 柔性数组的特点: 1、柔性数组成员必须定义在结构体里面且为最后元素 2、结构体中不能单独只有柔性数组成员 3、柔性数组不占结构体的内存 这个项目里面的包拆解如下图所示 有两处用到了柔性数组,有一个坑点就是柔性数组不占结构体的内存,所以 malloc 的时候需要多申…
Tcp抓包
1、使用tcpdump 和 Wireshark 先输入 tcpdump -i eth0 icmp and host 183.232.231.174 -w ping.pcap 再在另一个命令框输入 ping -I eth0 -c 3 183.232.231.174 再在读取的界面ctrl c结束,不能是ctrl z,得到文件 ping.pcap 然后…
反向登录
1、为什么要反向登录 使外网能够访问内网。同时内网都是通过跳板机进行信息交互,也方便了后续的管理。 2、反向登录是什么 可以先看下这个视频:https://www.bilibili.com/video/BV1C7411P7Er 远程端口转发的命令如下: 本地端口转发的命令如下: 3、具体使用 分三个步骤,分别是:私网连接云服务器、外网连接云服务器、…