自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 收藏
  • 关注

原创 Pthon自学用教程

Python字符串Python数据类型内置数据类型在编程中,数据类型是一个重要的概念。变量可以存储不同类型的数据,不同类型可以做不同的事情。strintfloatcomplexlisttuplerangedictsetfrozensetboolbytesbytearraymemoryviewNoneType获取数据类型您可以使用以下type()函数获取任何对象的数据类型:x = 5设置数据类型强制类型转换Python 数字当你为数字类型的变量分配值时,就会创建它们:整数。

2024-07-26 16:33:58 943

原创 用网络编程完成windows和linux跨平台之间的通信(服务器)

windows上直接运行该文件即可打开服务器等待客户端的连接。

2024-07-07 03:20:25 477 1

原创 在windows和linux分别编译执行socket代码

test1.cpp用了好多文件句柄。

2024-07-06 18:10:04 239

原创 在Window下编辑Linux代码文件

3.以root运行putty控制台控制LINUX系统,并下载apt-get install samba,安装好了samba后进入配置文件进行配置接下来我们要建立的code文件夹的权限设置,输入vim /etc/samba/smb.conf 进入vim编辑页面,按i键进入编辑状态 编辑完后 按esc 键退出编辑状态,再输入:wq(如果在linux下使用vim则输入:q),退出vim界面,配置完成,杀死smbd进程在重新进入则完成配置,pkill smbd 杀死,在输入smbd启动进程。

2024-07-06 17:50:55 222

原创 第七章 函数——C++编程模块

来继续回答这个问题,答案是可以在文件中查找函数的定义,但是效率不高且还会有其他的问题,编译器在搜索文件剩余部分的时候将会停止堆main函数的编译,其他的问题指的是编译器要在这个文件中找到被调用函数的定义有时候是找不到的,我们知道C++程序有时候是由多个文件组成链接的,避免使用函数原型的唯一方法是,在首次调用函数之前定义它,但我们一般把main函数放在最前面然后调用函数,所以还是老老实实写函数原型吧,在文件开头就声明原型不也好让自己知道有什么函数么?不对,实时并非如此,arr实际上并不是数组,而是一个指针!

2024-06-28 04:00:18 1130 1

原创 两种方式渲染yuv数据,一种是直接拿到yuv数据和linesize进行渲染,一种是把yuv数据读取到avframe结构体中然后根据data和linesize数组分别对yuv三个平面进行渲染。

这两种方式在渲染 YUV 数据时各有优劣,具体取决于你的应用场景、代码结构以及性能要求。

2024-06-26 21:25:43 315

原创 多路h265监控录放开发-(15)回放页面中的三个槽函数进行视频的录放(0.1版本项目完结篇)

这个槽函数获取选中的摄像机的配置信息。构造摄像机视频文件存储路径。检查路径是否存在,并筛选出.mp4和.avi文件。清除日历控件中的日期。遍历筛选出的文件列表,提取文件名中的日期信息并转换为QDateTime对象。将日期添加到日历控件中,并将视频文件的信息保存到cam_videos映射中。重新显示日历控件,以反映更新后的日期。槽函数获取选定日期的视频文件数据列表。清空当前时间列表控件。遍历视频数据列表,为每个视频创建一个列表项,显示视频的时间信息。

2024-06-24 22:44:41 1974

原创 多路h265监控录放开发-(14)通过PaintCell自定义日历控件继承QCalendarWidget的XCalendar类

首先创建一个新类XCalendar继承QCalendarWidget类,然后在UI视图设计器中把日历提升为XCalendar,通过这个函数自己设置日历的样式。

2024-06-24 17:50:09 252

原创 多路h265监控录放开发-(13)完成回放界面并完成和预览界面间的切换

1.设置回放界面 ,新加一个widget到body上,与cam这个widget同级别添加预览和回放按钮的槽函数。

2024-06-23 23:22:30 188

原创 多路h265监控录放开发-(12)完成全部开始录制和全部停止录制代码

不用拖拽到 xcamerawidget视图上,右键然后点击“开始全部录制”,则三个摄像头同时开始一起录制并保存到对应其摄像头索引号的文件中。

2024-06-23 22:21:16 276

原创 多路h265监控录放开发-(11)定时录制视频并从关键帧开始录制

【代码】多路h265监控录放开发-(11)定时录制视频并从关键帧开始录制。

2024-06-23 00:04:02 283

原创 多路h265监控录放开发-(10)XCameraRecord类完成视频的录制

录制了两个视频在当前目录下。

2024-06-22 23:10:26 507

原创 多路h265监控录放开发-(9)通过拖拽到窗口完成渲染

【代码】多路h265监控录放开发-(9)通过拖拽到窗口完成渲染。

2024-06-22 22:25:40 269

原创 多路h265监控录放开发-(8)通过XCameraWIget类拖拽实现指定播放rtsp和窗口

首先修改xviewer的构造函数,把创建QWiget对象改为XCameraWiget对象,执行XCameraWiget类的构造函数。

2024-06-22 01:39:16 334

原创 多路h265监控录放开发-(8)完成摄像机管理的修改和删除功能

【代码】多路h265监控录放开发-(8)完成摄像机管理的修改和删除功能。

2024-06-22 01:01:58 210

原创 多路h265监控录放开发-(7)代码生成新增摄像机配置界面_并使用qss设置按钮样式

【代码】多路h265监控录放开发-(7)代码生成新增摄像机配置界面_并使用qss设置按钮样式。

2024-06-22 00:14:01 136

原创 多路h265监控录放开发-(6)完成相机配置读取和列表显示列表显示

【代码】多路h265监控录放开发-(6)完成相机配置读取和列表显示列表显示。

2024-06-21 21:42:31 376

原创 多路h265监控录放开发-(5)XCameraConfig持久化写入和读取文件中的摄像机配置

【代码】多路h265监控录放开发-(5)XCameraConfig持久化写入和读取文件中的摄像机配置。

2024-06-21 21:19:17 153

原创 多路h265监控录放开发-(4)完成摄像机管理的数据的增删改模型层代码(单例模式)

【代码】多路h265监控录放开发-(4)完成摄像机管理的数据的增删改模型层代码(单例模式)

2024-06-21 00:03:14 328

原创 多路h265监控录放开发-(3)右键菜单调整预览窗口数量1_4_9_16通过QGridLayout网格布局

【代码】多路h265监控录放开发-(3)右键菜单调整预览窗口数量1_4_9_16通过QGridLayout网格布局。

2024-06-20 01:00:16 229

原创 多路h265监控录放开发-(2)设计窗口和最大化恢复处理

xviewer.cpp中的构造函数。

2024-06-19 23:41:47 230

原创 多路h265监控录放开发-(1)建立head窗口并实现鼠标拖动整个窗口

结果表明我们可以进行移动窗口了。

2024-06-18 22:56:43 461

原创 封装音视频编解码和渲染的动态链接库编译和测试

生成了以下几个文件我们把生成的lib文件复制到lib文件夹中 其余三个文件不变动。

2024-06-18 20:18:21 269

原创 ffmpeg解封装rtsp并录制视频-(4)重新封装处理完成解封装录制视频

【代码】ffmpeg解封装rtsp并录制视频-(4)重新封装处理完成解封装录制视频。

2024-06-18 17:35:39 195

原创 ffmpeg解封装rtsp并录制视频-(3)完成对rtsp流通过责任链接收解封装AVPacket数据并解码视频再渲染视频

【代码】ffmpeg解封装rtsp并录制视频-(3)完成对rtsp流通过责任链接收解封装AVPacket数据并解码视频再渲染视频。

2024-06-18 17:28:50 415

原创 ffmpeg解封装rtsp并录制视频-(2)使用VLC模拟一个rtsp服务器并用ffmpeg解封装该rtsp流

准备好一个mp4文件,打开vlc软件- 选择“媒体”=》“流”- 添加一个mp4文件- 点击下方按钮选择“串流”- 下一步目标选择rtsp 点击“添加”- 端口默认8554- 路径设置 /test- 用另一个vlc打开串流播放。

2024-06-16 22:38:39 616

原创 ffmpeg解封装rtsp并录制视频-(1)解封装rtsp断网或摄像机重启后自动重连处理

【代码】ffmpeg解封装rtsp并录制视频-(1)解封装rtsp断网或摄像机重启后自动重连处理。

2024-06-16 21:43:57 417

原创 ffmpeg封装和解封装介绍-(10)综合完成视频重编码为h265,解封装解码编码再封装

由于代码太多我们只解析主函数,(其他封装函数见前面文章,同时用到了解码编码封装代码)。这段代码是程序的入口。它首先定义了程序的用法提示,并将其打印出来。然后,它检查命令行参数的数量是否正确,若不足三个参数,则程序退出。接着,它从命令行参数中获取输入文件和输出文件的路径。

2024-06-16 05:11:38 1147

原创 ffmpeg封装和解封装介绍-(9)根据输入时间参数和文件名调整截断时间

在属性的调试参数中我们我们默认v1080.mp4 test_out.mp4 10 20,四个参数,截断了一段十秒的视频。

2024-06-15 23:17:12 916

原创 ffmpeg封装和解封装介绍-(8)解封装和封装重构

重新生成了一个名字为test_mux.mp4文件。

2024-06-15 16:43:53 432

原创 ffmpeg封装和解封装介绍-(7)截断视频关键代码解析

这段代码的目的是从一个媒体文件中截取10秒到20秒之间的音频和视频数据。具体来说,它将找到第10秒和第20秒的PTS(Presentation Timestamp)值,然后将媒体文件的读位置移动到第10秒附近的关键帧位置,以便从该位置开始读取数据。首先,定义了一些变量来存储开始和结束的时间(秒)以及对应的PTS值。begin_pts和end_pts用于视频的PTS值,而用于音频的开始PTS值。其time_base的num(分子)大于0。time_base是FFmpeg中用来表示时间基准的结构体。

2024-06-14 20:02:27 552

原创 ffmpeg封装和解封装介绍-(6)完成重封装mp4文件并截断10s~20s的视频并生成10s视频文件

成功生产力另一个mp4文件,内容为我们重新封装的音视频流,和解封装之前的视频一样。

2024-06-14 20:02:10 496

原创 ffmpeg封装和解封装介绍-(5)解封装常用接口函数

是 FFmpeg 库中的一个函数,用于打开一个输入文件并初始化格式上下文。该函数会根据文件头信息自动检测输入文件的格式,并准备好读取操作。

2024-06-14 20:02:00 1722

原创 ffmpeg封装和解封装介绍-(4)解封装出数据并渲染

封装好的函数在前面文章里有。

2024-06-12 21:07:08 161

原创 ffmpeg封装和解封装介绍-(3)解封装出数据并区分音频流视频流

【代码】ffmpeg封装和解封装介绍-(3)解封装出数据并区分音频流视频流。

2024-06-11 23:56:59 192

原创 ffmpeg封装和解封装介绍-(2)解封装流程和常用接口详解

常用字段iformatnb_streamsstreamsAVStream**AVStreamfilenamechar[1024]start_timeint64_tdurationint64_tbit_rateint64_tmetadata。

2024-06-11 23:54:29 1091

转载 ffmpeg封装和解封装介绍-(1)MP4封装格式详解

参考:MP4视频格式解析_mp4格式解析-CSDN博客

2024-06-11 17:23:47 77

原创 ffmpeg视频解码原理和实战-(6)编码解码封装共同继承基类XCodec类,抽象出共同行为

【代码】ffmpeg视频解码原理和实战-(6)编码解码封装共同继承基类XCodec类,抽象出共同行为。

2024-06-10 07:49:31 240

原创 ffmpeg视频解码原理和实战-(5)硬件加速解码后进行渲染并输出帧率

【代码】ffmpeg视频解码原理和实战-(5)硬件加速解码后进行渲染并输出帧率。

2024-06-10 06:23:57 502

原创 ffmpeg视频解码原理和实战-(4)硬件加速解码并每秒打印帧率

【代码】ffmpeg视频解码原理和实战-(4)硬件加速解码并每秒打印帧率。

2024-06-07 15:32:14 185

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除