博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小视频程序开发掌握技巧才最重要
阅读量:6578 次
发布时间:2019-06-24

本文共 895 字,大约阅读时间需要 2 分钟。

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

1.推流编码
推荐Android4.3或以上使用硬件编码,以下使用软件编码,ios使用全硬件编码方案。
2.播放解码
Android和ios播放器大都使用软件解码方案,虽然在一定程度上牺牲功耗,但是在细节方面表现还是不错的。
3.软编码和硬编码的作用
软解码:使用CPU进行编码
硬编码:使用非CPU进行编码
u_2126834629_581972842_fm_26_gp_0_wps_
4.软编码和硬编码的比较
软编码:实现直接、简单和参数调整方便,但CPU负载较重,性能比起硬编码来说较低,软编码可以在运行时确定,低码率下的质量会比硬编码的质量要好一些。
硬编码:性能好,在低码率下质量低于软编码器,而硬编码是不能够改变的,但是部分产品在GPU硬件平台上移植了优秀的软编算法,质量基本等同于软编码。
视频编解码是一个非常消耗性能的操作,比如我们日常在用手机玩游戏时,经常会遇到手机发热发烫地问题。虽然分析了视频编解码的相关参数,但是实际情况最好的编解码效果是根据机型进行适配的。由于ios的设别类型较少,可以做到每个机型针对性的测试和优化,但是对于Android来说,就很难做到将机型进行针对性调优,再加上安卓市场每年都会推出很多机型,如果在编写代码时固定之后,就会使得后期的维护和迭代困难。
软编码是一种设计,而硬编码不过是一种具体的实现。小视频程序开发不只是需要一个软件的实现,更加需要软件能够很好的修改从而方便扩展。我们常说的对程序进一步重构,目的就在于实现对象之间的松耦合,使程序能够应对多种情况下的变化,具有一定的扩展性。硬编码和软编码只是一种表现在实际情况中的一种问题,而这种思想可以应用于多个方面。
本文声明原创,转载请注明出处。

你可能感兴趣的文章
你可能不知道的技术细节:存储过程参数传递的影响
查看>>
HTML转义字符大全(转)
查看>>
[摘录]调动员工积极性的七个关键
查看>>
Backup Volume 操作 - 每天5分钟玩转 OpenStack(59)
查看>>
.htaccess 基础教程(四)Apache RewriteCond 规则参数
查看>>
Android控件之HorizontalScrollView 去掉滚动条
查看>>
UVM中的class--2
查看>>
ORACLE 存储过程异常捕获并抛出
查看>>
博客园博客美化相关文章目录
查看>>
root用户重置其他密码
查看>>
Oracle推断值为非数字
查看>>
多年前写的一个ASP.NET网站管理系统,到现在有些公司在用
查看>>
vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath
查看>>
从JDK源码角度看Short
查看>>
五年 Web 开发者 star 的 github 整理说明
查看>>
Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
查看>>
中台之上(五):业务架构和中台的难点,都是需要反复锤炼出标准模型
查看>>
使用模板将Web服务的结果转换为标记语言
查看>>
inno setup 打包脚本学习
查看>>
php 并发控制中的独占锁
查看>>