自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于FFmpeg 6.x与SDL2的音视频播放器开发全解析

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了丰富的命令行工具以及库函数,能够处理几乎所有常见的音视频格式,涵盖了编码、解码、复用、解复用、滤镜处理等多个方面的功能。在我们开发音视频播放器的过程中,主要利用其强大的解码能力,将各种格式的音视频文件中的原始数据提取出来,以便后续的播放处理。

2025-01-12 22:37:23 1391

原创 基于ffmpeg和sdl2的简单视频播放器制作

本文将简单探讨视频播放器的开发过程,通过一个完整的代码示例,带你领略从打开视频文件到播放视频画面的每一个关键步骤。通过本文的详细介绍和代码示例,我们深入了解了视频播放器的开发过程。从视频播放的基本原理,到使用FFmpeg库进行视频文件的解封装、解码,再到利用SDL库进行窗口创建、图形渲染和事件处理,每一个环节都紧密相扣,共同构成了一个完整的视频播放系统。然而,这只是一个简单的视频播放器示例,实际应用中的视频播放器还需要具备更多的功能和优化。

2025-01-06 22:13:50 1180

原创 FFmpeg音频解码详解

在当今数字化多媒体的时代,音频内容无处不在,无论是音乐播放、语音通话,还是影视制作中的音效处理,音频解码都起着至关重要的作用。它是将经过编码压缩的音频数据还原为可播放的原始音频信号的关键环节。今天,就让我们一同深入了解音频解码的核心世界,从基础概念到实际代码,一探究竟。FFmpeg 音频解码作为多媒体处理中的关键技术,通过本文的详细解读,能帮助读者更好地驾驭这一工具,在音频处理的世界里创造更多可能。

2024-12-22 23:08:35 1388

原创 FFmpeg第三话:FFmpeg 视频解码详解

在多媒体技术蓬勃发展的当下,视频处理已然成为众多领域不可或缺的关键环节。而 FFmpeg,这款开源、跨平台且功能强大到近乎“神器”级别的音视频处理库,始终站在行业的前沿,为视频解码、编码、转码、滤镜处理等一系列复杂操作提供坚实的技术支撑。今天,就让我们一同深入探寻 FFmpeg 视频解码的核心世界,从基础概念到实际代码,彻底揭开它神秘的面纱。视频解码基础概念:介绍视频存储与传输时会压缩,解码则是逆向还原为原始视频帧序列的过程,以常见编码标准举例说明了编码和解码的关键技术要点。

2024-12-21 22:54:32 1526 1

原创 FFmpeg第二话:FFmpeg 主要结构体剖析

嘿,各位小伙伴!在如今这个多媒体爆棚的时代,视频、音频那是五花八门,啥格式都有。而FFmpeg ,不管是给视频音频搞编解码,还是转码、加滤镜玩出各种花样,它都在行。不过呢,要想把 FFmpeg 这强大的本事给吃透,关键得弄懂它里面几个当家的结构体,这就好比你得摸清万能钥匙上那些齿痕到底是咋回事,有了这门道,才能真正解锁 FFmpeg 的魔法。今儿个,咱就一块儿来扒一扒这几个神秘又重要的结构体。

2024-12-19 23:30:37 1143

原创 FFmpeg第一话:FFmpeg 简介与环境搭建

在当今数字化多媒体蓬勃发展的时代,音频和视频内容充斥着我们生活的方方面面。从在线视频平台的海量影视资源,到社交媒体上的短视频分享,再到各种专业视频制作与编辑工作,多媒体处理技术变得愈发重要。而 FFmpeg 作为一款功能强大且开源的多媒体处理工具库,犹如一把万能钥匙,能够开启多媒体处理的各种可能性。无论是专业的软件开发人员,还是对多媒体处理感兴趣的爱好者,深入学习 FFmpeg 都将为他们在这个领域的探索和创新提供坚实的基础。

2024-12-15 19:30:54 2583

原创 QT:在线安装与离线安装

本文全面介绍了 QT 的安装方法,涵盖离线与在线两种模式。离线安装需提前从指定官网地址获取合适版本安装包,按步骤输入账号、选定路径及组件即可;在线安装则要先保障网络与账号就绪,从官网或镜像源下载安装器,再依不同操作系统特性完成一系列安装操作。两种方式各有优劣,离线安装适合网络不稳定环境,一次性下载安装包后可随时安装;在线安装能实时获取最新版本与组件更新,方便紧跟技术迭代,但受网络制约明显。开发者可权衡自身网络条件、版本及时性需求等因素,灵活选用 QT 安装方式,迈出 QT 学习与开发的坚实第一步。加油。

2024-12-13 23:00:52 4614 2

原创 OpenCV 图像变换与处理实战

图像变换与处理实战

2024-12-09 23:08:11 1351 1

原创 OpenCV 图像基本操作

关于图像的基本操作

2024-12-04 21:25:28 1089

原创 OpenCV 简介与环境搭建

OpenCV(Open Source Computer Vision Library)是一个广泛应用于计算机视觉领域的开源库,它为开发者提供了丰富的函数和工具,用于处理图像和视频数据,实现各种计算机视觉任务。计算机视觉简介计算机视觉是一门研究如何使计算机 “看” 懂图像和视频数据的学科。它涉及到多个领域的知识,包括图像处理、模式识别、机器学习、人工智能等。计算机视觉的目标是让计算机能够自动理解和分析视觉信息,例如识别图像中的物体、检测场景中的变化、理解视频中的行为等。应用领域:安防监控。

2024-12-02 22:38:54 997

原创 第五话:高级图形操作与优化

SDL2(Simple DirectMedia Layer 2)是一个跨平台的多媒体库。它提供了对音频、键盘、鼠标、游戏控制器和图形硬件(通过 OpenGL、Vulkan 等)的低级访问接口,主要用于开发游戏和其他交互式多媒体应用程序。本章介绍SDL的事件处理。通过深入学习和灵活运用这些高级图形操作和优化技巧,开发者能够在 SDL2 平台上创建出更加丰富多样、高质量且性能卓越的图形应用程序。无论是开发简单的 2D 游戏、精美的图形界面,还是复杂的动画演示,这些技术都将为开发者提供强大的支持和广阔的创意空间。

2024-11-16 23:26:10 807

原创 第四话: 纹理(Texture)和渲染器(Renderer)

SDL2(Simple DirectMedia Layer 2)是一个跨平台的多媒体库。它提供了对音频、键盘、鼠标、游戏控制器和图形硬件(通过 OpenGL、Vulkan 等)的低级访问接口,主要用于开发游戏和其他交互式多媒体应用程序。本章介绍SDL的事件处理。渲染器(Renderer)的创建与初始化函数详细解析函数原型参数含义window:指向要创建渲染器的SDL_Window对象的指针。这个窗口将与渲染器关联,渲染的结果将显示在这个窗口上。例如,在之前创建的窗口。

2024-11-04 21:22:40 2296

原创 第三话: 事件处理

SDL2(Simple DirectMedia Layer 2)是一个跨平台的多媒体库。它提供了对音频、键盘、鼠标、游戏控制器和图形硬件(通过 OpenGL、Vulkan 等)的低级访问接口,主要用于开发游戏和其他交互式多媒体应用程序。本章介绍SDL的事件处理。本章围绕 SDL2 事件处理展开。首先阐述了事件系统相关概念,包括事件队列。事件队列是先进先出结构,用户交互(如键盘、鼠标操作)和系统相关情况(如窗口状态改变)产生的事件按顺序存储其中,程序按此顺序获取处理,保证逻辑响应正确。

2024-11-02 15:13:55 718

原创 第二话: 窗口和表面(Surface)

SDL2(Simple DirectMedia Layer 2)是一个跨平台的多媒体库。它提供了对音频、键盘、鼠标、游戏控制器和图形硬件(通过 OpenGL、Vulkan 等)的低级访问接口,主要用于开发游戏和其他交互式多媒体应用程序。本章介绍创建窗口以及获取窗口表面信息。

2024-10-31 22:46:45 1337

原创 第一话: SDL2环境搭建与基础概念

SDL2(Simple DirectMedia Layer 2)是一个跨平台的多媒体库。它提供了对音频、键盘、鼠标、游戏控制器和图形硬件(通过 OpenGL、Vulkan 等)的低级访问接口,主要用于开发游戏和其他交互式多媒体应用程序。SDL2的历史与发展SDL(Simple DirectMedia Layer)最初是为了方便游戏开发而设计的跨平台多媒体库。它经历了多个版本的发展,SDL2在功能和性能上有了显著提升。

2024-10-30 22:32:56 1633

原创 简答剖析 UDP:从基础代码到高级封装与应用

在网络通信的世界里,UDP(User Datagram Protocol)作为一种重要的传输层协议,以其独特的无连接、高效的数据传输方式而备受关注。无论是在简单的局域网应用还是复杂的分布式系统中,UDP 都有着广泛的应用。本文将深入研究与 UDP 相关的代码,包括对其使用的 API 和结构体进行详细解读,阐述如何编写 UDP 客户端和服务器,以及如何将这些功能封装成类,以实现更灵活、可维护的网络应用程序。本文简单介绍 UDP,涵盖基础知识、代码实现与封装。阐述了如结构体、socketinet_pton。

2024-10-27 10:25:49 1039

原创 UDP协议学习

UDP(User Datagram Protocol,用户数据报协议)是一种无连接的、简单的传输层通信协议,它在IP协议(网络层)之上提供服务。UDP的主要特点是它不保证数据包的顺序、完整性或可靠性,因此它通常用于那些对实时性要求高但可以容忍一定数据丢失的应用场景,比如视频流、音频流、在线游戏等。UDP 的定义UDP 是一种位于传输层的无连接通信协议,它建立在 IP 协议(网络层)之上,为应用程序提供了一种简单而快速的数据传输方式。与 TCP 不同,UDP 不建立连接,直接将数据封装成数据包进行发送。

2024-10-24 21:58:15 979

原创 Makefile 编写简单教程

本教程将详细介绍 Makefile 的编写方法,包括基本概念、语法、变量、函数、规则以及复杂项目中的应用,并结合实际可执行的代码示例,帮助读者全面掌握 Makefile 的使用。简单赋值# 定义变量CC = gcc在简单赋值中,如果变量的值包含空格,必须使用引号将整个值括起来。追加赋值# 追加变量值追加赋值用于向现有变量添加值,+=操作符用于追加值而不替换现有值。条件赋值# 条件变量赋值endif条件赋值允许基于条件来设置变量的值。

2024-10-22 22:19:01 1571

原创 C++ 中构造函数与析构函数简单解析

在 C++ 的编程世界中,构造函数和析构函数如同建筑的基石和拆除工具,在对象的生命周期管理中起着至关重要的作用。在图像加载的工程场景中,不同类型的构造函数和析构函数可以帮助我们有效地管理图像资源,确保程序的正确性和性能。在现代软件开发中,尤其是涉及图形处理、多媒体等领域,高效地处理图像数据是至关重要的。C++ 作为一种强大的编程语言,提供了丰富的构造函数和析构函数机制,让我们能够灵活地创建、复制和销毁图像对象,从而更好地管理图像资源。

2024-10-20 22:31:21 963

空空如也

空空如也

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

TA关注的人

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