fluent-ffmpeg图片合成视频

2019-10-19 11:16:46

1.思路

  1. 一张图片做背景图,生成视频总长度的视频

  2. 分别将需要添加的视频逐一添加到视频内

代码如下

生成视频

ffmpeg(image1) //图片文件
        .loop(5)
        .videoBitrate('2048k')
        .videoCodec('mpeg4')
        .on('end', function() {
            console.log('video one end')
        })
        .on('error', function(error) {
            console.log('an error happend: create one video' + error)
        })
        .save('./images/test_output1.mp4') //输出的第一个视频文件


插入图片到视频

 .input(videoOne) //第一个视频
        .input(image2)
        .complexFilter(["[0:v][1:v]overlay=x='if(gte(t,1), -w+(t-1)*800,NAN)':y=0"])  // 当时间大于1s 图片从左到右 
	    .videoCodec('mpeg4')
        .outputOptions('-b:v 4096k')
        .on('end', function() {
            console.log('video two end')
        })
        .on('error', function(error) {
            console.log('an error happend: create two video' + error)
        })
        .save(videoTwo)

一个问题

ffmpeg  -i ./images/output1.mp4 -loop 1  -t 1 -i ./images/2.jpg -filter_complex "
overlay=x='if(gte(t,1), -w+(t-1)*800,NAN)':y=0" -b:v 2048k -vcodec mpeg4 -y ./images/output3.mp4

如果直接用ffmpeg指令,fliter里直接写overlay就行了,但是使用fluent-ffmpeg同样的写法图片就怎么也合成不到视频中去,只是1s的单独视频,需要[0:v][1:v]这样使用。

  • 2020-04-22 10:49:10

    css按钮特效大全

    打开这个连接,你会发现很多按钮动画脚本,基本这些动画就够大家用的了。

  • 2020-04-27 09:26:49

    transform与transition区别与详解

    对元素进行移动、缩放、转动、拉长或拉伸。 方法:translate(): 元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数 有两个div,它们的css样式如下,transition:过渡 元素从一种样式逐渐改变为另一种的效果 有一个div,它的css样式如下:

  • 2020-04-27 11:02:21

    CSS 气泡对话框

    点击上面地址,我们可以看到一个灵活的css气泡,拖动按钮,改变气泡效果。

  • 2020-04-27 16:59:23

    Docker部署nuxtjs

    将一下文件拷贝至服务器目录/app |名称|描述| |-|-| |.nuxt|编译后生成的目录,开发模式和发布模式通用,注意发布前使用npm run build 防止将dev目录发布| |static| 静态资源文件,通过/可直接访问| |package.json|npm 包管理配置文件| |nuxt.config.js|Nuxt.js 默认的配置涵盖了大部分使用情形,可通过 nuxt.config.js 来覆盖默认的配置。| |node_modules|依赖模块|