`
LanSoSdk
  • 浏览: 9135 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

短视频处理LanSoEditor-SDK之功能介绍

阅读更多

和别家最大的不同在于: 别人提供功能,我们提供架构。

短视频处理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中, 识别后,得到特征关键点,从而实现特定的美颜效果(在合作后,由我们有偿帮您集成, 也可我们提供技术支持,你们自行集成)

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics