ffmpeg视频播放器原理

 ffmpeg
时间:

视频播放器原理

  • 封装格式(MP4, RMVB, TS, FLV, AVI)
  • 视频编码数据(H.264, MPEG2, VC-1)
  • 音频编码数据(AAC, MP3, AC-3)
  • 视频像素数据(YUV420P, RGB)
  • 音频采样数据(PCM)

信息查看工具

  • 综合信息查看

    • MediaInfo
  • 二进制信息查看

    • UItraEdit
  • 单项详细分析

    • 封装格式: Elecard Format Analyzer
    • 视频编解码数据: Elecard Stream Eye
    • 视频像素数据: YUV Player
    • 音频采样数据: Adobe Audition

封装格式

  • 封装格式的作用

    • 视频码流和音频码流按照一定的格式存储在一个文件中。
名称 推出机构 目前使用领域
AVI Microsoft Inc. BT下载影视
MP4 MPEG 互联网视频网站
TS MPEG IPTV, 数字电视
FLV Adobe Inc. 互联网视频网站
MKV CoreCodec Inc. 互联网视频网站
RMVB Real Networks Inc. BT下载影视
MPEG2-TS格式简介

MPEG2系统任务包括:

  1. 规定以包传输数据的协议;
  2. 规定收发两端数据流同步的协议;
  3. 提供数据流加密的协议.以包形式存储和传送数据流是MPEG2系统之要点。

不包含文件头,将数据切片成大小固定的(188Byte)的TS Packet包。

如果文件损坏了,整个视频就播放不了

FLV格式简介

包含文件头,数据由大小不固定的Tag构成。

FLV,因为有包含文件头,所以文件损坏了就播放不了。

视频编码数据

  • 视频编码的作用

    • 将视频像素数据(RGB, YUV等)压缩成为视频码流,从而降低视频的数据量。
  • 视频编码分析工具

    • Elecard Stream Eye
名称 推出机构 推出时间 目前使用领域
HEVC(H.265) MPEG/ITU-T 2013
H.264 MPEG/ITU-T 2003 各个领域
MPEG4 MPEG 2001 不温不火
MPEG2 MPEG 1994 数字电视
VP9 Google 2013 研发中
VP8 Google 2008 不普及
VC-1 MicrosoftInc 2006 微软平台

H.264格式简介

  • 数据由大小不固定的NALU构成
  • 最常见的情况下,1个NALU存储了1帧画面的压缩编码后的数据。

H.264压缩方法

  • 比较复杂。包含帧内测,帧间预测,熵编码,环路滤波等环节构成。
  • 可将图像数据压缩100倍以上。

音频编码数据

  • 音频编码的作用

    • 将音频采样数据(PCM等)压缩成为音频码流,从而降低音频的数据量。
  • 音频编码分析工具

    • []
名称 推出机构 推出时间 目前使用领域
AAC MPEG 1997 各个领域
AC-3 Dolby Inc. 1992 电影
MP3 MPEG 1993 各个领域
WMA Microsoft Inc 1999 微软平台
AAC格式简介
  • 数据由大小不固定的ADTS构成

视频像素数据

  • 视频像素数据作用

    • 保存了屏幕上每个像素点的像素值。
  • 格式

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

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

    • YUV Player

RGB格式简介

* Red,Green,Blue 三种颜色,可以混合成世界上所有的颜色。
* 彩色图像中每个点,由R,G,B三个分量组成。
* 以RGB24为例,=图像像素数据的存储方式:

从图中可以看出,RGB24依次存储了每个像素点的R,G,B信息。

BMP文件中存储的就是RGB格式的像素数据。

YUV格式简介

* 相关实验表明,人眼对亮度敏感而对色度不敏感.因而可以将亮度信息和色度信息分离,并对色度信息采用更"狠"一点的压缩方案,从而提高压缩效率。

Y: 亮度信息
UV: 色度信息

YUV420

  1. 先存储整张图像的Y信息。
  2. 然后存储整张图像的U信息。
  3. 最后存储了整张图像的V信息。

音频采样数据

  • 音频采样数据作用

    • 保存了音频中每个采样点的值。
  • 特点

    • 音频采样数据体积很大,一般情况下一首4分钟的PCM格式的歌曲体积为:
// 假定采样率为44100Hz,采样精度为16bit
4*60*44100*2*2=42.3Mbyte
  • 音频采样数据查看工具:

    • Adobe Audition

PCM格式简介

  • 单声道的情况下按照顺序存储每个采样点的数据。
  • 双声道的情况下按照”左右,左右”的顺序存储每个采样点两个声道的数据.


0 评论