【短视频SDK】Android如何使用硬编硬解?

为什么要使用硬编硬解?

音频和视频编码时有两种选择:软件编码和硬件编码。软编的效果更好但会占用更多的资源,硬编的效果差一些但占用的资源较少.
同样解码也有两种选择:硬件解码和软件解码.硬解的效果相比软解的速度有更大的优势.由于Android设备和系统的多样性,并非每一台设备都直接支持硬编,硬解,正确的使用硬编、硬解可以极大的提高性能.

内部硬编硬解策略?

短视频SDK关于硬编硬解的默认策略是:默认开启硬编,硬解,因为Android的多样性问题为提升阿里云短视频SDK使用硬编硬解的成功率和覆盖率,阿里云短视频SDK依靠阿里机型库top 300的Android机型进行测试之后,收集形成了内部的硬编黑名单和硬解白名单.如果硬编或者硬解失败了,就会转为软编和软解.

接口说明

为了方便用户使用,阿里云短视频SDK提供接口来扩展支持硬编黑名单和硬解白名单.关键接口:

    /**
     * 添加硬解码器白名单,model和versions的顺序必须对应起来
     * 白名单中的机型将使用硬解,白名单外的机型将使用软解
     * @param models 机型model
     * @param versions 机型系统版本号,如果不需要适配到版本号,则version填0即可
     */
    public static void decoderAdaptiveList(String[] models, int[] versions);

    /**
     * 添加硬编黑名单,model和versions的顺序必须对应起来
     * 黑名单内的机型将使用软编,黑名单外的机型都使用硬编
     * @param models 机型model
     * @param versions
     */
    public static void encoderAdaptiveList(String[] models,int[] versions);

当然虽然默认是硬编硬解,开发者依然可以根据业务设置为软编软解,SDK提供了强制设置硬编、硬解的接口:

    /**
     * 设置强制开启硬解,建议在开发阶段debug的时候可以强制开启硬解,正式环境下不建议强制开启。
     * 开发者可以在开发阶段强制开启硬解,适配测试后,将通过的机型使用{@link NativeAdaptiveUtil#decoderAdaptiveList(String[], int[])}接口
     * 添加到白名单中。
     * @param hwDecoderEnable
     */
    public static void setHWDecoderEnable(boolean hwDecoderEnable);

        /**
     * 设置强制开启硬编,建议在开发阶段debug的时候可以强制开启硬编,正式环境下不建议强制开启。
     * 开发者可以在开发阶段强制开启硬编,适配测试后,将不通过的机型使用{@link NativeAdaptiveUtil#encoderAdaptiveList(String[], int[])}接口
     * 添加到黑名单中。
     * @param hwEncoderEnable
     */
    public static void setHWEncoderEnable(boolean hwEncoderEnable);

扩展白名单

如果您发现您的机器不支持硬编,或者您发现您的机器支持硬解,欢迎联系我们告知我们。我们会在1~2个工作日内将您的信息加入硬编黑名单和硬解白名单中.您需要提供如下信息:
发送至:videosdk@service.aliyun.com 邮件主题:扩展硬编黑名单/硬解白名单.

手机型号:通过Build.MODEL来获取
手机系统版本:通过Build.VERSION.RELEASE来获取
是否支持硬编:XXX
是否支持硬解:通过接口isDeviceDecoderEnable来获得是否支持硬解


本文为【问答合集】阿里视频云常见技术问题汇总——内含技术文档40+ 持续更新中 系列文章之一,如果本文还不能解决你的问题可以在汇总合集中查看,有任何问题也欢迎回复,谢谢.

时间: 2024-11-01 00:37:34

【短视频SDK】Android如何使用硬编硬解?的相关文章

【短视频SDK】如何导入Android的AAR?动态库so文件到底怎么样放呢?

开发者在拿到短视频Android的SDK的时候会有些觉得不太一样,为什么SDK提供的是AAR文件和几个so文件呢?我们常见的SDK不是都是jar包吗?文本试图将AAR是什么,如何导入出现的问题进行一个归纳总结,希望开发者读完能够解决这种类型的问题. 1.什么是AAR文件?如何导入AAR文件? 1.1 什么是AAR文件? 开发者在开发的时候大家都遵循组件化的思路写代码,比如我们在写一个圆形的自定义组件的时候,这个组件是一个独立的组件,但是他可能不仅仅包含Java代码,还有很多资源甚至是底层so文件

【短视频SDK】合成时长和文件大小对比数据---给参数设置提供参考.

本文之前我们已经有一篇文章针对现在短视频SDK暴露的参数有一个基本解析:----->传送门:对焦模式.裁剪模式.视频质量.分辨率.视频比例.帧率.关键帧间隔等参数解析.做好一个短视频SDK的核心我们认为有几个要点:清晰度,稳定性,合成速度.开发者理解了这些参数的意义之后,那么到底怎么样选择参数呢?今天我们以数据的形式来展示目前阿里云短视频SDK能够达到什么程度,以方便产品和开发同学选择怎么样的参数. 一.测试准备 1.使用SDK:短视频SDK(Android端) v3.3.2版本 2.根据CPU

【短视频SDK】 如何实现变速录制做一个像抖音、muse这样的短视频应用

之前我们发了一个关于阿里云短视频SDK上线前置变速录制+音乐的博文见:阿里云首推音乐变速短视频SDK,上线抖音 freestyle只需1步.但是具体如何做呢?看起来这么高大上的功能使用SDK集成简单吗? 接口简析 上面说了所谓的抖音特效事实上我们理解分为两个功能点:变速录制+录制时播放并添加背景音乐.对应到SDK中如何设置呢? 变速录制:变速录制事实上就是希望感官上看到的视频是速度变快的,且能够卡主音乐的时间点以达到快播的效果.开发者仅需要设置录制速率即可 录制时播放音乐并添加音乐:需要根据设置

【短视频SDK系列之一】阿里云上线短视频解决方案

相信很多人都已经被从去年年底接开始踵而来的短视频行业融资.战略事件.新品发布刷屏,短视频已经走上了风口浪尖,成为大众用户和行业人士关注的对象. 实际上,互联网的内容行业正在进阶,从文字.图片到视频.直播,再到能填补用户碎片时间的短视频,这是一个趋于互动性.实时性的迭代.而且,4G普及.资费下调.编解码技术进步和移动硬件的品质提升,也为短视频的发展提供了良好客观因素.从产品形态层面看,短视频本身也拥有创作门槛低.内容精炼.易于发酵等属性,更易于传播.综合这几点,短视频创业才如此蓬勃.那作为国内领先

短视频SDK基础版、标准版、专业版的差异

1.为什么需要多个版本? 短视频SDK分为三个版本,基础版,标准版和专业版.他们三个版本分辨对应不同的功能,需要三个版本的主要核心原因是针对不同的客户的产品策略不一样,各个版本各有优势. 基础版:虽然不能自定义UI,但是却是最容易集成的SDK,不需要关心业务,SDK一次性解决了所有工作,理论集成时间不超过一天. 标准版:在基础版的基础上能够自定义UI,主要是为了解决部分客户对基础版的UI交互不满意需要修改UI交互的需求. 专业版:整体功能性需求多,且定制性高的客户. 2.核心差异对比 短视频有三

【短视频SDK】关于iOS提供的SDK中模拟器版本(debug)和release 版本

目前短视频SDK的iOS版本在阿里云官网下载,下载页面有两个选择,一个是纯粹的SDK,一个是独立的示例代码. 我们以iOS专业版SDK为例,我们看到下载完成里面有一个framework就是我们需要的SDK,有一个debug的和一个release的,分别对应可以模拟器编译版本和可以上传到App Store的release版本.目前我们的示例代码就是提供的SDK release版本. Debug版本和release版本有什么区别呢?什么时候选择使用什么样的版本呢? Debug版本:带x86的包可以编

【短视频SDK】如何做到视频原始比例裁剪?

1.概述 目前短视频SDK裁剪视频提供了多种模式.填充模式和裁剪模式.但是demo没有演示裁剪视频原始大小.就会出现几个问题: 如果使用填充模式,设置输出的分辨率是竖屏,如果原始视频是横屏的,就会对视频添加黑边. 如果使用裁剪模式,设置输出的分辨率是竖屏,如果原始视频是横屏的,就会只裁剪视频的部分区域,导致有些细节会丢掉. 于是我们就需要一个做法能裁剪视频的原始大小,以此来解决视频裁剪出现黑边或者是丢掉太多细节的问题. 2 .如何做到裁剪视频原始大小? 2.1 核心接口AliyunICrop(安

【短视频SDK】如何开启人脸识别做到像faceu一样的人脸动图效果?如何集成第三方人脸识别库?

现如今短视频应用没个人脸识别都不好意思说自己是做短视频的,阿里云深知这个痛点,花了大力气来完成人脸识别的开发,在现在第三方厂家人脸识别都卖几十万的市价基础上免费阿里视频云团队做了一个不算艰难的决定.免费!免费!免费! 短视频SDK目前的人脸识别提供两种方案,一种是直接使用短视频的SDK内部的人脸识别,一种是购买第三方的人脸识别来集成自SDK,本文将会分别讲解这两种方式的集成. 先来看看我们实现的人脸动图的效果: 人脸动图是什么? 现在市面上看到的人脸动图效果在技术上我们通俗的讲分为几个部分: 视

阿里云首推音乐变速短视频SDK,上线抖音 freestyle只需1步

2016年可谓是短视频行业风生水起的一年,2017年更是呈现市场井喷的态势.短视频玩家从从秒拍.美拍到今年刚刚入局的土豆,竞争可谓激烈.值得关注的还有快手这匹短视频APP黑马,在它的引领下短视频服务被资本和市场普遍看好,据说快手至今已经覆盖4亿用户,日活达6000万之高.最近短视频圈多了一个后起之秀--抖音,这个画风奇绝动感酷炫的短视频APP上线不到半年就迅速走红,它主打的混音和变速玩法让年轻人欲罢不能. 短视频好像拥有一种魔力,可以无限激发用户的创作和表达欲望.这恰恰又是以内容为王的互联网服务