• 音视频开发基础知识


    1. 视频录制播放原理

    暂时无法在文档外展示此内容
    在这里插入图片描述

    2. 图像几种格式

    1. RGB格式
      1. 红绿蓝三色混合,各有256种亮度
    2. YUV格式
      1. Y表示亮度,称为灰阶值—>U和V指色度,描述影像色彩和饱和度
      2. Planar->先连续储存Y再连续储存U,最后V 和packed格式->YUV一起储存
      3. Libyuv 是谷歌的一个库,在YUV和RGB之间转换
      4. YUV 444、是指相邻四个像素包含4个Y、U、V
      5. YUV422、是指相邻四个像素包含4个Y,2个U,2个V
      6. YUV420 是指相邻四个像素包含4个Y,2个U或者2个V

    3. 视频主要概念

    1. 视频码率:kb/s,是指视频文件在单位时间内使用的数据流量,也叫码流率。码率越大,说明单位时间内取样率越大,数据流精度就越高。
    2. 帧率
    3. 分辨率
    4. I、P、B帧
      1. I帧(Intra coded frames):不需要参考其他画面,解码时自己就可以生成完整图像
      2. P 帧(Predicted frames):根据本帧与相邻的前一帧(I帧或P帧)的不同点来压缩本帧数据,同时利用了空间和时间上的相关性。 P帧属于前向预测的帧间编码。它需要参考前面最靠近它的I帧或P帧来解码。
      3. B 帧(Bi-directional predicted frames):B 帧图像采用双向时间预测,可以大大提高压缩倍数。参考前后P帧。

    4. 常用视频压缩算法

    1. MPEG阵营
      1. MPEG
      2. H264
      3. H265
    2. Google阵营
      1. VP8
      2. VP9
    3. 中国阵营
      1. AVS

    5. 声音的频率

    1. 人耳能听见的频率 20~20KHz
    2. 采样频率
      1. 22KHz
      2. 44.1KHz(CD音质,保证人耳能听见的频率被数字化)
      3. 48KHz
    3. 采样精度 取决于它用多少位来表示
      1. 8位量化(8bit),表示256个不同的值
      2. 16位量化(16bit),表示65536个不同的值
    4. 通道数:单声道、双声道、四声道、5.1声道
    5. 比特率:每秒传输的bit数,单位为bps(bit Per second)
    6. 码率
      1. 96kbpsFM质量
      2. 192kbsCD质量
    7. 交错模式 :LRLRLR
    8. 非交错模式:LLLLLLLRRRRRRR

    6. 音频编码原理

    1. 去除声音信号中冗余部分==>不能被人耳感知的信号
    2. 人耳听到频率之外,人耳只能听到20~20KHz
    3. 频谱掩蔽效应
      1. 当有一个声强为很高dB的声音时,它附近频率的声音就被掩蔽掉了
    4. 时域掩蔽效应
      1. 当有一个声强为很高dB的声音时,它出现时间前后的声音就被掩蔽掉了

    7. 音频编码方法

    在这里插入图片描述

    8. 音频编码器

    1. 杜比公司方案 AC3和EAC3
    2. AAC
    3. MP3
    4. OPUS
    5. 封装格式
    6. 封装格式(也叫容器)就是将已经编码压缩好的视频流、音频流及字幕按照一定的方案放到一个文件中,便于播放软件播放。
    7. 最常见视频封装格式 --> H264+ACC 封装为FLV或者MP4,还有mkv,mwv,F4V
    8. 音视频同步
    9. DTS(Decoding Time Stamp)
    10. PTS(Presentation Time Stamp)
    11. 同步方式:
      1. Audio Master:同步视频到音频
      2. Video Master:同步音频到视频
      3. External Clock Master:同步音频和视频到外部时钟。
      4. 一般情况下 Audio Master > External Clock Master > Video Master
  • 相关阅读:
    每天一个面试题之类加载机制、spirngboot的启动机制
    Vue.use()和install的小知识
    leetcode:1154. 一年中的第几天(python3解法)
    JavaScript高级
    JUC P3 共享模型之无锁同步,CAS,原子类,Unsafe类 基础+代码
    C++面向对象编程(3)——常用关键字介绍(TODO)
    详解数仓中sequence的应用场景及优化
    Web前端:Web开发人员的顶级前端开发趋势
    “轻松实现文件复制备份,自动编号轻松管理
    ipv6笔记及总结
  • 原文地址:https://blog.csdn.net/qq_43357874/article/details/126908152