V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zuiluo
V2EX  ›  问与答

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

  •  
  •   zuiluo · 2020-01-01 12:03:58 +08:00 · 1847 次点击
    这是一个创建于 1816 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有十张原始图片,将这十张图片转成视频,视频有动画效果(轮播图片,每张图片进行逐渐放大效果的动画)。

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

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

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

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


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

    提前谢谢大佬的回复,不胜感激!
    6 条回复    2020-01-02 09:37:48 +08:00
    tanranran
        1
    tanranran  
       2020-01-01 12:18:25 +08:00
    FFmpeg
    zuiluo
        2
    zuiluo  
    OP
       2020-01-01 13:30:22 +08:00
    @tanranran 打字快了,错字
    birdrally
        3
    birdrally  
       2020-01-01 23:02:28 +08:00 via iPhone
    咋一看,需求不就是父母朋友圈到处转发的各种音乐相册嘛
    lecion
        4
    lecion  
       2020-01-02 00:44:51 +08:00 via Android
    webgl
    zuiluo
        5
    zuiluo  
    OP
       2020-01-02 09:34:07 +08:00
    我目前的打算是使用 OPENGL 去执行渲染,而不是使用 freeImage 去逐帧裁剪图片,这样速度应该会提升很多
    zuiluo
        6
    zuiluo  
    OP
       2020-01-02 09:37:48 +08:00
    昨天发现一个神奇的事情,我原始图片 总共 3M,生成出来的帧数据总共有一百多 M,最终出来的视频却只有 3M 多(因为里面只是不同的图片一直在放大然后切换到下一张继续放大),说明视频直接帮我进行了关键帧压缩,想找一种方式,直接通过设置关键帧的方式写入,但是没找到。。。。感觉应该是可行的,有懂的大佬能否告诉我一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2802 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 08:42 · PVG 16:42 · LAX 00:42 · JFK 03:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.