android系统中对ffmpeg封装最好的免费SDK
android系统中对ffmpeg封装最好的免费SDK;
无论个人还是公司,都免费商用, 欢迎下载。 https://github.com/LanSoSdk/LanSoEditor_common
可能是android系统中对ffmpeg封装最好的免费SDK;
主要特点:
- 增加 H264硬件编码器 和 H264硬件解码器, 处理速度极大提升;
- 增加40多个常见方法,编写各种辅助处理类.
- SDK已运行二年左右,商用APP200+.
免费策略:
- 此SDK已运行二年左右,商用APP200+, 现在永久免费.
- SDK不访问网络,完全本地处理.
- 个人和公司都可以商用,不需要和我们说明.
- 随我们专业版定期升级,维护.
- 遇到问题在issue中解答;
- 我们提供有偿技术支持和定制服务,详情见下面.
使用:
- 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 方便你在编辑时的各种文件创建,删除, 判断等操作.
### 集成步骤
- 直接导入lansongsdk 这个module后; 在代码开始的时候,增加SDK初始化代码:
LanSoEditor.initSDK(getApplicationContext());
我们提供了3种指令集:armeabi/armeabi-v7a/arm64-v8a,以方便不同的需求.但大部分是需要一个,我们推荐保留armeabi-v7a,在您导入项目后删除另外两个;
增值服务:
```
- 我们提供有偿技术支持, 费用12000元一年.提供如下:
1, 定制APK的开放功能代码.
2, SDK范围内的功能定制.
3, 及时的技术支持.
4, 规划需求时的视频技术咨询,可以在规划需求的时候,就向我们咨询,或许您感觉很复杂的效果,在我们看来,只需几行代码就可以实现,可以让您少走很多弯路;
- 编写的定制APK安装包,可以在当前SDK下载的文件夹中找到:
- 包含:
- 美颜录制. 类似微信的录制界面,包括聚焦,亮度调节,按下录制,拍摄图片.5级美颜.
- 编辑功能: 涂鸦, 增加文字, 增加图片,变速,时长裁剪,画面裁剪.
- 定制APK的功能,会一直更新, 速度和画质会一直优化,并采用GPU来渲染.欢迎你的使用.
```
- 定制APK的界面如下:


我们有专业版SDK,图层架构,可以做各种视频特效, 并支持AE模板,微商小视频,抖音趣拍等效果:
[android 专业版] (https://github.com/LanSoSdk/LanSoEditor_advance)
[ios 专业版] (https://github.com/LanSoSdk/LanSongEditor_IOS)
欢迎您的评估使用.
联系方式:
- 我们是杭州蓝松科技有限公司,需要盈利来维持公司运营, 免费的用户请在issue中提交你的问题,我们会一一解答,敬请谅解;
- 联系方式:
- 网站: www.lansongtech.com
- 邮箱: support@lansongtech.com
- QQ : 1852600324
android系统中对ffmpeg封装最好的免费SDK的更多相关文章
- Android系统中的6种模式
Android系统中的6种模式 1:一般启动模式(normal mode): 功能是正常启动手机,方法为关机状态下按电源键启动. 2:安全模式(safe mode): 此模式和正常启动一样 ...
- [原创]Android系统中常用JAVA类源码浅析之HashMap
由于是浅析,所以我只分析常用的接口,注意是Android系统中的JAVA类,可能和JDK的源码有区别. 首先从构造函数开始, /** * Min capacity (other than zero) ...
- Android系统中的广播(Broadcast)机制简要介绍和学习计划
在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制:这些组件甚至是可以位于不同的进程中,这样它就像Binder机制一样,起到进程间通信的作用:本文通过一个 ...
- Android系统中 setprop,getprop,watchprops命令的使用
如:在frameworks/opt/net/ims/src/java/com/android/ims/ImsManager.java if (SystemProperties.get("pe ...
- 用adb pull命令从android系统中读取文件失败的原因及解决办法
问题:使用adb pull命令从android系统中读取文件失败.显示:Permission denied 原因:是由于文件权限原因引起. 使用ls -l命令查看android系统中的 ...
- Android系统中的dp和px的转换
android系统中DP和SP的转化:1.首先分析TypedValue.java 可以调用以下代码获得dp的值 TypedValue.applyDimension(TypedValue.COMPLEX ...
- Android系统中设置TextView的行间距(非行高)
Android系统中TextView默认显示中文时会比较紧凑,不是很美观.为了让每行保持一定的行间距,可以设置属性android:lineSpacingExtra或android:lineSpacin ...
- android系统中如何通过程序打开某个AccessibilityService
android系统中如何通过程序打开某个AccessibilityService(系统辅助服务)? 通常的做法是注册AccessibilityService(辅助服务)后跳转到设置启动服务页面引导用户 ...
- Android系统中是否开启定位及定位模式的判断
1.关于Android系统中不同的定位模式 Android系统中包括3中定位模式: 使用GPS.WLAN和移动网络 使用WLAN和移动网络 仅使用GPS 截图 特点 同时使用GPS.WIFI及基站 ...
随机推荐
- JVM参数配置&&命令工具
JVM参数配置 大致方向:JVM调优的目的是保证在一定吞吐量的情况下尽可能的减少GC次数,从而减少系统停顿时间,提高服务质量和效率. 其中减少GC次数的原则: 将新生代转换成老年代的数量降至最少(及时 ...
- 体验SpringCloud Gateway
Spring Cloud Gateway是Spring Cloud技术栈中的网关服务,本文实战构建一个SpringCloud环境,并开发一个SpringCloud Gateway应用,快速体验网关服务 ...
- hdu-6601 Keen On Everything But Triangle
题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=6601 Description N sticks are arranged in a row, and ...
- HDU - 4305 - Lightning 生成树计数 + 叉积判断三点共线
HDU - 4305 题意: 比较裸的一道生成树计数问题,构造Krichhoof矩阵,求解行列式即可.但是这道题还有一个限制,就是给定的坐标中,两点连线中不能有其他的点,否则这两点就不能连接.枚举点, ...
- lightoj 1036 - A Refining Company(简单dp)
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1036 题解:设dp[i][j]表示处理到(i,j)点时的最大值然后转移显然是 ...
- 【Redis】SpringBoot+Redis+Ehcache实现二级缓存
一.概述 1.1 一些疑惑? 1.2 场景 1.3 一级缓存.两级缓存的产生 1.4 流程分析 二.项目搭建 一.概述 1.1 一些疑惑? Ehcache本地内存 Redis 分布式缓存可以共享 一级 ...
- 小白学Python-S3-day04-用户信息的增删改查、变更权限
一.用户信息 文件中每一行就是用户的详细信息,每一行是按照冒号为分隔符分成七段 第一段用户名,第二段密码占位符,第三段UID,第四段GID,第五段是描述信息,第六段是家目录.第七段是 是否 可以登录操 ...
- FreeSql (二十八)事务
FreeSql实现了四种数据库事务的使用方法,脏读等事务相关方法暂时未提供.主要原因系这些方法各大数据库.甚至引擎的事务级别五花八门较难统一. 事务用于处理数据的一致性,处于同一个事务中的操作是一个U ...
- 创建多线程之threading.Thread的使用
1.threading模块 threading模块是众多多线程管理模块的其一,它能确保重要的子线程退出后进程才退出. multiprocess模块的完全模仿了threading模块的接口,二者在使用层 ...
- VS中一些提高编码效率的快捷键
场景 新手入门,看见大神们在VS中只用键盘就可以完成一系列操作. 整理一些常用的能提高效率的快捷键. 关注公众号霸道的程序猿获取编程相关电子书.教程推送与免费下载. 大量编程视频教程:https:// ...