
嵌入式音视频开发全流程学习笔记
文章平均质量分 89
随便学学
庭师_Official
Audio && ComputerVision Devoloper.
展开
-
[WASAPI]音频API:从Qt MultipleMedia走到WASAPI,相似与不同
最近在学习有关Windows上的音频驱动相关的知识,在正式开始说WASAPI之前,我想先说一说Qt的Multiple Media,为什么呢?因为Qt的MultipleMedia实际上是WASAPI的一层封装,它在是线上替我做了很多事,就好像在Microsoft的文档上会推荐你先学习Windows.Media.Capture,然后再看low level的WASAPI。原创 2024-12-24 21:18:40 · 1232 阅读 · 0 评论 -
[DASP]玩机!在组织一套音频系统之前,我们先要知道这套系统里面有什么东西。
现在不是搞音频嘛,正好自己买了无源音箱,买了套DSP芯片玩一下。原创 2024-06-29 18:59:15 · 585 阅读 · 0 评论 -
[ALSA]从零开始,使用ALSA驱动播放一个音频
最近学了不少有关音频相关的,最近搞一下ALSA驱动。原创 2024-06-29 16:43:08 · 2330 阅读 · 0 评论 -
[JUCE库]关于JUCE如何生成动态链接库 juce-7.0.1-windows
当我们在使用JUCE库的时候,可能会需要使用到静态链接的方式,还好的一点是JUCE本身提供了CMake编译,也提供了单独的sln编译。本文章仅针对juce-7.0.1-windows,由于不同版本之间差异较大,可能不能通用,但主要的不同点都在修改源码那个环节。原创 2024-05-06 18:49:10 · 569 阅读 · 0 评论 -
[音视频学习笔记]八、FFMpeg结构体分析 -上一个项目用到的数据结构简单解析:AVFrame、AVFormatContext、AVCodecContext
上次我们做了一个简单的视频解码,这一次简单对这个代码进行一个剖析,对其中的数据结构进行一个解析。原创 2024-03-25 17:01:43 · 956 阅读 · 0 评论 -
[音视频学习笔记]七、自制音视频播放器Part2 - VS + Qt +FFmpeg 写一个简单的视频播放器
话不多说,重走霄骅登神路前一篇文章。原创 2024-03-22 16:25:36 · 1141 阅读 · 0 评论 -
[音视频学习笔记]六、自制音视频播放器Part1 -新版本ffmpeg,Qt +VS2022,都什么年代了还在写传统播放器?
参考了雷神的自制播放器项目,100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x)不过老版本的代码参考意义不大了,我现在准备使用Qt + VS2022 + FFmpeg59重写这部分代码,具体的代码仓库如下:LeventureQys/MediaPlay-FFmpeg开发环境:Visual Studio 2022 + Qt 5.14.2 + FFmpeg 59首先我们Visual Studio 2022 + qt是准备好的,这里不做过多介绍了。这里简单说说我在做这一块的时候,为什么没原创 2024-03-21 23:09:27 · 785 阅读 · 0 评论 -
[音视频学习笔记]五、FLV格式及音频码流
Tag Header里存放的是当前tag的类型、数据区(tag data)的长度等信息。一个FLV文件,每种类型的tag都属于一个流,也就是一个flv文件最多只有一个音频流,一个视频流,不存在多个独立的音视频流在一个文件的情况。格式0与格式3的不同之处只有一点:格式0存储16位采样数据,采用的大小端顺序是创建FLV文件的平台所使用的大小端顺序。因此,不应使用格式0,而应使用格式3。格式11,Speex,音频以16 kHz采样率压缩为单声道,采样率字段值应为0,采样位深字段值应为1,声音类型字段值应为0。转载 2024-03-20 14:27:39 · 287 阅读 · 0 评论 -
[[音视频学习笔记]四、ACC格式及音频码流
ADIF:Audio Data Interchange Format 音频数据交换格式。这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行。故这种格式常用在磁盘文件中。是AAC音频的传输流格式。这种格式的特征是它是一个有同步字的比特流,解码可以在这个流中任何位置开始。总结:ADTS可以在任意帧解码,也就是说它每一帧都有头信息。ADIF只有一个统一的头,所以必须得到所有的数据后解码。转载 2024-03-20 09:42:51 · 799 阅读 · 0 评论 -
Linux-Arm环境下配置编译qt-everywhere及交叉编译环境
最近在搞交叉编译的事,手上拿了个同事的香橙派玩交叉编译,现在来到了第一步,就是先在arm上配置qt的开发环境。当然了Qt没有直接提供qt on arm,而是需要自行在arm环境下编译一个qt环境出来,所以这里需要使用到qt提供的qt everywhere套件在板载系统上编译。原创 2024-03-20 00:12:14 · 2613 阅读 · 0 评论 -
[音视频学习笔记]三、H.264视频码流解析
1、编码是为了将数据进行压缩,这样在传输的过程中就不会使资源被浪费。2、用一个简单的例子来说明编码的必要性:当你此刻显示器正在播放一个视频,分辨率是1280720,帧率是25,那么一秒所产生正常的数据大小为:1280720(位像素)*25(张) / 8(1字节8位)(结果:B) / 1024(结果:KB) / 1024 (结果:MB) = 2.75MB。显然一秒这么大的数据你是无法接受的,需要将数据进行压缩。转载 2024-03-15 17:18:43 · 574 阅读 · 0 评论 -
[音视频学习笔记]二、什么是PCM音频?一些常见的PCM处理
PCM(Pulse Code Modulation)也被称为脉冲编码调制。PCM音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准的数字音频数据。转载 2024-03-15 15:54:46 · 1975 阅读 · 0 评论 -
[音视频学习笔记]一、YUV和RGB像素数据的常见处理
YUV 是一种颜色编码方法,和它等同的还有 RGB 颜色编码方法。因为RGB颜色编码的方式是我们从小看到大的,所以先简单聊聊RGB颜色编码。转载 2024-03-15 14:43:27 · 535 阅读 · 0 评论 -
Linux学习笔记(一)Linux基本指令
本文旨在自学Linux相关知识,这里简单聊聊记录一下。原创 2024-03-12 14:25:46 · 559 阅读 · 0 评论