可以使用MediaCodecSDK在Android中为视频添加叠加层吗?

问题描述 投票:1回答:1

假设您有20秒的视频(可能是使用设备相机拍摄的),并且您想要在视频中添加叠加层。

(叠加层只是一个普通的光栅图像,即Android Imagedoc)。)

您想要创建一个新视频,将叠加层作为视频图像的一部分,然后保存视频。

事实上,可以使用MediaCodec SDK来完成这项工作吗?

https://developer.android.com/reference/android/media/MediaCodec

在过去,你通常会使用FFMPEG来解决这个问题,但这很麻烦而且很慢。

MediaCodec可以在这里吗?

因为它是“新的”我只是找不到任何关于这个的信息.....

android video-processing mediacodec
1个回答
3
投票

这可以使用MediaCodec。首先,看看DecodeEditEncode示例from here

此示例显示如何使用OpenGL ES着色器调整视图大小。您要做的是使用OpenGL ES着色器在视频上渲染叠加层。

MediaCodec can be found here上另一个很好的示例来源

在这里,您可以找到有关如何使用基本渲染技术的一些示例。看看硬件定标器练习器。

当视频部分启动并运行时,这可能是实际斗争开始的地方,因为在OpenGl ES中没有标准方法来渲染文本。我可能只是将文本绘制到Canvas并从中制作纹理,但可能很慢。

如果您有静态叠加层,例如水印,则可以事先创建它并作为资源发布。

© www.soinside.com 2019 - 2024. All rights reserved.