短视频处理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之功能介绍的更多相关文章

  1. 短视频 SDK 功能点技术实现方式详解

    第三方短视频解决方案作为快速切入短视频行业的首选方式,选择一款功能齐全.性能优异的短视频解决方案十分重要. 今天我们来谈谈短视频 SDK 6大重要功能点及其技术实现方式. 短视频拍摄 断点续拍 指在拍 ...

  2. 短视频 SDK 6大功能技术实现方式详解

    第三方短视频解决方案作为快速切入短视频行业的首选方式,选择一款功能齐全.性能优异的短视频解决方案十分重要. 今天我们来谈谈短视频 SDK 6大重要功能点及其技术实现方式. 短视频拍摄 断点续拍 指在拍 ...

  3. 杭州蓝松科技---短视频SDK介绍

    蓝松短视频的口号和 更新周期: 我们的口号是:  蓝松短视频  任意个性化. 我们是杭州蓝松科技,  专业做视频短视频SDK的技术团队. 我们提供 Android/IOS平台上的 短视频编辑SDK,  ...

  4. 快速搭建一个“微视”类短视频 App

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云视频发表于云+社区专栏 关注公众号"腾讯云视频",一键获取 技术干货 | 优惠活动 | 视频方案 " ...

  5. 蓝松短视频SDK基本功能免费列表

    下载地址:https://github.com/LanSoSdk/LanSoEditor_common 功能免费. 个人和公司都可以商用,不需要和我们说明. 直接下载, 直接去用既可. 完全不需要和我 ...

  6. 短视频 SDK 架构设计实践

    作者简介 孔维乐,七牛云客户端团队 Android 平台高级开发工程师,专注音视频,图形图像领域.OpenGL 专家,先后参与直播推流及连麦 SDK 的开发,主导短视频 SDK 的架构设计与实现, 对 ...

  7. 最新最强短视频SDK——来自RDSDK.COM

    北京锐动天地信息技术有限公司成立于2007年9月.多年来一直专注于音视频领域核心技术的研发, 拥有Windows.iOS.Android全平台自主知识产权的领先技术产品. 2011年获得新浪战略投资, ...

  8. 国内最简单的短视频SDK

    最近阿里百川和趣拍一起合作推出了一个短视频SDK.之前很多厂商可能都是用的Vitamio的短视频SDK.之后我考察过,也做过一些调查,发现Vitamio真的奇贵无比,屌丝公司根本用不起,阿里和趣拍这下 ...

  9. Android短视频SDK转码实践

    一. 前言 一些涉及的基本概念: 转码:一般指多媒体文件格式的转换,比如分辨率.码率.封装格式等: 解复用(demux):从某种封装中分离出视频track和音频track,然后交给后续模块进行处理: ...

随机推荐

  1. codeforces 821 D. Okabe and City(最短路)

    题目链接:http://codeforces.com/contest/821/problem/D 题意:n*m地图,有k个位置是点亮的,有4个移动方向,每次可以移动到相邻的点亮位置,每次站在初始被点亮 ...

  2. react页面内嵌微信二维码 和 自定义样式 以及 微信网页共用unionId问题

    在react页面内嵌“微信二维码”,实现PC端通过微信扫码进行登录.首先去微信开放平台注册一个账号,创建一个网站应用,提交网站备案审核,获取appid和appsecret:其他开发流程根据微信文档来进 ...

  3. 移动端rem距离单位的使用

    在做移动端开发的时候大家肯定会遇到适配问题,手机的屏幕大小有非常多的类别,使用传统的px距离单位已经无法满足我们的需要,于是rem便横空出世,他与百分比定位是比较像的,但是也是有一定的区别,在这里就跟 ...

  4. Jmeter基础教程图文版(二)- 核心组件

    ⚪Jmeter Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具.用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域. 它可以用于 ...

  5. spark与mapreduce的区别

    spark是通过借鉴Hadoop mapreduce发展而来,继承了其分布式并行计算的优点,并改进了mapreduce明显的缺陷,具体表现在以下几方面: 1.spark把中间计算结果存放在内存中,减少 ...

  6. 使用maven的profile构建不同环境配置

    基本概念说明(resources.filter和profile): 1.profiles定义了各个环境的变量id 2.filters中定义了变量配置文件的地址,其中地址中的环境变量就是上面profil ...

  7. kafka 主题管理

    对于 kafka 主题(topic)的管理(增删改查),使用最多的便是kafka自带的脚本. 创建主题 kafka提供了自带的 kafka-topics 脚本,用来帮助用户创建主题(topic). b ...

  8. .Net基础篇_学习笔记_第六天_类型转换和方法(函数)简介

    类型转换:Convert.ToInt32();  int.Parse();  int.TryParse(); Convert.ToInt32(); 的本质就是在使用 int.Parse(); int. ...

  9. Java抽象类构造方法

    java中抽象类的子类的构造方法会隐含父类的无参构造方法. package com.zempty.abstractclass; public class AbstractDemo01 { public ...

  10. JavaEE就业学习路线(给初学者以及自学者一个学习方向)

    大家按这个路线学完后基本可以找工作了 第一节java入门 1-Java 背景介绍 2-Java 入门程序的编写 3-环境配置 4-基本概念介绍 5-类型转换 6-开发工具使用 第二节java基础 1- ...