【秒懂音视频开发】12_播放WAV】的更多相关文章

音视频开发库的选择 每个主流平台基本都有自己的音视频开发库(API),用以处理音视频数据,比如: iOS:AVFoundation.AudioUnit等 Android:MediaPlayer.MediaCodec等 Windows:DirectShow等 ... 为了让所有平台的开发者都能够学习到音视频开发的通用技术,本教程主要讲解跨平台的音视频开发库FFmpeg.其实只要你掌握了FFmpeg,也可以很快上手其他音视频开发库,因为底层原理都是一样的,你最终操作的都是一样的数据,比如MP3.MP…
对于WAV文件来说,可以直接使用ffplay命令播放,而且不用像PCM那样增加额外的参数.因为WAV的文件头中已经包含了相关的音频参数信息. ffplay in.wav 接下来演示一下如何使用SDL播放WAV文件. 初始化子系统 // 初始化Audio子系统 if (SDL_Init(SDL_INIT_AUDIO)) { qDebug() << "SDL_Init error:" << SDL_GetError(); return; } 加载WAV文件 // 存…
本文主要介绍一种非常流行的视频编码:H.264. 计算一下:10秒钟1080p(1920x1080).30fps的YUV420P原始视频,需要占用多大的存储空间? (10 * 30) * (1920 * 1080) * 1.5 = 933120000字节 ≈ 889.89MB 可以看得出来,原始视频的体积是非常巨大的 由于网络带宽和硬盘存储空间都是非常有限的,因此,需要先使用视频编码技术(比如H.264编码)对原始视频进行压缩,然后再进行存储和分发.H.264编码的压缩比可以达到至少是100:1…
从本节开始,正式开启流媒体相关的内容. 流媒体 基本概念 流媒体(Streaming media),也叫做:流式媒体. 是指将一连串的多媒体数据压缩后,经过互联网分段发送数据,在互联网上即时传输影音以供观赏的一种技术与过程 此技术使得数据包可以像流水一样发送,如果不使用此技术,就必须得先下载整个媒体文件才能进行观看 流媒体的一个非常典型.火爆的应用场景:直播.近几年,直播行业是蒸蒸日上. 直播架构 下面放几张图片,简单了解一下直播技术的基本架构. 你可能会有个疑问:信令服务器是干嘛用的?用来处理…
AAC(Advanced Audio Coding,译为:高级音频编码),是由Fraunhofer IIS.杜比实验室.AT&T.Sony.Nokia等公司共同开发的有损音频编码和文件格式. 对比MP3 AAC被设计为MP3格式的后继产品,通常在相同的比特率下可以获得比MP3更高的声音质量,是iPhone.iPod.iPad.iTunes的标准音频格式. AAC相较于MP3的改进包含: 更多的采样率选择:8kHz96kHz,MP3为16kHz48kHz 更高的声道数上限:48个,MP3在MPEG…
本文的主角是多媒体领域非常重要的一个概念:YUV. 简介 YUV,是一种颜色编码方法,跟RGB是同一个级别的概念,广泛应用于多媒体领域中. 也就是说,图像中每1个像素的颜色信息,除了可以用RGB的方式表示,也可以用YUV的方式表示. vs RGB 对比RGB,YUV有哪些不同和优势呢? 体积更小 如果使用RGB 比如RGB888(R.G.B每个分量都是8bit) 1个像素占用24bit(3字节) 如果使用YUV 1个像素可以减小至平均只占用12bit(1.5字节) 体积为RGB888的一半 组成…
文本的主要内容是:使用SDL显示一张BMP图片,算是为后面的<播放YUV>做准备. 为什么是显示BMP图片?而不是显示JPG或PNG图片? 因为SDL内置了加载BMP的API,使用起来会更加简单,便于初学者学习使用SDL 如果想要轻松加载JPG.PNG等其他格式的图片,可以使用第三方库:SDL_image 宏定义 #include <SDL2/SDL.h> #include <QDebug> // 出错了就执行goto end #define END(judge, fu…
控件的基本使用 为了更好地学习Qt控件的使用,建议创建项目时先不要生成ui文件. 打开mainwindow.cpp,在MainWindow的构造函数中编写界面的初始化代码. 窗口设置 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { // 设置窗口标题 setWindowTitle("主窗口"); // 设置窗口大小 // 窗口可以通过拖拽边缘进行自由伸缩 // resize(400, 400); // 设置…
什么是 PCM 格式 声音从模拟信号转化为数字信号的技术,经过采样.量化.编码三个过程将模拟信号数字化. 采样 顾名思义,对模拟信号采集样本,该过程是从时间上对信号进行数字化,例如每秒采集 44100 次,即采样频率 44.1 khz 量化 既然是将音频数字化,那就需要使用二进制来表示声音的每一个样本.例如每个样本使用 16 位长度来表示,即音频的位深度为 16 位 编码 编码就是按照一定的格式记录采样和量化后的数据,比如顺序存储或压缩存储等 编码后经由不同的算法,音频被保存为不同的格式,例如…
☞ ░ 前往老猿Python博文目录 ░ 一.背景知识介绍 1.1.声音三要素: 音调:人耳对声音高低的感觉称为音调(也叫音频).音调主要与声波的频率有关.声波的频率高,则音调也高. 音量:也就是响度.人耳对声音强弱的主观感觉称为响度.响度和声波振动的幅度有关.一般说来,声波振动幅度越大则响度也越大. 音色:也就是音品.音色是人们区别具有同样响度.同样音调的两个声音之所以不同的特性,或者说是人耳对各种频率.各种强度的声波的综合反应.音色与声波的振动波形有关,或者说与声音的频谱结构有关. 更多关于…