视音频基础知识

二、制作过程中需要的视音频基础知识

1.视频播放器原理:

播放一个视频文件的流程如下所示:
视音频基础知识_第1张图片

1.1.常用播放器

  1. 跨平台系列(非DirectShow框架)
    VLC,Mplayer,ffplay等
  2. Windows系列(DirectShow框架)
    完美解码,终极解码,暴风影音等

    备注:DirectShow框架介绍
     **优点:**DirectShow是资格最老的多媒体开发框架之一,20多年前就有了,非常经典,即便到了现在,在Windows多媒体领域仍然是不可替代的。虽然不开源,但有详细的说明文档和开发指南,微软的DirectShow SDK中附有大量的示例代码和基础类库,是很好的学习资源,可以了解多媒体框架的样子。
      DirectShow实践了经典的“管道和过滤器(Pipes and Filters)”设计模式,这是多媒体领域最重要的设计模式,有了它,就能把复杂的多媒体处理任务分解成一个个独立的小模块,解决起来就不那么复杂了。DirectShow中的很多概念、设计、处理方法都很有创新精神和参考价值,值得学习。后来的很多多媒体框架都从DirectShow中或多或少的吸取了营养。

      缺点:

      1:不开源,只能运行在Windows系统,微软的东西,这个就不多说了。

      2:组件化的开发和部署模式,这个是优点也是缺点。优点是支持跨多个应用的功能集成与复用,当然这主要是通过更底层的COM架构实现的;缺点是应用的发布和配置比较复杂,对运行环境依赖程度大。

      3:开发负担太重。其实COM这样的架构最适合的场景是操作系统DIY,如果应用程序不想扩展操作系统功能,也不想被其他应用程序调用,那COM对它来说完全就是负担。应用中的每个模块都要实现COM规定的接口(如组件注册、引用计数、接口查询等)和DirectShow规定的必须实现的功能(如格式注册、Pin的枚举和连接、内存管理等)。虽然DirectShow SDK已经提供了很多基础类库来实现这些例行功能,但仍然让人不胜其烦,难以把精力集中到应用程序自身的逻辑。

      4:线程设计太复杂,内存池、线程优先级控制,filter中有很多调用可能把当前线程阻塞,而线程是跨filter的(线程可能会在不止一个filter上被阻塞,包括没有直接调用到的filter),这进一步增加了复杂性,编写filter时有一大堆规则需要遵守,稍不注意就可能造成死锁。

1.2.信息查看工具

1.综合信息查看
MediaInfo
视音频基础知识_第2张图片

2.二进制信息查看
UltraEdit
视音频基础知识_第3张图片

3.单项详细分析

封闭格式:Elecard Format Analyzer
视音频基础知识_第4张图片

视频编码数据:Elecard Stream Eye
视音频基础知识_第5张图片

视频像素数据:YUV Player(需要设置正确的长宽才能正常播放,不知道长宽时,可先通过视频分析工具分析出长宽*
视音频基础知识_第6张图片

音频采样数据:Adobe Audition(本次不涉及)
视音频基础知识_第7张图片

2.封闭格式:

视音频基础知识_第8张图片
视音频基础知识_第9张图片

3.视频编码数据:

3.1.视频编码的作用

将视频像素数据(RGG,YUV等)压缩成为视频码流,从而降低视频的数据量。
视频像素数据体积很大,一般情况下1小时高清视频的RGB24格式的数据体积为3600*25*1920*1080*3=559.9GByte
(这里假定帧率为25Hz,取样精度8bit,3为三通道R,G,B)
若采用H.264编码压缩方法,刚可以将图像数据压缩100倍以上,数据量大大降低。

3.2.视频编码分析工具

Elecard Stream Eye

3.3.常用编码压缩方式介绍

视音频基础知识_第10张图片

H.264格式介绍:

视音频基础知识_第11张图片

4.音频编码数据:

4.1.音频编码的作用

将音频采样数据(PCM等)压缩成音频码流,从而降低音频的数据量。

4.2.音频编码分析工具

暂不涉及

4.3.常用编码压缩方式介绍

视音频基础知识_第12张图片

AAC格式介绍:

视音频基础知识_第13张图片

5.视频像素数据:

5.1.视频像素数据作用

保存了屏幕上每个像素点的像素值

5.2.格式

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

5.3特点

视频像素数据体积很大,一般情况下1小时高清视频的RGB24格式的数据体积为:
3600*25*1920*1080*3=559.9GByte
(假定帧率为25Hz,取样精度8bit)

5.4.YUV格式像素数据查看工具

YUV Player

5.5.RGB格式介绍

视音频基础知识_第14张图片

5.6.YUV格式介绍

视音频基础知识_第15张图片

其中数据量Y:U : V=4 : 1 : 1

4.音频采样数据:

4.1.音频采样数据作用

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

4.2.特点

音频采样数据体积很大,一般情况下一首4分钟的PCM格式的歌曲体积为:4*60*44100*2*2=42.3MByte
(这里假定采样率为44100Hz,采样精度为16bit)

4.3.音频采样数据查看工具

Adobe Audition

4.4.PCM格式介绍

视音频基础知识_第16张图片

你可能感兴趣的:(视音频基础知识)