MyCam开发到现在预览部分的所有功能基本完成。特效部分也已经完成。剩下就是多尺寸视频文件的录制。之前写的编码成WMV的时候,录制的都是常用的尺寸(320*240)(640*480),我直接使用WMV SDK中已经提供的PROFILE文件就可以了,这样可以保证得到比较清晰的画质。现在Camera中出现了多个不同的尺寸,使用已经有的PROFILE已经不太现实。为了搞清楚到底应该怎么自己手动编译PROFILE,计算BITRATE,先来研究一个默认的ENCODER PROFILE。
上面红色的方框里面可以看到其中的编码格式:CBR & VBR.
一、概念解释
CBR:固定码率(Constants Bit Rate)就是镜头比特率的意思。CBR是一种固定采样率的压缩方式。优点是压缩快,能被大多数软件和设备支持,缺点是占用空间相对大,效果不理想,现已经逐步被VBR的方式取代。
固定码率是一个用来形容通信服务质量(QOS:Quality of Service)的术语。当形容编码器的时候,CBR编码指的是编码器的输出码率(或者解码器的输入码率)应该是固定值。当在一个带宽受限的信道中进行多媒体通讯的时候CBR是非常有用的,因为这时候受限的是最高码率,CBR可以更好的易用这样的信道。但是CBR不适合进行存储,因为CBR将导致没有足够的码率对复杂的内容进行编码(从而导致质量下降),同时在简单的内容部分也会浪费一些码率。
大部分编码方案的输出都是可变长码字,例如霍夫曼编码或者游程编码,这使得编码器很难做到完美的CBR,编码器可以通过调整量化(进而调整编码质量)的部分来解决这个问题。如果同时使用填充码可以完美达到CBR。
VBR
(Variable Bitrate)动态比特率。也就是没有固定的比特率。