- 博客(472)
- 资源 (46)
- 收藏
- 关注
原创 Qt实现桌面画线、标记,流畅绘制,支持鼠标和多点触控绘制
经常会在网上直播讲课或者点评中看到可以在课件上或者桌面上进行画线标记划重点,其实实现并不难,原理就是在桌面上盖一个透明图层,然后根据鼠标点绘制曲线。今天分享如何通过Qt的QGraphics体系来实现这个功能,以前的文章已经介绍过使用Qt进行曲线绘制及相关原理,所以这里就不再重复了,直接讲关键部分代码。
2022-10-26 22:30:57
5933
原创 git 常用操作
在当前分支上新建本地分支git checkout -b branch_new删除本地分支git branch -d branch_new将本地分支上传到远程分支并建立连接(建立连接后才能在本地提交今后的变更)git push origin develop:developgit branch --set-upstream-to=orgin/develop删除远程分支git push --delete origin dev修改远程分支名称git branch -m branch_ol
2021-07-05 14:57:49
1081
原创 Qt 实现钢笔画线效果详细原理
前言上一篇文章:Qt 实现画线笔锋效果详细原理,根据这篇介绍的实现笔锋效果的原理,我们很容易实现另外一种笔效:钢笔。所谓的钢笔笔效,就是真实还原钢笔书写出来的线条效果,其特征就是:根据笔的绘制速度而线条的宽度会逐渐变化,写得越快,线条越细,并且在收笔时带有笔锋效果。那么,在上一篇文章的基础上,稍微修改一下,就可以实现这个效果,看下效果图:实现原理从上一篇文章我们知道,绘制的曲线是通......
2020-02-16 13:08:58
4469
3
原创 Qt鼠标拖动绘制基本几何图形
用Qt鼠标事件实现基本几何图形的绘制,支持直线、矩形、圆形、椭圆。后期可以在此基础上进行扩展。本文Demo下载地址。
2019-06-27 18:58:08
14429
31
原创 Qt 鼠标/触屏绘制平滑曲线,支持矢量/非矢量方式
前言Qt通过鼠标或者触屏,实时绘制平滑曲线,通常有两种方式实现:矢量绘图和非矢量绘图,这两种画线方式从实现上有些不同,其原理也不太一样,稍后会做详细介绍。而鼠标或者触屏画线也不大一样,通常如果只实现鼠标画线的话,那么只需要重新实现鼠标事件即可(mousePressEvent、mouseMoveEvent、mouseReleaseEvent),而要在触控屏上画线,如果需要支持多点画线的话,就必须处......
2019-06-26 20:05:39
6672
18
原创 语音伪造全景:类型、模型、应用与鉴别指南
面向产品、风控、媒体与技术团队的入门和进阶读物更新日期:2026 年 7 月 29 日。文中产品能力以公开资料为准;模型、价格、许可和可用区域变化很快,落地前应再次核验。一段听起来像真人的语音,不再天然等于“真人亲口说过”。今天的合成系统已经可以根据一段文本生成富有停顿、情绪和口音的旁白;也可以从一小段授权参考音频中提取音色,在另一种语言中说出此前从未说过的话;还可以把某人的真实讲话转换成另一位说话人的声音。
2026-07-29 14:49:47
323
原创 【Qt for Harmony】 Qt 5.12.12 鸿蒙版 Windows 交叉编译
本文记录了在Windows 11环境下使用MinGW gcc 8.1.0作为主机编译器、OHOS Clang 15作为目标编译器,交叉编译Qt 5.12.12分支以适配鸿蒙系统(aarch64-linux-ohos)的完整过程。文章详细解析了交叉编译架构,包括主机工具链与目标工具链的区分,Qt配置中-platform与-xplatform参数的作用,以及ohos-clang mkspec的关键配置。重点总结了编译过程中遇到的8个典型问题及解决方案,特别是由于Unix风格Makefile在Windows环境下
2026-07-28 13:15:00
322
原创 【音频基础学习】第 14 天,做一次完整复盘
本文系统梳理了数字音频处理的全链路知识体系,将14天的学习内容整合为一张完整认知地图。核心要点包括:1)声音从模拟信号到PCM数字表示的转换过程(采样率/位深/声道);2)WAV文件与PCM的关系;3)Frame在多声道处理中的关键作用;4)时域波形与频域频谱的互补分析方法;5)音频处理功能的完整实现流程;6)常见认知误区解析。文章强调建立层次化思维框架,为后续工程实现和算法学习奠定基础,最后通过8个自检问题巩固核心概念理解。
2026-07-27 14:00:00
189
原创 【音频基础学习】第 13 天,把概念映射到工程代码
前 12 天你已经学了很多音频概念。把概念映射到代码里。sampleRatechannelsPCM bufferPeakRMSexport这些不是孤立字段,而是前面所有概念在工程里的落点。sampleRate对应每秒 frame 数channels决定每 frame 有多少 sample决定每个 sample 的字节数和范围PCM buffer 必须配合格式信息解释多声道处理应围绕 framePeak/RMS 要先正确读取 sample。
2026-07-26 14:00:00
338
原创 【音频基础学习】第 12 天,建立常见处理器的概念框架
本文介绍了音频处理中的常见工具(EQ、压缩器、降噪等)的基本概念与应用框架。主要内容包括:EQ通过调整不同频段增益改变音色,压缩器通过控制动态范围稳定电平,降噪处理各类噪声但会带来副作用。重点阐述了各处理器的核心参数、适用场景及使用注意事项,强调处理顺序的重要性。文章旨在帮助读者建立概念框架,理解不同处理器的功能边界和相互关系,为后续深入学习音频处理技术奠定基础。通过理论讲解与练习建议,引导读者在实践中掌握音频处理的基本原理。
2026-07-25 13:45:00
180
原创 【音频基础学习】第 11 天,理解重采样和格式转换
这篇文章系统介绍了音频格式转换的核心概念,主要包括: 重采样(Resample)的原理与误区 不是简单删点或补点 需要插值、滤波和精确计算 需注意混叠和低通滤波 位深转换的本质 高位深转低位深产生量化误差 Dither的作用与原理 低位深转高位深不会提高质量 声道转换的注意事项 单声道与立体声转换方法 相位和峰值问题 编码转换的三种类型 规格转换 编码转换 封装转换 常见误区 有损转无损不能恢复质量 采样率/位深的提升不等于质量提升 文章通过清晰的框架和实例,帮助读者理解音频转换的核心原理与实际应用中的注意
2026-07-24 13:00:00
337
原创 【音频基础学习】第 10 天,学习最基础的音频处理
这篇文章介绍了音频处理中的5种基础操作:裁剪、拼接、淡入淡出、归一化和静音检测。主要内容包括: 裁剪音频需按frame边界操作,避免破坏多声道数据结构和产生点击声。 拼接音频可能导致爆音,可通过淡入淡出或交叉淡化解决。 淡入淡出是通过随时间变化的增益系数实现的,有线性、等功率等不同曲线。 归一化是统一调整音频电平,但峰值归一化不等于响度统一。 静音检测需要设置阈值和持续时间参数,不能简单判断采样值是否为0。 这些操作有些会修改PCM数据(如裁剪、淡化),有些只是分析(如静音检测)。文章还指出了常见误区,如认
2026-07-23 13:30:00
320
原创 【音频基础学习】第 9 天,理解 FFT 的作用
本文介绍了FFT(快速傅里叶变换)在音频分析中的核心作用。FFT将时域信号转换为频域信息,通过分析一小段音频窗口(如1024/2048个采样点)来计算频率分布。文章解释了关键概念:窗口长度影响时间与频率分辨率(长窗口频率更精确但时间模糊,短窗口反之);频率分辨率=采样率/FFT点数;窗函数(如Hann)用于减少边界突变导致的频谱泄漏。此外还澄清了常见误区,如FFT并非绝对精确、点数需权衡分辨率与计算成本等。最后说明声谱图即连续FFT结果的时空排列,为后续实际音频处理打下基础。
2026-07-22 13:00:00
214
原创 【音频基础学习】第 8 天,进入频域基础
摘要 本文介绍了音频分析中的频域概念,是时域观察的补充视角。频域关注声音的频率成分组成而非时间变化,通过频谱图可分析基频、谐波、噪声分布等特性。文章解释了正弦波作为基础元素的意义,基频与谐波对音色的影响,噪声的频域特征,以及频谱图与声谱图的解读方法。同时强调了时域和频域分析的互补性:波形适合时间定位,频谱擅长频率分析。最后指出频域在EQ、滤波、降噪等音频处理中的实际应用价值,并为后续学习FFT技术打下基础。
2026-07-21 14:00:00
321
原创 【音频基础学习】第 7 天,认识常见音频格式
摘要 本文从音频工程角度解析常见音频格式的核心概念,重点区分编码与封装、有损与无损压缩的本质差异。WAV作为PCM数据的常见封装格式,适合原始音频处理但体积较大;MP3/AAC采用有损压缩,牺牲音质换取小体积,适合分发;FLAC实现无损压缩,平衡质量与体积。文章澄清了"MP3转WAV恢复音质"等常见误区,强调音频处理链路应优先使用WAV/无损格式避免质量损失,并解释了码率、封装格式等关键参数的实际意义。通过建立这些基础概念框架,读者能更准确地选择格式方案并理解音频处理流程。
2026-07-20 13:30:00
381
原创 【音频基础学习】第 5 天,理解音量、增益和分贝
第 4 天你学会了看波形,知道波形的高低和振幅有关。但真正进入音频工程后,只说“波形大一点”“声音小一点”是不够的。音频里的大小到底怎么描述、怎么计算、怎么避免放大后失真。音量增益Gain分贝dB数字满刻度dBFS峰值Peak均方根RMS这些概念会在归一化、动态范围控制、响度分析、削波检测、导出电平控制中反复出现。学好这一天,后面很多处理功能会更容易理解。增益Gain对音频信号整体放大或缩小的比例。gain = 0.5:振幅变成一半gain = 1.0:保持不变gain = 2.0:振幅变成两倍。
2026-07-18 13:45:00
264
原创 【音频基础学习】第 4 天,学会看波形
这篇文章介绍了波形图在音频处理中的基础应用。主要内容包括:波形图的横轴表示时间,纵轴表示振幅;中心线代表0振幅位置;静音段表现为接近中心线的平直线;爆点显示为短促尖峰;削波表现为顶部/底部被切平。文章强调峰值高不一定代表响度大,波形图是时域工具而非频域分析工具,并指出初学者常见的误解。最后提供了观察人声、音乐和环境音的实践练习,帮助建立波形与听感的关联。
2026-07-17 13:30:00
215
原创 【音频基础学习】第 3 天,理解声道和帧
本文讲解了音频工程中的关键概念:声道(channel)、采样值(sample)和帧(frame)。声道指独立的声音信号路径,单声道只有一路信号,立体声有两路(左右声道),多声道则更多。采样值是某个声道在特定时刻的采样数据,而帧则是同一时刻所有声道采样值的组合。文章重点区分了交错排列(interleaved)和平面排列(planar)两种PCM数据组织方式,强调多声道处理必须按帧边界操作,否则会导致声道错位或数据错误。最后提供了计算帧字节大小和时间位置转换为帧位置的方法。这些概念对正确理解和处理音频数据至关重
2026-07-16 13:15:00
468
原创 【音频基础学习】第 2 天,理解数字音频如何表示声音
这篇文章从零基础讲解了数字音频的核心概念。首先解释了模拟信号(连续变化)与数字信号(离散数值)的区别,指出计算机必须将声音数字化才能处理。核心概念包括:采样(定期记录声音瞬时值)、采样率(每秒采样次数,如44.1kHz)、位深(每个采样值的精度,如16-bit),以及量化(将连续振幅映射到有限数值)。文章用拍照类比采样,用刻度尺比喻量化,强调采样率决定时间精度、位深决定振幅精度。最后指出数字音频存储的是离散采样点,播放时才还原为连续波形。
2026-07-15 13:15:00
662
原创 【音频基础学习】第 6 天,理解削波和动态范围
这篇文章摘要: 音频处理中的关键概念包括削波、动态范围、噪声底和余量。削波是信号超过系统范围被截断的现象,数字削波会导致波形失真且无法通过降低音量修复。动态范围指最小到最大可用声音的范围,由噪声底和最大电平决定。录音时应避免信号接近上限(0 dBFS),需保留余量以防突发峰值。位深(16-bit/24-bit)影响动态范围,24-bit在制作阶段提供更大余量。不同应用场景对动态范围有不同需求,需平衡信噪比和失真风险。正确理解这些概念对录音、混音和导出至关重要。
2026-07-14 17:41:31
15
原创 【音频基础学习】第 1 天,先理解声音本身
摘要 声音本质上是一种振动,通过介质(如空气)传播,引起人耳鼓膜振动后被感知。理解声音需掌握三个关键概念: 频率(Hz):决定音高,频率越高音调越尖,如鸟叫;频率越低音调越沉,如雷声。 振幅:决定声音强弱,振幅越大响度越高,但响度还受频率和持续时间影响。 波形:决定音色,不同振动形状(如正弦波、方波)使相同音高的钢琴和小提琴声音截然不同。 频率、振幅和波形分别对应音高、响度和音色,是理解数字音频(如采样、PCM)的基础。
2026-07-14 15:44:51
387
原创 QML 实现好看的时钟卡片
本文介绍了一个用QML实现的精美动态时钟效果。时钟中心显示hh:mm时间,外圈由120个刻度组成,小黑点秒针绕圈运动并触发外圈凸起动画。实现关键点包括:1) 使用16ms定时器实现秒针平滑移动;2) 通过Canvas绘制动态圆环和刻度;3) 使用高斯函数计算当前秒针位置对周围刻度的影响,实现果冻般的凸起效果。文章提供了基础版代码,并说明增强版通过增加高光、阴影和渐变等细节提升"苹果风"质感。核心思路是将几何计算与材质渲染结合,创造流畅的视觉体验。
2026-07-13 13:30:00
384
原创 Qt + FFmpeg 实战:视频片段精准截取功能实现
本文介绍了如何在Qt和FFmpeg中实现视频片段的精准截取功能,相比之前的快速裁剪方法,该方法通过解码、按帧裁剪和重新编码的流程,实现了毫秒级精度的视频截取。文章详细阐述了功能流程、页面入口设计以及导出封装实现,重点说明了精准截取与快速裁剪的区别,包括核心策略、精度差异和处理流程等。该功能通过VideoClipProcessor::trimReencode()方法实现,支持视频按帧精度、音频按采样点精度进行裁剪,最终生成新的视频文件而不修改原始文件。
2026-07-12 13:15:00
481
原创 Qt + FFmpeg 视频工具:视频一键压缩功能实现
视频压缩技术概述 本文介绍了针对非专业用户设计的视频一键压缩功能,通过三个预设模式简化视频压缩流程: 技术方案:采用FFmpeg转码管线,底层实现H.264重编码和MP4封装,上层通过工具类封装复杂参数,提供"清晰优先/平衡/小体积"三种预设模式(CRF值分别为18/23/28) 核心算法:使用CRF恒定质量因子控制画质与体积平衡,实现自动分辨率缩放与偶数对齐处理,并通过AudioFIFO+SwrContext技术确保音频格式兼容性 实测效果:原始298MB视频经压缩后,三种模式分别输出151MB/52.8
2026-07-11 19:00:00
686
原创 Qt + FFmpeg 视频工具:视频容器转换(Remux)功能实现
本文介绍了音频工具中实现的无损容器转换功能(Remux),通过FFmpeg的stream copy技术,仅改变文件封装格式而不进行解码和重新编码。该功能支持MP4、MKV、MOV、WebM四种目标容器,具有速度快、质量无损的特点。核心算法包括八步处理管线、流映射与codec_tag清零、时间戳重映射等技术细节。文章重点阐述了容器兼容性预检机制,通过启发式检查提前发现不兼容的流类型,提升用户体验。整体架构分为算法层、状态层、UI层和入口层,与现有视频模块保持清晰的职责边界。
2026-07-10 13:30:00
304
原创 Qt + FFmpeg 音频工具:媒体流详情实现
本文介绍了AudioTools的媒体流详情功能,该功能通过FFmpeg解析音视频文件中的流信息。核心功能包括:按需解析容器级信息(格式、时长、元数据等)和各流参数(编码格式、采样率/分辨率、帧率等);支持音频流(通道数、采样格式等)和视频流(分辨率、色彩空间等)的特有字段;保留已解码PCM数据避免重复处理。算法流程为:打开文件→探测流信息→遍历解析各流参数→结构化存储→前端展示。关键特点包括延迟解析、一次性获取完整信息,以及将首个音频流参数提升至顶层供快速访问。该功能为后续音视频处理提供全面的参数依据。
2026-07-09 13:15:00
416
原创 Qt + FFmpeg 音频工具:音量分析实现
本文介绍了音频分析工具中音量特征检测的实现方法,重点阐述了PCM音频的峰值、响度和动态范围等核心指标的计算原理。系统通过单次遍历音频采样点,同步统计峰值绝对值、平方和、绝对值总和以及削波样本数,并基于这些数据计算Peak dBFS、RMS值、峰均比等关键参数。分析过程采用只读方式,不修改原始数据,能够快速输出格式化结果供界面展示。该功能为音频质量检查、增益调整和动态处理提供了重要参考依据,尤其适用于判断音频是否接近削波、响度是否合理以及动态范围是否被过度压缩等场景。
2026-07-08 07:45:00
349
原创 Qt + FFmpeg 音频工具:人声提取 / 伴奏分离实现
AudioTools 提供两种人声/伴奏分离方案:基于立体声中置提取的快速算法(center)和基于神经网络的智能分离(arnndn)。中置方案通过相位差运算处理立体声素材,速度快但仅适合标准混音;神经网络方案适配单/双声道,利用预训练模型提取人声特征,效果更好但速度较慢。两种方案均支持提取人声或分离伴奏模式,处理后生成独立WAV文件并支持波形对比试听。技术实现上,中置方案采用PCM逐帧运算,神经网络方案通过FFmpeg滤镜链完成FLTP格式转换和模型推理,伴奏分离采用原始信号减人声方式实现。
2026-07-07 12:45:00
362
原创 Qt + FFmpeg 音频工具:重采样实现
音频重采样功能解析 本文详细介绍了音频处理工具中的重采样功能实现,支持采样率、位深和通道数三个维度的同步调整。核心采用FFmpeg的SwrContext实现高效转换,关键技术点包括: 格式映射:通过SampleSpec结构体统一管理采样格式,支持8/16/32位位深转换 重采样管线:利用SwrContext单次完成采样率/位深/通道数转换,包含延迟样本处理机制 安全设计:包含整数溢出保护、残留样本刷出等健壮性措施 非破坏性处理:重采样后自动替换当前PCM并清空相关缓存 该功能作为音频处理流水线的基础环节,为
2026-07-06 13:00:00
342
原创 Qt + FFmpeg 音频工具:降噪功能实现
摘要 AudioTools 提供三种互补的降噪算法(FFT频谱降噪、非局部均值降噪和神经网络降噪),针对不同类型背景噪声(稳定底噪、周期性噪声、复杂环境噪声),支持高通/低通滤波辅助处理。采用非破坏性工作流,用户可实时预览对比不同参数效果后再导出。处理流程异步执行,避免阻塞界面,核心算法通过参数调节平衡降噪强度与音质保真度,适应会议录音、直播等多种场景需求。
2026-07-05 10:00:00
361
原创 Qt + FFmpeg 音频工具:音频特征图功能实现
波形图解决的是“时间轴上的振幅变化”,频谱图解决的是“某个时间点附近的频率能量分布”,但在实际分析音频时,这两类图仍然不够。这段音频是不是整体偏小?是否接近削波或已经出现爆点风险?声音偏亮还是偏闷?更像有调性的人声/乐音,还是更像噪声?左右声道是否存在延迟偏移或近似反相?因此项目在现有 PCM 解码链路上新增了一个统一的“音频特征图”入口,把常见的音频统计和特征可视化集中到同一页展示。幅度直方图dBFS 电平直方图Peak / RMS / 过零率曲线自相关图倒谱图。
2026-07-04 11:00:00
338
原创 Qt/QML音视频文件原始十六进制查看器
这篇文章详细介绍了AudioTools中RawHexPage.qml的设计与实现,重点讲解了如何通过C++自绘QML控件HexViewerItem来高效查看音视频文件的原始字节数据。文章分为五个部分: 功能概览:展示页面三大区域(控制面板、十六进制查看器、结构标记栏),并列出支持的功能如字节跳转、搜索、结构识别等。 QML页面组织:说明页面如何通过属性绑定与C++控件交互,保持QML层简洁。 C++自绘控件的必要性:解释为何采用QQuickPaintedItem而不是纯QML方案,特别是针对大文件处理的性能
2026-07-03 13:30:00
257
原创 Qt + FFmpeg 音频工具:音频编辑器功能实现
本文摘要: 音频编辑器实现了一种支持连续编辑的音频处理功能,核心设计围绕编辑缓冲和历史管理展开。系统通过独立缓冲区和剪贴板机制,确保原始音频数据不受破坏性操作影响,同时支持多步撤销/重做。关键技术包括: 采用帧对齐的编辑区间换算算法,确保多声道音频数据的完整性 建立编辑缓冲区和内部剪贴板,隔离原始数据与编辑操作 实现基于快照的撤销/重做系统 统一边界处理逻辑,避免不同操作间的行为差异 该方案既满足了音频编辑的基本需求(删除、剪切、复制、静音等),又通过状态隔离保证了系统的稳定性和数据一致性。编辑结果最终可导
2026-07-02 12:45:00
239
原创 Qt + FFmpeg 实战:实现波形自动对齐功能
在音频剪辑、配音替换、伴奏同步、视频后期和多机位录音整理中,经常会遇到这样的问题:两段音频内容相同或相近,但起始时间不一致。手动拖动波形可以解决,但效率低,而且在长音频里很难精确找到对齐点。本文介绍 “波形自动对齐”功能的实现方式。核心思路是:先在模板音频中找到一段能量较高、特征明显的区域,再把这段模板在目标音频中做多级匹配,最终计算出目标相对模板的偏移量,并通过补零或裁剪生成对齐后的 WAV。统一格式,转为 mono float。构建能量包络,降低相位和音量差异影响。
2026-07-01 13:00:00
330
原创 Qt + FFmpeg 音频工具:平滑截取功能实现
音频裁剪看起来只是按时间范围截出一段 PCM,但实际使用中经常会遇到一个问题:选区开始点或结束点突然出现“啪”“咔嗒”一类爆点。放到波形或频谱图上看,边界位置可能会出现一根明显的冲值条。原因并不复杂。片段开始:静音 -> 第一个采样值片段结束:最后一个采样值 -> 静音如果第一个采样值或最后一个采样值离零电平很远,或者边界附近波形变化很陡,这个瞬时跳变就会变成可听见的爆点。在用户选区附近寻找更平滑的边界。对截取片段首尾做极短淡入淡出。导出新的 WAV,不修改当前 PCM。
2026-06-30 13:00:00
674
原创 Qt + FFmpeg 实战:实现视频片段裁剪功能
视频片段裁剪实现方案 核心功能 快速无损裁剪:通过FFmpeg的stream copy技术实现视频片段快速导出,避免重编码带来的质量损失和处理时间 交互式编辑界面:提供时间轴缩略图、播放头控制、选区调整和音频波形预览等功能 技术架构 前端交互层: VideoTrimPage:功能入口,处理参数设置和导出控制 VideoTrimEditor:核心交互组件,维护选区状态和时间轴显示 中间调度层: MediaAnalyzer:协调缩略图生成、音频分析、导出任务等异步操作 后端处理层: FFmpeg工具链:负责实际
2026-06-29 12:30:00
361
原创 Qt + FFmpeg 实战:实现视频首帧与封面图提取功能
本文介绍了视频截图和封面图提取功能的实现方案。该功能支持两种模式:提取内嵌封面或首帧(自动回退机制),以及按时间点截取视频帧。系统采用分层架构,通过FFmpeg解码视频流并转换为QImage格式,前端QML界面提供参数配置和结果预览,业务层处理异步任务调度和状态管理。功能实现包含路径处理、格式转换、尺寸调整等细节,支持PNG/JPG输出格式,并能智能处理零值参数,确保视频处理基础能力的稳定性和扩展性。
2026-06-28 11:45:00
364
原创 Qt + FFmpeg 实战:视频添加替换音频
本文介绍了一个视频音频处理工具的功能实现,该工具支持三种主要操作模式:替换原音轨、追加新音轨和移除全部音轨。系统采用分层架构设计,前端通过QML页面提供用户交互,业务层处理参数校验和转码策略,核心层使用FFmpeg进行容器级的音视频流重组。关键技术点包括不解码视频流直接复制packet、智能音频转码策略(自动/直接复制/强制AAC)、多种时长处理方式,并通过参数校验确保操作可行性。该方案在保证视频质量的同时,实现了高效的音轨处理功能。
2026-06-27 08:00:00
704
原创 Qt + FFmpeg 实战:视频提取音频
本文介绍了视频提取音频功能的两种实现方案(流复制和解码再编码)及其选择原因,详细阐述了整体架构设计,包括前端页面与后端处理流程。前端页面提供多种音频格式和参数选项,并自动处理路径与编码器匹配。后端负责参数验证、任务调度和状态管理,确保高效可靠地完成音频提取任务。整个功能采用异步处理,保持界面响应性,同时提供清晰的用户反馈。
2026-06-26 13:45:00
559
原创 音频 DC 偏移校正实现:复用 5Hz 高通滤镜去除直流分量
本文介绍了音频处理中的DC偏移问题及其校正方法。DC偏移指音频波形中心线偏离零轴的现象,会影响动态余量、后续处理效果和播放质量。项目采用5Hz高通滤波器去除直流分量,复用现有的FFmpeg处理管线实现高效校正。文中详细阐述了技术原理、接口设计、输入校验和峰值分析流程,核心通过调用filterPcm函数实现校正,并分析了前后峰值变化来验证效果。该方法适用于常规音频处理,但需注意可能滤除极低频信号的问题。
2026-06-25 13:30:00
351
Qt + FFmpeg 实战:将音视频文件解码为 PCM 数据,获取音视频文件基础属性、流信息和元数据
2026-06-08
QML实现的20种酷炫进度组件以及20种Loading组件
2025-12-29
QML QtQuick.Controls 1.4中 TreeView Demo
2025-12-07
Qt/QML 实现类似Xmind的简易思维导图Demo源代码
2025-12-05
Qt/QML 实现类似Xmind的简易思维导图Demo演示
2025-12-05
基于Qt/QML实践:番茄工坊专注·高效·成长的桌面番茄钟与任务管理器
2025-11-25
Qt/C++ 线程池TaskPool与 Worker 框架实践
2025-11-24
PySide6调用OpenAI的Whisper模型进行语音ASR转写
2025-09-28
Qt QML实现Windows桌面歌词动态播放效果
2025-04-16
Qt QML实现Windows颜色提取器,实时显示鼠标处的颜色值
2025-04-16
QML Combobox 自动过滤,输入字符串后自动匹配
2025-04-03
Qt6 QML实现Windows屏幕录制成视频
2025-03-20
QT QML实现音频波形图进度条
2025-03-18
Qt5.15.2 Linux ARM架构源码编译安装(UOS20国产系统)已编译好的包
2025-03-17
Windows Qt动态监测系统分辨率及缩放比变化,提供QWidget和QML项目的调用demo
2025-03-16
KDDockWidget源码修改及自定义
2025-03-16
C++ Qt实现视频帧提取功能
2025-03-15
Qt QML实现鼠标自由选择不规则区域进行截图
2025-03-14
QML实现文件十六进制显示Demo
2023-09-08
Qt QGraphics导入背景图并绘制图形,画布移动、缩放、图形旋转等
2023-06-30
QML模块及qmldir使用演示demo
2023-04-16
qml 类似移动端时间设置控件
2023-01-07
qtmqtt Qt6.2.4+VS2019 x64编译动态库及简单示例(附带Qt在线安装包+perl安装包)
2022-12-16
QML + KDDockWidget 实现 tabwidget 窗口可独立浮动和缩放
2022-12-05
Qt+opencv 鼠标绘制进行图形识别并进行item对象创建-Demo
2022-12-03
QML ListView实现TabBar标签拖拽移动位置效果
2022-11-25
QML 实现注册码输入控件,自动填入分隔符,粘贴内容格式化
2022-11-06
Qt实现桌面画线、标记,流畅绘制,支持鼠标和多点触控绘制
2022-10-26
Qt实现简易截图工具(支持缩放、移动、保存、复制到粘贴板)
2022-10-18
KDDockWidgets VS2019编译的动态库以及源码
2022-07-10
QFtp实现批量文件上传
2022-06-22
QML TableView Demo演示示例
2022-06-09
QtService 实现Qt后台服务程序
2022-06-07
Qt 反射机制实现,通过类名创建对象
2022-06-02
C++、C语言基础知识点强化,以及相关经典面试题、数据结构和算法知识及相关面试题汇总。
2022-05-24
Qt 实现钢笔画线效果,根据画线速度改变笔宽
2022-05-07
Qt 鼠标/触屏绘制平滑曲线(矢量/非矢量)
2022-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅