视音频基础知识
Posted yuyaweibest
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了视音频基础知识相关的知识,希望对你有一定的参考价值。
二、制作过程中需要的视音频基础知识
1.视频播放器原理:
播放一个视频文件的流程如下所示:
1.1.常用播放器
- 跨平台系列(非DirectShow框架)
VLC,Mplayer,ffplay等 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格式介绍
以上是关于视音频基础知识的主要内容,如果未能解决你的问题,请参考以下文章