欢迎大家关注一下我开源的一个音视频库,HWVC(HardwareVideoCodec)是一个高效的Android音视频编码库,支持软编和硬编。使用它你可以很容易的实现任何分辨率的视频编码,无需关心摄像头预览大小。一切都如此简单。目前已迭代多个稳定版本,欢迎查阅学习和使用,如有BUG或建议,欢迎Issue。
一、新特性
最近有小伙伴跟我提了几个Issue,折腾了几天,终于在v1.7.0发布了这些特性。感谢小伙伴们的支持。
- 支持水印滤镜。目前提供文字水印和图片水印,也可以很方便的实现自己的水印效果。
- 支持滤镜组。可以对HWVC中的任意滤镜进行组合,当然也包括水印滤镜。
- 支持图片处理器。支持对图片添加滤镜,并保存成新的文件。
下一个版本目前已经在开发中,将支持以下特性
- 音视频解码器
- 视频滤镜处理器
HWVC是一个性能极高,扩展极好,高度模块化的音视频处理库。可能有童鞋对“性能极高”表示质疑,下面我提供一组我测试的数据(在使用单个BeautyV4Filter的情况下测试)。之后会提供更多机型的测试数据。
机型 | Camera预览帧率 | 渲染帧率 | 录制帧率 |
---|---|---|---|
Nokia 7 | 30 | 160 | 30 |
Nubia Z5S | 30 | 120 | 30 |
二、使用
1、使用滤镜组
mRecorder.setFilter(GroupFilter.create(BeautyV4Filter())//默认使用美颜滤镜
.addSticker(TextSticker().apply {//添加一个文字水印
setText(TextSticker.Text("HWVC", 56f).apply {
x = 0.8f//水印x轴偏移屏幕右上角位置
y = 0.03f//水印y轴偏移屏幕右上角位置
})
})
.addSticker(ImageSticker().apply {//添加一个图片水印
setImage(ImageSticker.Image().apply {
x = 0.03f//水印x轴偏移屏幕右上角位置
y = 0.03f//水印y轴偏移屏幕右上角位置
scale = 1.6f//水印缩放倍率
bitmap = BitmapFactory.decodeResource(resources, R.mipmap.ic_logo_hwvc)//水印图片
})
}))
2、使用图片处理器
mProcessor = ImageProcessorImpl.create(applicationContext).apply {
setPreviewDisplay(mTextureView)
prepare()
}
effectBtn.setOnClickListener({
mProcessor?.setFilter(BeautyV4Filter())
})
mProcessor?.setInputResource(File(path))
saveBtn.setOnClickListener {
mProcessor?.save(outPath)
}
更详细的使用方法,请查阅HWVC Sample。最后感谢小伙伴们的帮助,你的支持就是我的动力。
网友评论