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