自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 代理模式(Proxy)

代理模式是一种结构型设计模式,其主要目的是为其他对象提供一种代理,以控制对这些对象的访问。代理对象可以充当原始对象的包装器,将请求转发到原始对象,并且可以在转发请求之前或之后执行一些额外的操作。远程代理:用于在不同地址空间中的两个对象之间通信,将请求发送到远程对象。虚拟代理:用于延迟加载,即在需要时加载资源。保护代理:用于控制对对象的访问权限,例如,只有特定用户才能访问某个对象。缓存代理:用于缓存对象的访问结果,以避免重复执行计算密集型操作。实现代理模式可以使用抽象类和接口来定义代理和原始对象之间的。

2024-04-20 00:12:09 486

原创 外观模式(Facade)

隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。属于结构型模式。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。

2024-04-20 00:10:36 187

原创 组合模式(Composite)

对于树形结构,当容器对象(如文件夹)的某一个方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员对象(可以是容器对象,也可以是叶子对象,如子文件夹和文件)并调用执行。(递归调用)由于容器对象和叶子对象在功能上的区别,在使用这些对象的客户端代码中必须有区别地对待容器对象和叶子对象,而实际上大多数情况下客户端希望一致地处理它们,因为对于这些对象的区别对待将会使得程序非常复杂。

2024-04-20 00:06:42 375

原创 组合模式(Composite)

对于树形结构,当容器对象(如文件夹)的某一个方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员对象(可以是容器对象,也可以是叶子对象,如子文件夹和文件)并调用执行。(递归调用)由于容器对象和叶子对象在功能上的区别,在使用这些对象的客户端代码中必须有区别地对待容器对象和叶子对象,而实际上大多数情况下客户端希望一致地处理它们,因为对于这些对象的区别对待将会使得程序非常复杂。

2024-04-20 00:05:32 310

原创 适配器模式(Adapter)

* 适配器模式**是一种结构型设计模式, 它能将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。根据适配器类与适配者类的关系不同,适配器模式可分为对象适配器和类适配器两种,在对象适配器模式中,适配器与适配者之间是关联关系;在类适配器模式中,适配器与适配者之间是继承(或实现)关系。他和装饰器模式一样可以动态扩展一些遗留或者不好改动的代码。

2024-04-20 00:03:08 259

原创 桥接模式(Bridge)

该类持有一个对实现角色的引用以维护该对象,抽象角色中的方法需要实现角色来实现。抽象角色一般为抽象类(构造函数规定子类要传入一个实现角色)

2024-04-20 00:02:13 299

原创 原型模式(Prototype)

用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象,简单理解就是“**克隆指定对象**”。

2024-04-20 00:01:09 165

原创 建造者模式(builder)

当构建一个复杂对象时,将构建过程与表示分离。使得同样的过程创建不同的对象。生成器与其他创建型模式不同, 生成器不要求产品拥有通用接口。这使得用相同的创建过程生成不同的产品成为可能。生成器方法通常支持方法链 (例如 someBuilder->setValueA(1)->setValueB(2)->create() ),来组成复杂的对象。相比于工厂模式专门用于生产一系列相关对象而言,生成器重点关注如何分步生成复杂对象。这也是我们常用创建模式的最后一节,后续将会带来结构模式的讲解。生成器。

2024-04-20 00:00:34 172

原创 建造者模式(builder)

当构建一个复杂对象时,将构建过程与表示分离。使得同样的过程创建不同的对象。生成器与其他创建型模式不同, 生成器不要求产品拥有通用接口。这使得用相同的创建过程生成不同的产品成为可能。生成器方法通常支持方法链 (例如 someBuilder->setValueA(1)->setValueB(2)->create() ),来组成复杂的对象。相比于工厂模式专门用于生产一系列相关对象而言,生成器重点关注如何分步生成复杂对象。这也是我们常用创建模式的最后一节,后续将会带来结构模式的讲解。生成器。

2024-04-19 23:47:24 101

原创 单例模式(Singleton)

有时候我们在面对通用代码时候,经常会尝试着创建多个示例函数来对一个函数多次赋值,这样会损耗很多的内存空间,这对于代码来说是不利的。而单例模式可以很好的解决这个问题。但是实现一个实用的单例模式来说,这个并不容易。一般采用饿汉式,若对资源十分在意可以采用静态内部类,不建议采用懒汉式及双重检测。

2024-04-19 23:46:30 441

原创 抽象工厂模式(AbstractFactory)

工厂模式不管工厂怎么拆分抽象,都只是针对一类产品,如果需要多种产品,那就需要使用抽象工厂模式。抽象工厂模式通过在AbstarctFactory中增加创建产品的接口,并在具体子工厂中实现新加产品的创建,当然前提是子工厂支持生产该产品。否则继承的这个接口可以什么也不干。<br />!

2024-04-19 23:45:13 78

原创 工厂模式(Factory)

工厂方法模式抽象出了工厂类,并把具体产品对象的创建放到具体工厂类实现。实现了一个工厂生产一类产品,不需要修改工厂类,只需要增加新的具体工厂类即可。每新增一个产品,就需要增加一个对应的产品的具体工厂类。:工厂模式的核心类,会定义一个用于创建指定的具体实例对象的接口。:核心类,提供创建具体产品的接口,由具体工厂类实现。扩展性非常差,新增产品的时候,需要去修改工厂类。:继承于抽象工厂,实现创建对应具体产品对象的方式。:工厂类所创建的对象就是此具体产品实例。:具体工厂所创建的对象,就是此类。

2024-04-19 23:43:13 144

原创 高级工厂模式

主函数调用,可动态扩展调用方法。

2024-04-19 23:38:23 56

原创 泛型编程简介

泛型编程是一种使用模板来编写代码的方法,可以让程序员编写与具体数据类型无关的代码。

2024-04-19 23:31:26 528

原创 Python基础

python是一种面向对象的,解释型的计算机语言,它的特点是语法简介,优雅,简单易学。

2024-04-19 23:15:30 70

原创 AVFormatext编解码层

文章目录前言FFMPEG解码流程FFMPEG转码流程编解码API详解解码API使用详解编码API使用详解代码示例编码示例解码示例前言AVFormatContext 是一个贯穿始终的数据结构,很多函数都用到它作为参数,是输入输出相关信息的一个容器,本文讲解 AVFormatContext 的编解码层,主要包括三大数据结构:AVStream,AVCodecContex,AVCodec。FFMPEG解码流程得到输入文件 -> 解封格式 -> 得到编码的数据包 -> 解码数据包 -&g

2024-04-19 14:06:06 646

原创 AVFormatContext封装层

AVFormatContext 是一个贯穿始终的数据结构,很多函数都用到它作为参数,是输入输出相关信息的一个容器,本文讲解 AVFormatContext 的封装层,主要包括两大数据结构:AVInputFormat,AVOutputFormat。封装格式(container format)可以看作是编码流(音频流、视频流等)数据的一层外壳,将编码后的数据存储于此封装格式的文件之内。封装又称容器,容器的称法更为形象,所谓容器,就是存放内容的器具,例如饮料是内容,那么装饮料的瓶子就是容器。文件扩展名。

2024-04-19 14:04:24 665

原创 AVFormatContext协议层

AVFormatContext是统领全局的基本结构体。主要用于处理封装和解封装,并可以从设备中采集数据。该结构必须通过avformat_alloc_context函数进行初始化。AVFormatContext包含协议层,封装层,编解码层FFmpeg源码分析:AVFormatContext结构体-CSDN博客本次实战的目的与实战 1 的目的一致,均是分析输入文件的流数量,只不过本次实战重点突出使用我们自定义的 AVIO 来打开文件。

2024-04-19 14:02:41 506

原创 FFMPEG框架结构

用于创建AVFormatContext对象:打开视频输入文件:获取视频文件信息:查找解码器:打开编解码器:从输入文件读取一帧压缩数据:解码一帧视频数据:解码一帧音频数据:关闭解码器:发送待解码的数据包:接收解码后的帧封装格式上下文结构体,也是统领全局的结构体,保存了视频文件封装格式相关信息。1、: 负责申请一个AVFormatContext结构的内存,并进行简单初始化。2、: 释放该结构里的所有东西以及该结构本身。3、: 关闭解复用器。

2024-04-19 13:57:40 578

原创 FFMPEG开发环境搭建

FFMPEG搭建VS和QT的开发环境

2024-04-19 13:44:38 571

原创 YUV详解

在计算机系统中应用尤为广泛,利用 YUV 色彩编码模型可以降低图片数据的内存占用,提高数据处理效率。

2024-04-19 11:26:12 903

原创 音视频开发常用工具

针对音视频日常开发工作需要,给大家分享一些音视频分析工具,这些工具在我们平时开发过程中经常会用到,非常有帮助!

2024-04-19 11:10:43 385

原创 音频基础知识

介绍音频基础原理,帮助构建音频的知识图谱!

2024-04-19 10:52:17 374

原创 2020-12-23

ONVIF之RTP学习作者:Jesse时间:2020/12/18一. RTP数据帧格式及解析1.1 RTP数据帧wireshark截图说明:代码说明for (offset_sync = 0; offset_sync < ret - 5; offset_sync++) { if ((data[offset_sync] == 0x24) // $ = 0x24 && ((data[offset_sync ...

2020-12-23 16:20:42 244

原创 报道

<br />刚来的新人,,喜欢交朋友,,,希望喜欢linux和嵌入式的朋友能多多赐教!

2011-03-13 13:14:00 194

ONVIF2.0协议中文珍藏版

想要系统、全面的了解ONVIF的各个模块,可以阅读网上盛传的《ONVIF2.0协议珍藏版》,接口包括功能如:设备管理、实时的音视频流、事件处理,PTZ控制(云台全方位(上下、左右)移动及镜头变倍、变焦控制),视频分析及控制,搜索与回放。ONVIF规范不仅具有设备的发现,配置和控制功能,而且在IP网络方面,ONVIF也为媒体和元数据流定义了严格的格式,此外,还在ONVIF中对规范做了一定的扩展,为了就是让制造商给客户提供一个完整的网络视频传输解决方案。

2022-09-30

hi3531Dv100编解码资料

Hi3531DV100 H.265编解码处理器用户指南

2020-12-23

hisi3535中文资料

hisi3535学习资料完整版本,最新版本学习资料

2015-04-17

空空如也

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

TA关注的人

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