V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ciddechan
V2EX  ›  程序员

图片合成视频的技术方案

  •  
  •   ciddechan · 2022-01-19 14:47:40 +08:00 · 2461 次点击
    这是一个创建于 1037 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近想用 go 实现图片合成视频,无奈只合成了无音频的 avi 视频。用的 gocv (牛刀杀鸡),其实也就是 opencv 的 VideoWriter ,opencv 底层还是 ffmpeg 。 也可用 go 的 exec.Command ()执行 ffmpeg 命令实现五花八门的功能,但是使用命令行的方式使我内心“十分不安”。

    想问一下 V 友有无最小的实现方案=>仅需实现几张尺寸类型不同的图片合成有简单过渡特效加背景音乐的 mp4 文件。

    这里有个 MiniProgram 挺让我好奇他的实现方式,MP 搜“图片合成视频”,有很丰富的处理功能,还是个个人开发者(作者名字居然和我领导名字一样,天啊)

    或者,提供一个不错的方案?

    8 条回复    2022-02-26 10:28:33 +08:00
    baiy
        1
    baiy  
       2022-01-19 14:55:05 +08:00
    ciddechan
        2
    ciddechan  
    OP
       2022-01-19 14:59:34 +08:00
    @baiy oh ,天啊,这是个好东西
    coderluan
        3
    coderluan  
       2022-01-19 15:02:49 +08:00
    实际上 ffmpeg 就是最佳方案,而且它是开源的,你不想单独起进程调用,那就编译个 ffmpeg ,设置你喜欢的参数,然后主函数里面调试下看看走的那些函数,然后把想要的部分封装成一个函数接口,整体编译成个 dll ,你那边想怎么调用都行。
    ciddechan
        4
    ciddechan  
    OP
       2022-01-19 15:21:10 +08:00
    @coderluan 是的,耗时最少,可惜 cmake 老早忘光了。我以为会有一些纯 io 读写,解码编码的例子,结果搜到的少之又少
    Juszoe
        5
    Juszoe  
       2022-01-19 15:43:08 +08:00
    直接把 ffmpeg 一起编译进来就好了 https://github.com/giorgisio/goav
    a1274598858
        6
    a1274598858  
       2022-01-19 16:00:39 +08:00
    PatrickLe
        7
    PatrickLe  
       2022-01-19 20:20:02 +08:00
    这个工具应该可以满足你所有要求
    http://cr-soft.net/crmvmixer.html
    ciddechan
        8
    ciddechan  
    OP
       2022-02-26 10:28:33 +08:00
    最后用了 go 的 exec.Command 执行 node 编译 ffcreator 的 js 文件方案,很臃肿,然后我现在开始好奇抖音的视频编辑方案。。。是不是他们的团队实现了很多图片类型和视频的编解码(我猜是),他们是服务器处理视频,还是把二进制的文件放到手机上运行(我猜是)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2382 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:10 · PVG 00:10 · LAX 08:10 · JFK 11:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.