美文网首页
小视频程序开发掌握技巧才最重要

小视频程序开发掌握技巧才最重要

作者: 爱吃五花肉吗 | 来源:发表于2019-02-26 11:55 被阅读0次

为了节省储存空间,大部分视频文件在进行播放之前都会经过压缩。相反,在播放的过程中就需要进行一个反射的解压缩过程,最早这项工作是由CPU完成的,像一些普通分辨率的AVI、Rmvb等文件,绝大多数CPU都可以胜任,但是发展到现在人们开始偏向于1080p超清视频需求之后,数据解压缩的工作量翻倍增长。再加上技术不断发展,在小视频程序开发过程中,经常会遇到关于硬编解和软编解之间的选择问题。至于如何选择,根据情况才能做出选择。

1.推流编码

推荐Android4.3或以上使用硬件编码,以下使用软件编码,ios使用全硬件编码方案。

2.播放解码

Android和ios播放器大都使用软件解码方案,虽然在一定程度上牺牲功耗,但是在细节方面表现还是不错的。

3.软编码和硬编码的作用

软解码:使用CPU进行编码

硬编码:使用非CPU进行编码

图片来源于网络

4.软编码和硬编码的比较

软编码:实现直接、简单和参数调整方便,但CPU负载较重,性能比起硬编码来说较低,软编码可以在运行时确定,低码率下的质量会比硬编码的质量要好一些。

硬编码:性能好,在低码率下质量低于软编码器,而硬编码是不能够改变的,但是部分产品在GPU硬件平台上移植了优秀的软编算法,质量基本等同于软编码。

视频编解码是一个非常消耗性能的操作,比如我们日常在用手机玩游戏时,经常会遇到手机发热发烫地问题。虽然分析了视频编解码的相关参数,但是实际情况最好的编解码效果是根据机型进行适配的。由于ios的设别类型较少,可以做到每个机型针对性的测试和优化,但是对于Android来说,就很难做到将机型进行针对性调优,再加上安卓市场每年都会推出很多机型,如果在编写代码时固定之后,就会使得后期的维护和迭代困难。

软编码是一种设计,而硬编码不过是一种具体的实现。小视频程序开发不只是需要一个软件的实现,更加需要软件能够很好的修改从而方便扩展。我们常说的对程序进一步重构,目的就在于实现对象之间的松耦合,使程序能够应对多种情况下的变化,具有一定的扩展性。硬编码和软编码只是一种表现在实际情况中的一种问题,而这种思想可以应用于多个方面。

本文声明原创,转载请注明出处。

相关文章

  • 小视频程序开发掌握技巧才最重要

    为了节省储存空间,大部分视频文件在进行播放之前都会经过压缩。相反,在播放的过程中就需要进行一个反射的解压缩过程,最...

  • 安卓开发要点

    掌握各种布局技巧 LinearLayout RelativeLayout 布局技巧,学会 布局嵌套 掌握重要的组...

  • 大数据DMP画像系统

    课程介绍 一、课程目标1、掌握画像标签开发技巧2、掌握数据挖掘技巧3、了解业内画像和DMP系统的架构和开发4、大数...

  • React-Native 调试技巧

    开发过程中,掌握调试技巧是每一个开发者的必修课。熟练的掌握调试技巧不仅可以加快开发速度,而且还可以达到事半功倍的效...

  • Google搜索技巧

    Google 搜索技巧 程序员应该掌握的10个搜索技巧 第二篇好看。

  • 干货:ANR 日志分析全面解析

    一、概述 解决ANR一直是Android 开发者需要掌握的重要技巧,一般从三个方面着手。 开发阶段:通过工具检查各...

  • 快速上手小程序

    最近开发了几个小程序,基本上是一两天掌握开发技能,分享下经验。 前端基础 开发小程序需要掌握基础知识(这里只介绍重...

  • Linux中的编程工具

    vim编辑器vim是Linux中开发和编程的利器,掌握好vim的使用技巧,效率将比使用GUI的程序更高vim的三种...

  • 10个非常适合菜鸟练手的Python项目,墙裂建议收藏!

    对于Python学习者来说,能够熟练的掌握Python中简洁而高效的编程技巧,不仅能够提升程序的效率,更重要的是体...

  • 10个非常适合菜鸟练手的Python项目,墙裂建议收藏!

    对于Python学习者来说,能够熟练的掌握Python中简洁而高效的编程技巧,不仅能够提升程序的效率,更重要的是体...

网友评论

      本文标题:小视频程序开发掌握技巧才最重要

      本文链接:https://www.haomeiwen.com/subject/uscayqtx.html