请教图片生成视频的解决方案

2020-01-01 12:03:58 +08:00
 zuiluo
有十张原始图片,将这十张图片转成视频,视频有动画效果(轮播图片,每张图片进行逐渐放大效果的动画)。

这种视频生成有啥好的解决方法么(在客户端执行)

我最开始用 js 写,canvas 逐帧生成,保存成 webp,最终合成一个 webm。
后面用 C++重写,freeImg 打开图片,逐张然后进行逐帧编辑放大,再用 FFMPEG 合成 MP4 导出。

这两个方案的实现时间都很慢(核心思路就是将 1 张图片通过编辑的方法,生成了一百多张图片,然后再逐帧插入…………),生成一个一分钟的视频,都要耗时好几分钟……

有其他啥好的方案实现么?或者是我 C++写法思路不对(我是 C++菜鸟,前端开发一枚)


在这个问题上已经浪费了很多天了……有点晕,或者第三方这类方案的 API 服务提供商推荐?

提前谢谢大佬的回复,不胜感激!
1832 次点击
所在节点    问与答
6 条回复
tanranran
2020-01-01 12:18:25 +08:00
FFmpeg
zuiluo
2020-01-01 13:30:22 +08:00
@tanranran 打字快了,错字
birdrally
2020-01-01 23:02:28 +08:00
咋一看,需求不就是父母朋友圈到处转发的各种音乐相册嘛
lecion
2020-01-02 00:44:51 +08:00
webgl
zuiluo
2020-01-02 09:34:07 +08:00
我目前的打算是使用 OPENGL 去执行渲染,而不是使用 freeImage 去逐帧裁剪图片,这样速度应该会提升很多
zuiluo
2020-01-02 09:37:48 +08:00
昨天发现一个神奇的事情,我原始图片 总共 3M,生成出来的帧数据总共有一百多 M,最终出来的视频却只有 3M 多(因为里面只是不同的图片一直在放大然后切换到下一张继续放大),说明视频直接帮我进行了关键帧压缩,想找一种方式,直接通过设置关键帧的方式写入,但是没找到。。。。感觉应该是可行的,有懂的大佬能否告诉我一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/634132

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX