音视频学习之基础概念整理(rgb/yuv,pcm,采样频率,帧率,码率,i帧p帧b帧,dts/pts)

简介: 音视频学习之基础概念整理(rgb/yuv,pcm,采样频率,帧率,码率,i帧p帧b帧,dts/pts)

1:常用的视频压缩算法:

  MPEG2 ===>MPEG阵营

  H264 ===>MPEG阵营

  H265 ===>MPEG阵营

  AVS ===>中国阵营

  VP8 ===>Google阵营

  VP9 ===>Google阵营

2:图像表示方法 :

2.1:RGB 红绿蓝

 每个像素8bit 色彩:256256256=16,777,216

 一个1280*720的照片,用RGB存储,大小:1280×720 * 3 = 2.637 MB

  ===》照片的大小x时间x帧率

2.2:数字图像 YUV格式 Y(明亮度) U,V(色度)

2.2.1:yuv两种存储方式

  两种存储方式:先存储Y (planar)和 Y, U, V交替存储

  libyuv :google开源的各种实现yuv和rgb,相互转换,缩放,旋转的库

2.2.2:yuv多种格式及大小计算

  yuv存在多种格式:yuv420p, yuv420sp

     ===》 排列顺序不同。

     ===》解析不对会出现花屏,绿屏的现象

  YUV420P格式表示1280*720的视频帧:

  四个Y帧共用一个U,V,多了0.5的一个帧:1280 * 720 * 1 + 1280 * 720 * 0.5 = 1.318MB

3: 码率 帧率 分辨率:

3.1:视频码率,视频帧率,视频分辨率

视频码率:kb/s,是指视频文件在单位时间内使用的数据流量,也叫码流率。码率越大,说明单位时间内取样率越大,数据流精度就越高。

视频帧率:fps,通常说一个视频的25帧,指的就是这个视频帧率,即1秒中会显示25帧。帧率越高,给人的视觉就越流畅。

视频分辨率:分辨率就是我们常说的640x480分辨率、1920x1080分辨率,分辨率影响视频图像的大小

3.2:I P B帧:

===》I 帧(Intra coded frames):帧数内编码 I帧不需要参考其他画面而生成,解码时仅靠自己就重构完整图像;

===》P 帧(Predicted frames):根据本帧与相邻的前一帧(I帧或P帧)的不同点来压缩本帧数据,同时利用了空间和时间上的相关性。

===》B 帧(Bi-directional predicted frames):B 帧图像采用双向时间预测,可以大大提高压缩倍数。

4:音频相关基础:

4.1:PCM

PCM(Pulse Code Modulation),脉冲编码调制:人耳听到的是模拟信号,PCM是把声音从模拟信号转化为数字信号的技术。

4.2:采样频率/采样精度

采样中完全恢复原始信号波形,采样频率必须至少是信号中最高频率的两倍,

  人耳能听到的频率范围是[20H~20kHz],所以采样频率一般为44.1Khz

采样频率:每秒钟采样的点的个数。常用的采样频率有:
  22000(22kHz): 无线广播。
  44100(44.1kHz): CD音质。
  48000(48kHz): 数字电视,DVD。
  96000(96kHz): 蓝光,高清DVD。
  192000(192kHz):   蓝光,高清DVD。
采样量化/精度:采样值的精度取决于它用多少位来表示:
  例如:8位量化可以表示256个不同值,而CD质量的16位量化可以表示65 536个值,范围为[-32768, 32767]。

4.3:通道数,比特率,码率

通道数:单声道,双声道,四声道,5.1声道。
比特率:每秒传输的bit数,单位为:bps(Bit Per Second)
  没有压缩的音频数据的比特率 = 采样频率 * 采样精度 * 通道数。
码率: 压缩后的音频数据的比特率。常见的码率:
  96kbps:   FM质量
  128-160kbps:一般质量音频。
  192kbps:    CD质量。
  256-320Kbps:高质量音频
  码率越大,压缩效率越低,音质越好,压缩后数据越大。
  码率 = 音频文件大小/时长。

4.4:帧,帧长

帧:每次编码的采样单元数,
  比如MP3通常是1152个采样点作为一个编码单元,AAC通常是1024个采样点作为一个编码单元
帧长:每帧播放持续的时间:每帧持续时间(秒) = 每帧采样点数 / 采样频率(HZ)
  比如:MP3 48k, 1152个采样点,每帧则为 24毫秒  1152/48000= 0.024 秒 = 24毫秒;

4.5:交错模式和非交错模式

交错模式:数字音频信号存储的方式。 
  ===》如:首先记录帧1的左声道样本和右声道样本,再开始帧2的记录...
非交错模式:首先记录的是一个周期内所有帧的左声道样本,再记录所有右声道样本

4.6:音频压缩原理

数字音频压缩编码:去除声音信号中冗余成分(不能被人耳感知到的信号)的方法,进行尽可能大的压缩,降低数据量20Hz~20KHz范围外的频率,人耳听觉的掩蔽效应中的弱音信号:频谱掩蔽效应和时域掩蔽效应


 音频方向编码选型:OPUS,MP3,AAC,AC3和EAC3(杜比公司的方案)

5:音视频的封装:

封装格式(也叫容器):
  就是将已经编码压缩好的视频流、音频流及字幕按照一定的方案放到一个文件中,便于播放软件播放
  一般来说,视频文件的后缀名就是它的封装格式。
  H264/AVC+AAC封装为FLV或MP4是最为流行的模式
常见的视频封装格式:
  AVI、MKV、MPE、MPG、MPEG
  MP4、WMV、MOV、3GP
  M2V、M1V、M4V、OGM
  RM、RMS、RMM、RMVB、IFO
  SWF、FLV、F4V、
  ASF、PMF、XMB、DIVX、PART
  DAT、VOB、M2TS、TS、PS

6:DTS,PTS,同步方法:

DTS(Decoding Time Stamp):即解码时间戳,
  告诉播放器该在什么时候解码这一帧的数据
PTS(Presentation Time Stamp):即显示时间戳,
  告诉播放器该在什么时候显示这一帧的数据。
同步方法:
    Audio Master:同步视频到音频
    Video Master:同步音频到视频
    External Clock Master:同步音频和视频到外部时钟。

参考免费课程链接:https://ke.qq.com/course/417774?flowToken=1040954

目录
相关文章
|
3月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
519 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
8月前
|
存储 编解码 缓存
音视频基础: I帧 P帧 B帧 GOP DIR PTS DTS 帧率 码率的介绍
音视频基础: I帧 P帧 B帧 GOP DIR PTS DTS 帧率 码率的介绍
284 0
|
存储 编解码 算法
|
8月前
|
关系型数据库 MySQL 数据挖掘
阿里云 SelectDB 携手 DTS ,一键实现 TP 数据实时入仓
DTS 作为阿里云核心的数据交互引擎,以其高效的实时数据流处理能力和广泛的数据源兼容性,为用户构建了一个安全可靠、可扩展、高可用的数据架构桥梁。阿里云数据库 SelectDB 通过与 DTS 联合,为用户提供了简单、实时、极速且低成本的事务数据分析方案。用户可以通过 DTS 数据传输服务,一键将自建 MySQL / RDS MySQL / PolarDB for MySQL 数据库,迁移或同步至阿里云数据库 SelectDB 的实例中,帮助企业在短时间内完成数据迁移或同步,并即时获得深度洞察。
阿里云 SelectDB 携手 DTS ,一键实现 TP 数据实时入仓
|
8月前
|
SQL 分布式计算 监控
在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
【2月更文挑战第32天】在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
80 6
|
8月前
DTS数据传输延迟可能有多种原因
【1月更文挑战第16天】【1月更文挑战第79篇】DTS数据传输延迟可能有多种原因
303 2
|
2月前
|
弹性计算 安全 容灾
阿里云DTS踩坑经验分享系列|使用VPC数据通道解决网络冲突问题
阿里云DTS作为数据世界高速传输通道的建造者,每周为您分享一个避坑技巧,助力数据之旅更加快捷、便利、安全。本文介绍如何使用VPC数据通道解决网络冲突问题。
99 0
|
5月前
|
NoSQL MongoDB 数据库
DTS 的惊天挑战:迁移海量 MongoDB 数据时,捍卫数据准确完整的生死之战!
【8月更文挑战第7天】在数字化时代,大数据量的MongoDB迁移至关重要。DTS(数据传输服务)通过全面的数据评估、可靠的传输机制(如事务保证一致性)、异常处理(如回滚或重试),以及迁移后的数据校验来确保数据准确无损。DTS还处理数据转换与映射,即使面对不同数据库结构也能保持数据完整性,为企业提供可靠的数据迁移解决方案。
76 2
|
7月前
|
SQL 分布式计算 DataWorks
MaxCompute产品使用问题之dts是否支持传输数据到mc主键表2.0
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。