视音频基础知识

Posted yuyaweibest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了视音频基础知识相关的知识,希望对你有一定的参考价值。

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

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.二进制信息查看
UltraEdit

3.单项详细分析

封闭格式:Elecard Format Analyzer

视频编码数据:Elecard Stream Eye

视频像素数据:YUV Player(需要设置正确的长宽才能正常播放,不知道长宽时,可先通过视频分析工具分析出长宽*

音频采样数据:Adobe Audition(本次不涉及)

2.封闭格式:


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.常用编码压缩方式介绍

H.264格式介绍:

4.音频编码数据:

4.1.音频编码的作用

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

4.2.音频编码分析工具

暂不涉及

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

AAC格式介绍:

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格式介绍

5.6.YUV格式介绍

其中数据量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格式介绍

以上是关于视音频基础知识的主要内容,如果未能解决你的问题,请参考以下文章

[总结]视音频编解码技术零基础学习方法

[总结]视音频编解码技术零基础学习方法

视音频基础知识

视音频基础知识

[总结]FFMPEG视音频编解码零基础学习方法

[总结]FFMPEG视音频编解码零基础学习方法