如何解决如何使用 ColorMatrix 将反转颜色应用于 Android Camera2 API 视频?
是否可以对 Android Camera2 API 视频应用倒色?
解决方法
不幸的是不容易。
最有效的方法是将相机数据通过管道传输到 GPU,在那里运行片段着色器来反转颜色,然后通过管道将输出传输到视频编码器。
不幸的是,这有点像样板:
- 创建和配置 MediaCodec 或 MediaRecorder(可能是前者,在这种情况下,如果您最终需要,还需要一个 MediaMuxer 来编写视频文件)
- 创建 EGL 或 Vulkan 上下文,使用 MediaCodec/Recorder 中的 Surface 作为要绘制到的目标图像。创建 SurfaceTexture 以将相机输出渲染到其中。
- 使用来自 GL/Vulkan 的 SurfaceTexture 设置相机。
- 编写 GL/Vulkan 代码以使用来自相机的纹理渲染四边形,并使用片段着色器来反转颜色
- 需要时,启动 MediaCodec/Recorder,将帧从相机发送到 SurfaceTexture,并将文件保存到磁盘。
从好的方面来说,一旦你拥有了这一切,做很多其他的效果就很容易了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。