短视频处理LanSoEditor-SDK之功能介绍
(注释: 我们的SDK每3周更新一次, 一下功能是在2。8。2版本上列出的,可能不是最新的功能, 请知悉)
和别家最大的不同在于: 别人提供功能,我们提供架构。
1,功能介绍---容器
1.1录制容器类
l 任意分辨率录制, 码率设置,
l 分段录制,支持回删, 支持任意分段组合。0.5---2.0倍的快慢速度调节
l 暂停,恢复,回删
l 支持叠加视频,文字,图片,动画,UI等其他10种类型的图层,支持图层之间的前后切换,支持一种图层多次叠加
l 支持麦克风输入,并支持音量调节,支持同步偏移时间设置
l 支持输入MP3,
l 支持最高40个子画面显示;每个子画面均继承Layer父类图层, 支持父类Layer图层的所有功能。
l 支持美颜, 支持80多种滤镜
l 支持截屏, 支持实时获取画面流,支持相机裸数据读取。
l 支持预览回调, 录制进度回调, 执行错误回调,截图回调, 实时获取流回调, 完成回调等
l 以上每个参数, 详见SDK的DrawPadCameraView.java类。
l 一下是相机相关,在CameraLayer.class中
l 支持聚焦, 远近可调,支持曝光值调节, 支持直接获取Camera对象。支持相机本身的人脸检测,运动检测;
l 支持上下左右镜像,
l CameraLayer继承自父类Layer, 支持父类Layer的所有方法。
l 支持黑底效果视频融合叠加。
1.2视频预览容器 (DrawPadView)
l 支持任意宽度和高度
l 支持视频刷新和 自动刷新模式,
l 支持视频图层/图片图层/UI图层/Canvas图层/GIF图层/数据图层/YUV图层/纹理图层/双视频图层/MV图层等11种类型的图层叠加进来;
l 可同时增加多个同一种类的多个图层对象;
l 支持两个图层切换, 指定图层位置, 移动图层到最底层, 移动图层到最上层等。
l 支持暂停/恢复/分段录制,支持任何录制分辨率, 码率的设置。
l 容器支持设置预览进度监听,
l 支持预览进度监听, 执行错误回调, 截图回调,实时获取流回调, 完成回调等
1.3后台视频处理容器:
l DrawPadVideoExecute 是对单个视频进行后台加速处理的类。
l 支持任意容器宽度和高度
l 支持输出视频的码率任意设置。
l 支持叠加 其他 视频图层/图片图层/ Gif图层/YUV图层/Data图层/Canvas图层/MV图层等11种图层
l 可同时增加多个同一种类的多个图层对象;
l 支持两个图层切换, 指定图层位置, 移动图层到最底层, 移动图层到最上层等图层间的调节;
l 支持调节主视频图层的一切参数;
l 支持对主视频的时间拉伸(调速), 时间静止(暂停), 时间重复(重复)。
l 内部包含一个音频容器, 支持增加多个其他音频文件,支持音量调节,AudioSource的所有方法;
l 支持设置单个滤镜, 同时设置多个滤镜;
1.4后台声音容器: AudioPadExecute
l 支持44100 /48000采样率的音频结果输出,支持预设音频时长;
l 支持mp3, mp4, m4a, wav格式含有音频的文件输入。
l 每个音频输入, 会返回一个AudioSource对象, AudioSource对象可设置使能/循环/调速/重复/音量/暂停等功能;
l 支持进度回调, 支持完成回调;
1.5其他容器
图片处理容器BitmapPadExecute,
图片合成视频容器DrawpadBitmapExecute
混合图层容器 DrawPadAllExecute;
这些容器使用与其他图层类似,或极少使用,暂时不做详细介绍,在demo中均例子,如您有使用中的疑问,可随时联系我们。
2. 功能介绍---图层:
2.1父类图层(Layer)
说明:(每个具体图层, 每个子图层的父类, 所有xxxLayer均继承于它)
l 隐藏/显示、移动、缩放、旋转、镜像、滤镜、美颜,圆形可视范围设置、四方形可视范围设置、RGBA颜色调节;
l 透明度调节;
l 支持克隆多个子图层;
l 以上功能均可随着容器时间戳的变化, 而不断的移动,从而实现画面的一些动画效果。我们针对常用的飞入,飞出,放大缩小,旋转进入,淡入淡出动画提供了Animation类,
l 您可直接创建相关的对象来直接调用。
2.2视频图层(VideoLayer):
说明:对视频画面处理的类,放到容器中是一个图层, VideoLayer中所有的方法处理,都是针对这个图层的处理。
l 支持父类图层Layer的所有功能,
l 支持子图层, 举例的有,背景虚化,灵魂出窍;
l 工作在前台时: 采样外部播放器驱动的, VideoLayer只是拉出一个纹理, 您可把这个纹理设置到MediaPlayer或VideoPlayer/或第三方播放器中,来播放视频。理论上说, 支持所有可格式的视频, 只要能播放即可。我们关心的是画面, 不是视频来源。
l 工作在后台时:支持手机可以编解码的格式,默认是MP4或MOV,后台是加速处理视频画面,解码,然后编码的过程;
l 支持时间拉伸;(视频画面加减速,速度范围:0.5---2.0)
l 支持时间重复;(重复播放一段画面)
l 支持时间静止;(画面静止几秒钟)
2.3图片图层(BitmapLayer):
l 支持父类图层Layer的所有功能,
l 支持在任意时刻切换图片,切换图片后, 默认切换的Bitmap对象在切换到纹理中后直接recycle();你可以设置不回收(有重载方法)。
l 支持增删子图层;
l 缩放策略是:
当图片宽高 小于 容器宽高时, 完整放入到容器里, 不做任意的缩放,本来尺寸多少就显示多少;
当图片宽高 大于 容器宽高时,则如果宽度大于高度,则宽度等于容器的宽度,缩放高度; 反之高度大于宽度,则高度等于容器高度,缩放宽度;
2.4,绘制图层(CanvasLayer):
l 调用addCanvasLayer(), 返回一个Android的Canvas类,支持Android的Canvas中所有绘制方法, 包括绘制文字,图片,圆,四方形等各种形状
l 绘制后的画面, 会实时叠加到其他图层中,从而实现在视频、图片中显示文字,颜色块,图案,动画等。
l Canvas的图层大小是当前容器大小;
l 支持父类图层Layer的所有功
2.5 UI图层(ViewLayer):
l 把一个UI界面显示到容器中, 支持Layer的所有功能;
l 界面上支持Android除异步工作的GL控件外的所有控件, 比如常用的Button, TextView,ImageView,LinearLayout,CheckButton等,
l 不支持GLSurface, SurfaceView,TextureView;因Android的View无法工作在异步模式, 故只能工作在前台;
2.6,MV图层(MVLayer):
l 支持父类Layer的所有功能
l 支持异步加载模式,
l 支持进度监听,
l 支持循环模式,
l 支持强制显示下一帧;
2.7,YUV图层(YUVLayer):
l 支持父类Layer的所有功能,
l 支持NV21输入;
l 支持数据的90度, 270度旋转,
l 支持左右镜像, 上下镜像;
2.8,自定义数据图层(DataLayer):
l 支持父类Layer的所有功能。
l 支持裸数据输入,
l 支持bitmap图片输入。
2.9,纹理图层(TextureLayer):
l 支持外界纹理输入
2.10,(摄像头图层)CameraLayer:
l 摄像头图层,在DrawPadCameraView容器中已有介绍;
2.11,双视频图层(TwoVideoLayer)
l 支持先对视频做各种滤镜, 然后和第二个视频叠加, 并去除第二个视频中的黑色背景;
2.12,GIF图层(GifLayer):
l 支持父类Layer的所有功能。
l 默认循环显示
3,美颜类处理:
当前美颜是对整体画面进行处理,没有做人脸识别,人脸检测,瘦脸,大眼等人工智能类处理。
3.1, 我们提供了增强型磨皮滤镜:LanSongBeautyAdvanceFilter; 轻微磨皮滤镜:LanSongBeautyFilter; 白皙磨皮滤镜:LanSongBeautyWhiteFilter;
这些滤镜都支持级联,您可以在磨皮的基础上,增加其他滤镜;
3.2, 我们举例了BeautyManager, 实现自然的磨皮和美白,美白有从红润到冷白的调节。
3.3, 我们评估过第三方的人脸识别SDK,比如Face++等, 通过我们的DrawPadCameraView把数据拉出来, 输入到第三方SDK中, 识别后,得到特征关键点,从而实现特定的美颜效果(在合作后,由我们有偿帮您集成, 也可我们提供技术支持,你们自行集成)
短视频处理LanSoEditor-SDK之功能介绍的更多相关文章
- 短视频 SDK 功能点技术实现方式详解
第三方短视频解决方案作为快速切入短视频行业的首选方式,选择一款功能齐全.性能优异的短视频解决方案十分重要. 今天我们来谈谈短视频 SDK 6大重要功能点及其技术实现方式. 短视频拍摄 断点续拍 指在拍 ...
- 短视频 SDK 6大功能技术实现方式详解
第三方短视频解决方案作为快速切入短视频行业的首选方式,选择一款功能齐全.性能优异的短视频解决方案十分重要. 今天我们来谈谈短视频 SDK 6大重要功能点及其技术实现方式. 短视频拍摄 断点续拍 指在拍 ...
- 杭州蓝松科技---短视频SDK介绍
蓝松短视频的口号和 更新周期: 我们的口号是: 蓝松短视频 任意个性化. 我们是杭州蓝松科技, 专业做视频短视频SDK的技术团队. 我们提供 Android/IOS平台上的 短视频编辑SDK, ...
- 快速搭建一个“微视”类短视频 App
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云视频发表于云+社区专栏 关注公众号"腾讯云视频",一键获取 技术干货 | 优惠活动 | 视频方案 " ...
- 蓝松短视频SDK基本功能免费列表
下载地址:https://github.com/LanSoSdk/LanSoEditor_common 功能免费. 个人和公司都可以商用,不需要和我们说明. 直接下载, 直接去用既可. 完全不需要和我 ...
- 短视频 SDK 架构设计实践
作者简介 孔维乐,七牛云客户端团队 Android 平台高级开发工程师,专注音视频,图形图像领域.OpenGL 专家,先后参与直播推流及连麦 SDK 的开发,主导短视频 SDK 的架构设计与实现, 对 ...
- 最新最强短视频SDK——来自RDSDK.COM
北京锐动天地信息技术有限公司成立于2007年9月.多年来一直专注于音视频领域核心技术的研发, 拥有Windows.iOS.Android全平台自主知识产权的领先技术产品. 2011年获得新浪战略投资, ...
- 国内最简单的短视频SDK
最近阿里百川和趣拍一起合作推出了一个短视频SDK.之前很多厂商可能都是用的Vitamio的短视频SDK.之后我考察过,也做过一些调查,发现Vitamio真的奇贵无比,屌丝公司根本用不起,阿里和趣拍这下 ...
- Android短视频SDK转码实践
一. 前言 一些涉及的基本概念: 转码:一般指多媒体文件格式的转换,比如分辨率.码率.封装格式等: 解复用(demux):从某种封装中分离出视频track和音频track,然后交给后续模块进行处理: ...
随机推荐
- codeforces 821 D. Okabe and City(最短路)
题目链接:http://codeforces.com/contest/821/problem/D 题意:n*m地图,有k个位置是点亮的,有4个移动方向,每次可以移动到相邻的点亮位置,每次站在初始被点亮 ...
- react页面内嵌微信二维码 和 自定义样式 以及 微信网页共用unionId问题
在react页面内嵌“微信二维码”,实现PC端通过微信扫码进行登录.首先去微信开放平台注册一个账号,创建一个网站应用,提交网站备案审核,获取appid和appsecret:其他开发流程根据微信文档来进 ...
- 移动端rem距离单位的使用
在做移动端开发的时候大家肯定会遇到适配问题,手机的屏幕大小有非常多的类别,使用传统的px距离单位已经无法满足我们的需要,于是rem便横空出世,他与百分比定位是比较像的,但是也是有一定的区别,在这里就跟 ...
- Jmeter基础教程图文版(二)- 核心组件
⚪Jmeter Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具.用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域. 它可以用于 ...
- spark与mapreduce的区别
spark是通过借鉴Hadoop mapreduce发展而来,继承了其分布式并行计算的优点,并改进了mapreduce明显的缺陷,具体表现在以下几方面: 1.spark把中间计算结果存放在内存中,减少 ...
- 使用maven的profile构建不同环境配置
基本概念说明(resources.filter和profile): 1.profiles定义了各个环境的变量id 2.filters中定义了变量配置文件的地址,其中地址中的环境变量就是上面profil ...
- kafka 主题管理
对于 kafka 主题(topic)的管理(增删改查),使用最多的便是kafka自带的脚本. 创建主题 kafka提供了自带的 kafka-topics 脚本,用来帮助用户创建主题(topic). b ...
- .Net基础篇_学习笔记_第六天_类型转换和方法(函数)简介
类型转换:Convert.ToInt32(); int.Parse(); int.TryParse(); Convert.ToInt32(); 的本质就是在使用 int.Parse(); int. ...
- Java抽象类构造方法
java中抽象类的子类的构造方法会隐含父类的无参构造方法. package com.zempty.abstractclass; public class AbstractDemo01 { public ...
- JavaEE就业学习路线(给初学者以及自学者一个学习方向)
大家按这个路线学完后基本可以找工作了 第一节java入门 1-Java 背景介绍 2-Java 入门程序的编写 3-环境配置 4-基本概念介绍 5-类型转换 6-开发工具使用 第二节java基础 1- ...