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

简介: 1.概述 目前短视频SDK裁剪视频提供了多种模式。填充模式和裁剪模式.但是demo没有演示裁剪视频原始大小.就会出现几个问题: 如果使用填充模式,设置输出的分辨率是竖屏,如果原始视频是横屏的,就会对视频添加黑边.

1.概述

目前短视频SDK裁剪视频提供了多种模式。填充模式和裁剪模式.但是demo没有演示裁剪视频原始大小.就会出现几个问题:

  • 如果使用填充模式,设置输出的分辨率是竖屏,如果原始视频是横屏的,就会对视频添加黑边.
  • 如果使用裁剪模式,设置输出的分辨率是竖屏,如果原始视频是横屏的,就会只裁剪视频的部分区域,导致有些细节会丢掉.

于是我们就需要一个做法能裁剪视频的原始大小,以此来解决视频裁剪出现黑边或者是丢掉太多细节的问题.

2 .如何做到裁剪视频原始大小?

2.1 核心接口AliyunICrop(安卓)和AliyunCrop(iOS)

裁剪视频得到原始大小的核心点需要了解的是裁剪的核心接口叫AliyunICrop,具体这个接口的接口文档见专业版文档中关于裁剪的说明.这个接口有个函数setCropParam(以安卓为例),即设置输出的视频的参数,主要是设置输入输出路径、输出的宽高和裁剪视频的开始结束时间.

    /**
     * 设置裁剪参数
     * @param param
     */
    void setCropParam(CropParam param);

2.2 裁剪策略

那么是不是裁剪设置输出的宽高为视频的宽高就可以了呢? 这里有一个建议,因为涉及几个问题:

1.原始视频如果分辨率非常大,如1080P,裁剪时间可能会比较长
2.原始的视频如果大小很大,如视频超过100M,用户流量费用是个问题,就有可能有压缩的需求.

于是我们的解决方案是:

1.假设原始视频宽高是1080*1920
2. 设置裁剪区域为1080*1920---接口请通过rect设置
3. 设置输出大小为360*640
4. 于是生成的视频就会是一个360*640的保留视频原始尺寸的视频了.这样即保证了视频的细节保留,也让视频的大小有了减少.

注意:因为1080*1920和360*640刚好是都是9:16的比例,所以可以刚刚好完全保留细节,但是现实的应用中可能会出现很多不规则的视频,于是就需要开发者自己解决这部分适配尽可能多的保留细节.比如你的视频是1080*2000的,你就裁剪1080*1920事实上也尽可能多的保留了细节.

希望本文能对你有所帮助!!!!


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

目录
相关文章
|
5月前
|
文字识别 小程序 API
视觉智能开放平台产品使用合集之使用SDK进行视频活体检查时,如何将视频URL传递给后端服务
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
6月前
|
存储 监控 开发工具
Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现相机图像转换为AVI视频格式(C++)
Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现相机图像转换为AVI视频格式(C++)
76 0
|
5月前
|
API 开发工具 Android开发
视觉智能开放平台产品使用合集之离线SDK是否可以实现视频人脸对比搜索
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
11月前
|
编解码 Java 开发工具
Android端接入视频生产 Java SDK
Android端接入视频生产 Java SDK
77 1
|
11月前
|
分布式计算 Hadoop Java
hadoop sdk 优化小结(裁剪、集成kerberos组件、定制等)
hadoop sdk 优化小结(裁剪、集成kerberos组件、定制等)
69 0
|
监控 安全 算法
Baumer工业相机堡盟相机如何使用BGAPI SDK和Opencv联动实现图像转换成视频(C#)
Baumer工业相机堡盟相机如何使用BGAPI SDK和Opencv联动实现图像转换成视频(C#)
115 0
|
分布式计算 Kubernetes Hadoop
hadoop sdk 优化小结(裁剪、集成kerberos组件、定制等)
hadoop sdk优化、裁剪、集成kerberos组件、定制化等
121 0
|
开发工具 开发者 微服务
技术点-阿里云视频点播 SDK(获取视频凭证) | 学习笔记
快速学习技术点-阿里云视频点播 SDK(获取视频凭证)
|
3月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
83 0
|
13天前
|
Java Linux API
Android SDK
【10月更文挑战第21天】
42 1