Fetch the repository succeeded.
This action will force synchronization from then/LanSoEditor_common1, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
- 1, 一条命令即可完成,阻塞执行:
VideoEditor editor=VideoEditor();
举例1: 视频增加水印:
"处理后的视频"=editor.executeOverLayVideoFrame("视频路径","增加的图片路径","x坐标","y坐标");
举例2: 裁剪视频时长:
dstResult=editor.executeCutVideo("视频路径","开始时间S","结束时间S");
举例3: 画面裁剪:
dstResult=editor.executeCropVideoFrame("视频路径","x坐标","y坐标","裁剪宽度","裁剪高度");
- 2, 我们封装好的功能有
替换背景音乐, 声音混合, 多段视频的拼接, 不同视频源的拼接, 视频画面拼接, 读取视频帧, 获取所有帧, 图片转视频,
倒序,加减速,镜像,音频混合,音频转码,画面填充,缩放,压缩,镜像,增加文字,视频转码,图片视频转GIF等;
- 3, 如果列举的功能不能满足您的需求, 您可以根据ffmpeg的命令自行扩展,代码中有说明;
1, VideoEditor其他公共方法:
1. setonProgressListener(); //executeXXX 正在执行的百分比进度;
2 setEncoderBitrate(); //给executeXXX 指定码率;
3 VideoEditor.isForceSoftWareEncoder=true; //强制executeXXX 在编码时,采用软编码器;
4 cancel(); //取消正在执行的executeXXX;
5,当返回null, 我们提供了log采集, 可通过getErrorLog()得到错误信息;大部分是因为视频参数错误引起的.
2, 写了MediaInfo辅助类, 用来很快的获取视频的基本信息,以方便你实际参数的参考, 使用如下:
MediaInfo info=new MediaInfo("要获取视频的路径");
if(info.prepare()){
; 如果返回true,得到视频宽度,高度,码率,帧率,时长,编码器,总帧数,是否有B帧,旋转角度, 音频采样率,音频通道数, 音频码率,是否有音频,视频,视频是否旋转 等参数;
}
也可以先用MediaInfo判断当前视频的各种信息;
3, 文件创建,删除类 LanSongFileUtil.java 方便你在编辑时的各种文件创建,删除, 判断等操作.
方法1: 80%的问题是因为文件传输错误,可用MediaInfo.checkFile("您的文件绝对路径"); 来查看打印信息, 根据打印信息的提示,排除问题。
方法2: 查看打印信息, 如返回 xxx pixel -1之类, 说明找不到对应的节码器; 如其他信息, 查看对应的关键字, 大部分是因为命令错误,或没有覆盖之前的文件等等;
LanSoEditor.initSDK(getApplicationContext());
在您工程的settting.gradle中增加: ,'LanSongSDK' ; 并在app.gradle中 增加: implementation project(':LanSongSDK')
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。