android - 从 Lottie JSON 文件制作视频并使用 FFMPEG 将其与原始视频叠加的问题

标签 android ffmpeg android-mediacodec lottie mediamuxer

使用 FFMPEG 视频处理库和 MediaCodec 处理 Lottie Animations 有一些独特的概念。在那方面,我想从 Lottie 动画制作视频并将该视频叠加在其他原始视频上。

但问题是我无法从 Lottie 动画制作具有透明背景的视频。因此,我使用 MediaCodec 和 MediaMuxer 从 Lottie 动画制作了简单的视频,它从 Lottie Drawable 中逐帧拍摄并将其附加到视频(Lottie Video)。这是关于这个概念的链接- https://engineering.21buttons.com/how-to-generate-videos-using-lottie-in-android-2db6ecceb2a

然后我使用 FFmpeg 库将此视频叠加到原始视频上。这里 FFmpeg 做了两个任务,首先它在 Lottie Video 中制作透明背景,其次它将这个 Lottie Video 覆盖在原始视频之上。

这里实际问题出来了,FFmpeg 在处理 25 秒的视频时需要超过 8 到 9 分钟,所以我想解决这个问题,因为我的时间限制只有 1 到 2 分钟。如果有人对此有解决方案或实现此概念的新想法,请告诉我,我将不胜感激。

Graphical representation of this concept

最佳答案

这是解决方案,我没有使用 FFMPEG 库,而是使用 OpenGL 将 Lottie 帧直接叠加到原始视频上。所以,这只需要一步,而使用FFMPEG需要两步处理。

因此,这为视频处理节省了大量时间。例如,30 秒的视频使用 OpenGL 处理只需 35-40 秒。我已经使用此链接作为引用,如果有人想要针对这种情况的解决方案,

Opengl es 2.0 draw bitmap overlay on video

关于android - 从 Lottie JSON 文件制作视频并使用 FFMPEG 将其与原始视频叠加的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56536934/

相关文章:

java - 如果更新了可绘制文件夹,共享首选项无法正确保存可绘制资源 ID

android - 带有自定义 ArrayAdapter(和 getView 回收)的 ListViewText 中用于 EditText 的 TextWatcher

android - 从android中的图库中裁剪图像

image - ffmpeg:从图像和声音创建视频

audio - 如何让 FFmpeg 在单循环静音视频中自动注入(inject) mp3 音轨?

ffmpeg 从 h264 转换为网络服务器

android - 如何使用 Android AudioRecord 和 MediaCodec 作为音频编码器正确处理 PTS?

android-mediacodec - 错误 "Failed to set standard component role ' AUDIO_ENCODER.AAC'“配置MediaCodec时

java - 在android中提取xml标签之间的字符串而不解析xml

android - MediaExtractor 在与 wav 文件一起使用时抛出 IllegalArgumentException