多媒体学习笔记(分析kxmovie用FFmpeg制作一个简单的播放器)

啰嗦一句:有的同学还不知道FFmpeg怎么读。
来,跟我一起念:“ef ef em peg”
有关FFmpeg音视频编码的知识,可以去看雷神的博客:传送门。
莫慌,继续往下看

一、基本技术:

1、音视频技术主要包含:

  • 封装技术
  • 视频压缩编码技术
  • 音频压缩编码技术
  • 流媒体协议技术 - 传输

2、视频播放器播放一个互联网上的视频文件,需要经过以下几个步骤:

  • 解协议
  • 解封装
  • 解码音视频
  • 音视频同步

ps:本地文件就不需要解网络传输协议(解协议)

辛勤绘制的助解图,这个图很基础也很重要:
音视频编解码流程.png

二、各阶段格式“字典”

1、流媒体协议


流媒体协议.png

2、封装格式


封装格式.png

3、视频编码


视频编码.png

优略:HEVC > VP9 > H.264> VP8 > MPEG4 > H.263 > MPEG2。

4、音频编码


音频编码.png

优略:AAC+ > MP3PRO > AAC> RealAudio > WMA > MP3

三、基于FFmpeg制作一个简单的播放器

  • 1、在项目中集成iOS使用的FFmpeg库传送门
  • 2、播放器制作文档(一)
  • 3、播放器制作文档(二)
  • 4、播放器制作文档(三)
  • 5、我的demo地址

四、有关XXGLView是直接用的kxmovie的,关于OpenGL的渲染后面有空再续聊,本期更新只关注编解码流程。

你可能感兴趣的:(多媒体学习笔记(分析kxmovie用FFmpeg制作一个简单的播放器))