FFMPEG 视频解码基础总结


音视频解码流程

原理上讲: 我们所看到的有声视频,其实是视频和音频数据同步的结果.

视频的播放过程

  • 封装视频格式(flv,mp4)等,解封装 ,
  • 变为 视频压缩的数据(H.264),
  • 再经过解码,变成原生的像素数据(YUV),
  • 最后在画布载体(surfaceview等),一帧帧绘制的过程.

音频的播放过程

  • 封装视频格式(MP3,wma)等,解封装 ,
  • 变为 视频压缩的数据(AAC,MP3),
  • 再经过解码,变成原生的像素数据(PCM),
  • 最后重新采样播放的过程.

相关原理知识工具

相关查看工具

  1. 封装格式:Elecard Format Analyzer
  2. 视频编码数据:Elecard Stream Eye
  3. 视频像素数据:YUV Player
  4. 音频采样数据:Adobe Audition

视频编码数据

  • 视频编码的作用

    • 将视频像素数据(RGB,YUV等)压缩成为视频码流,从而降
      低视频的数据量(目前直播就是如此)。
  • 常见的视频编码格式

  • H.264格式简介

    • 数据由大小不固定的NALU构成
      最常见的情况下,1个NALU存储了1帧画面的压缩编码后的数据。
  • H.264压缩方法
    • 比较复杂。包含了帧内预测、帧间预测、熵编码、环路滤波等环节
      构成。本课程不对其中的算法做过多介绍。
      . 可以将图像数据压缩100倍以上。

视频像素数据

  • 视频像素数据作用
    • 保存了屏幕上每个像素点的像素值。
  • 格式

    • 常见的像素数据格式有RGB24, RGB32, YUV420P,YUV422P,
      YUV444P等。压缩编码中一般使用的是YUV格式的像素数据,最为常
      见的格式为YUV420P。
  • 特点

    • 视频像素数据体积很大,一般情况下1小时高清视频的RGB24
      格式的数据体积为:
      3600*25*1920*1080*3=559.9GByte
      PS:这里假定帧率为25Hz,取样精度8bit。
  • YUV格式像素数据查看工具
    • YUV Player

音频编码数据

  • 音频编码的作用
    • 将音频采样数据(PCM等)压缩成为音频码流,从而降低音
      频的数据量。
  • AAC格式简介
    • 数据由大小不固定的ADTS(Audio Data Transport Stream 音频数据传输流)构成.

音频采样数据

  • 音频采样数据作用
    • 保存了音频中每个采样点的值。
  • 特点
    • 音频采样数据体积很大,一般情况下一首4分钟的PCM格式的
      歌曲体积为:
      4*60*44100*2*2=42.3MByte
      PS:这里假定采样率为44100Hz,采样精度为16bit。
  • 音频采样数据查看工具:Adobe Audition
  • PCM格式简介
    • 单声道的情况下按照顺序存储每个采样点的数据。
    • 双声道的情况下按照“左右、左右”的顺序存储每个采样点两个声
      道的数据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值