阿里云
FIFA
发表主题 回复主题
  • 3831阅读
  • 6回复

[体验反馈]短视频SDK如何做到视频原始比例裁剪?

级别: 论坛版主
发帖
73
云币
135



1.概述


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


如果使用填充模式,设置输出的分辨率是竖屏,如果原始视频是横屏的,就会对视频添加黑边.
如果使用裁剪模式,设置输出的分辨率是竖屏,如果原始视频是横屏的,就会只裁剪视频的部分区域,导致有些细节会丢掉.
于是我们就需要一个做法能裁剪视频的原始大小,以此来解决视频裁剪出现黑边或者是丢掉太多细节的问题.





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


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


  1. [size=3]    /**[/size]
  2. [size=3]     * 设置裁剪参数[/size]
  3. [size=3]     * @param param[/size]
  4. [size=3]     */[/size]
  5. [size=3]    void setCropParam(CropParam param);[/size]

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事实上也尽可能多的保留了细节.




希望本文能对你有所帮助哦~
级别: 论坛版主
发帖
73
云币
135
只看该作者 沙发  发表于: 09-13
级别: 新人
发帖
2
云币
3
只看该作者 板凳  发表于: 09-20
Re短视频SDK如何做到视频原始比例裁剪
有没有群啊?我遇到了问题。
级别: 管理员
发帖
308
云币
222745
只看该作者 地板  发表于: 09-21
感谢分享
级别: 论坛版主
发帖
3
云币
4
只看该作者 4楼 发表于: 09-26
回 2楼(1tromanstyle11) 的帖子
有问题可以在阿里云官网提交工单。
级别: 禁止发言
发帖
52
云币
71
只看该作者 5楼 发表于: 10-04
用户被禁言,该主题自动屏蔽!
级别: 小白
发帖
23
云币
34
只看该作者 6楼 发表于: 11-04
Re短视频SDK如何做到视频原始比例裁剪
mark~
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
批量上传需要先选择文件,再选择上传
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个