Android视频开发基础(一)

 

       最近项目中实现了短视频的功能,主要包括视频的编辑处理、上传和播放。这是第一次真正略深入的接触视频开发,项目中接触到许多新的概念,也踩了很多坑,整体感觉视频处理还是十分复杂的知识体系,需要花大量的精力和时间才能很好的掌握这项技术。

       下面就谈一谈其中涉及到的一些基础内容,也作为对之前工作的回顾。

 

基本概念

码率

       码率就是数据传输时单位时间传送的数据位数,单位一般是kbps即千位每秒。码率影响体积,与体积成正比:码率越大,体积越大;码率越小,体积越小。码率还影响清晰度,码率越高清晰度也就越高。需要注意的是码率超过一定数值,对图像的质量没有多大影响。通常来讲,体积=码率×时间,由于有其他因素影响,这个值会稍微有一些误差。码率也就是采样率(并不等同于采样率,采样率的单位是Hz,表示每秒采样的次数),单位时间内采样率越大,精度就越高,处理出来的文件就越接近原始文件。但是文件体积与取样率是成正比的,所以几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真,围绕这个核心衍生出来cbr(固定码率)与vbr(可变码率)。

       通常来说,一个视频文件包括画面和声音,音频及视频都有各自不同的码率,也就是说,同一个视频文件音频和视频的码率并不相同。而通常所说的视频文件码率大小,一般是指视频文件中音频和视频码率的总和。

 

       CBR 编码 (Constant Bitrate)

       CBR 编码是一种静态码率,也就是视频文件从头到尾都是恒定码率。

       它的优点是运算量小,压缩快,能被大多数软件和设备支持,缺点是占用空间相对大,压缩出来的视频画质较差,尤其是在在画面剧烈运动的时候会由于码率不够而丢失部分画面信息,从视觉上来看就是画面波纹严重,图像不清晰。一般情况下,合成相同质量的节目时,采用CBR编码方式时节目合成时间会短一些,但文件的长度会大一些。

 

       VBR 编码 (Variable Bitrate)

       它是一种动态码率,也就是没有固定的比特率,编码算法根据视频内容的变化来选择不同的实时码率对视频进行编码,把较高的码率用于复杂的动态画面,而把较低的码率用于静态画面,合理利用资源,达到画质较高的情况下,体积也较小。当视频内容的画面变化忽大忽小时,VBR 编码是很有优势的。使用 VBR 编码时,系统将自动为内容的简单部分分配较少的比特,从而留出足量的比特用于生成高质量的复杂部分,这意味着复杂性恒定的内容不会受益于 VBR 编码。对混合内容使用 VBR 编码时,在文件大小相同的条件下,VBR 编码的输出结果要比 CBR 编码的输出结果质量好得多。在某些情况下,与 CBR 编码文件质量相同的 VBR 编码文件,其体积大小可能只有前者的一半。

       VBR的优点就体现出来了,画面质量相对高,文件体积相对较小,但是缺点也很明显,编码的算法要复杂很多,运算量大,压缩时间长。

 

帧率

        帧率或者称FPS(Frames Per Second,帧/秒),是指每秒显示的图片数,或者GPU处理时每秒能够更新的次数。越高的帧速率可以得到更流畅逼真的画面。每秒钟帧数越多,所显示的动作就会越流畅。帧率也会影响体积,帧率越高,每秒钟显示的画面越多,体积就越大。

       由于人类眼睛的特殊生理结构,如果画面帧率高于16,就会认为是连贯的,此现象称之为视觉暂留。并且当帧速达到一定数值后,再增长的话,人眼能感知的流畅度的提升就比较有限了。一般来说30fps是可以接受的,将性能提升至60fps则可以明显提升交互感和逼真感,如果超过75fps一般就不容易察觉到有明显的流畅度提升了。如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以这么快的速度更新。

 

分辨率

       通常所说的1280x720(720p)或者1920x1080(1080p),就是视频的分辨率。分辨率影响

  • 23
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值