[✔️]音视频基础知识

简介: [✔️]音视频基础知识
int av_samples_alloc_array_and_samples(
    uint8_t ***audio_data, // 通道,data[0]代表左声道,data[1]代表右声道
    int *linesize, // 采样个数的最大大小字节空间
    int nb_channels,
    int nb_samples,
    enum AVSampleFormat sample_fmt, int align
);


采样频率 nb_samples


采样频率是指计算机单位时间内能够采集多少个信号样本,比如对于波形记录而言,此时采样频率可以是描述波形的质量标准。


采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的样本数据就越多,对信号波形的表示也越精确。


Hz 是频率的单位,频率是指电脉冲,交流电波形,电磁波,声波和机械的振动周期循环时,1秒钟重复的次数。1Hz代表每秒钟周期震动1次,60Hz代表每秒周期震动60次。


对于一帧音频的采样个数,AAC固定一帧采样1024个,MP3格式则为1152。


采样位数


通常使用16bit(2字节),也就是2的16次方,共有65536个不同的度量值,这样采样位数越高,音频度量化的就越精细,音质同样也就越高


声道数量:channels


声道格式:channel_layout


对音频的声道格式进行转换的处理,例如立体声转换为单声道


声道指的是声音在录制时,在不同的空间位置采集的音频信号,一个声道就是一个音频信号。


声道 解释
单声道 只记录了一个音频信号
双声道 记录了2个音频信号
立体声 记录了左右2个音频信号,带有空间位置的双声道

如果只有一个麦克风在录制声音,但选择了立体声道,听起来还是单声道的效果,因为两个声道的数据是一样的,只有使用双传声器的麦克风或者2个麦克风同时录制,出来的效果才是立体声,


轨道


声音信号在磁盘上的存储空间,轨道数量≠声道数量


通道


用来描述信号的路径,声道一般针对音频,通道一般针对视频


采用精度


声音的范围


1 一帧音频的大小(字节)  = 通道数 x 采样个数 x 采样位数


音频帧是FLTP格式的PCM数据,


那么就是aac,所以一帧中包含1024个采样个数,并且是双声道的话,那么该音频帧包含的数据量是 2 x 1024 x 4 = 8192字节。


音频帧是AV_SAMPLE_FMT的PCM数据 那么采样位数是64位8字节,数据量为 2 x 1024 x 8 = 16384字节。


目录
相关文章
|
3月前
|
计算机视觉 Python
FFMPEG学习笔记(一): 提取视频的纯音频及无声视频
本文介绍了如何使用FFmpeg工具从视频中提取纯音频和无声视频。提供了具体的命令行操作,例如使用`ffmpeg -i input.mp4 -vn -c:a libmp3lame output.mp3`来提取音频,以及`ffmpeg -i input.mp4 -c:v copy -an output.mp4`来提取无声视频。此外,还包含了一个Python脚本,用于批量处理视频文件,自动提取音频和生成无声视频。
105 1
|
8月前
|
XML 编解码 算法
Android开发音效中录制WAV音频和录制MP3音频的讲解及实战(超详细 附源码)
Android开发音效中录制WAV音频和录制MP3音频的讲解及实战(超详细 附源码)
306 0
|
8月前
|
编解码 vr&ar 计算机视觉
音视频基础
音视频基础
|
8月前
|
编解码 算法 容器
音视频基础知识
音视频基础知识
93 0
|
8月前
|
存储 缓存 Linux
音频播放的一些整理
音频播放的一些整理
183 1
|
8月前
|
存储 编解码 算法
ffmpeg笔记(一)音视频基础
ffmpeg笔记(一)音视频基础
205 0
|
8月前
|
小程序 JavaScript 前端开发
微信小程序的音频视屏播放
微信小程序的音频视屏播放
131 0
[笔记]音视频学习之SDL篇《十三》播放音乐和特效
[笔记]音视频学习之SDL篇《十三》播放音乐和特效
|
存储 编解码 数据可视化
漏刻有时数据可视化语音留言墙开发日志(微信录音&七牛云amr转换成mp3存储转码)
漏刻有时数据可视化语音留言墙开发日志(微信录音&七牛云amr转换成mp3存储转码)
86 0