在图像之间应用淡入效果ffmpeg命令

杰克特

我正在尝试创建一个视频幻灯片演示,仅通过ffmpeg cli命令在每个图像之间淡入/淡出。在研究了几个小时之后,我发现唯一可行的方法是使用-filter_complex参数并传递所有图像,并指定一个复杂的滤镜,该滤镜定义了多次淡入和淡出,以便我可以在帧之间进行切换。到目前为止,我拥有的命令:

ffmpeg -y -framerate 1/5 \
-loop 1 -i img-1.jpg \
-loop 1 -i img-2.jpg \
-loop 1 -i img-3.jpg \
-filter_complex \
"[1:v]fade=out:4:d=1,fade=in:5:d=1[fad1]; \
[2:v]fade=out:9:d=1,fade=in:10:d=1[fad2]; \
[3:v]fade=out:14:d=1,fade=in:15:d=1[fad3];" \
-c:v libx264 -r 25 -pix_fmt yuv420p test.mp4

这是执行此命令的输出:

 ffmpeg version 2.6.4 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 5.1.1 (GCC) 20150618 (Red Hat 5.1.1-4)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
  libavutil      54. 20.100 / 54. 20.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 25.101 / 56. 25.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, image2, from img-1.jpg':
  Duration: 00:00:05.00, start: 0.000000, bitrate: 141 kb/s
    Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1280x720 [SAR 72:72 DAR 16:9], 0.20 fps, 0.20 tbr, 0.20 tbn, 0.20 tbc
Input #1, image2, from img-2.jpg':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 17789 kb/s
    Stream #1:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1280x720 [SAR 67:67 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
Input #2, image2, from 'img-3.jpg':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 17764 kb/s
    Stream #2:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1280x720 [SAR 62:62 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
[AVFilterGraph @ 0xbc2a00] No such filter: ''
Error configuring filters.

我要做的就是创建一个视频幻灯片,其中在图像之间具有淡入淡出/过渡效果。任何帮助是极大的赞赏!

杰克特

我找到了最好的答案,因为似乎不可能用一个命令来完成。首先,您使用视频滤镜(-vf)将淡入淡出应用于mpeg,从而为每个图像创建一个mpeg:

ffmpeg -y -loop 1 -i image-1.jpg -vf“ fade = t = in:st = 0:d = 0.5,fade = t = out:st = 4.5:d = 0.5” -c:v mpeg2video- t 5 -q:v 1 -pix_fmt yuv420p temp-1.mpeg

如果要在一个命令中执行此操作,这不是最漂亮的解决方案,但可以将命令连接为“ command1 && command2 && ....”,前提是上面的命令是“ command1”。一旦创建了这些中间mpeg,就可以将它们很好地连接到视频中:

ffmpeg -i temp-1.mpeg -i temp-2.mpeg -filter_complex'[0:v] [1:v] concat = n = 2:v = 1 [v]'-map'[v]'-c :v libx264 -r 30 -s 1280x720-纵横比16:9 -q:v 1 -pix_fmt yuv420p output.mp4

在此合并命令的“ concat = n = 2”部分中,“ 2”表示您拥有的输入数量。这将为您提供图像的视频幻灯片显示,开始时淡入0.5秒,结束时淡出0.5秒,从而产生图像之间的淡入效果。

另外,在将图像转换为中间mpeg时,可以通过将“ zoompan”视频过滤器添加到第一个命令来为每个图像添加平移/缩放。例如,您的第一个命令将变为:

ffmpeg -y -loop 1 -i image-1.jpg -vf“ zoompan = z ='min(zoom + 0.0015,1.5)':d = 125,fade = t = in:st = 0:d = 0.5,fade = t = out:st = 4.5:d = 0.5“ -c:v mpeg2video -t 5 -q:v 1 -pix_fmt yuv420p temp-1.mpeg

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ffmpeg中用淡入/淡出效果创建5张图像的视频

来自分类Dev

实现交叉淡入淡出的图像效果

来自分类Dev

图像缩放和淡入淡出效果

来自分类Dev

列表中图像之间的淡入

来自分类Dev

如何使用计时器将淡入淡出过渡效果应用于PictureBox图像?

来自分类Dev

如何使用FFMPEG在叠加中添加淡入淡出效果?

来自分类Dev

ffmpeg淡入淡出效果会降低视频质量

来自分类Dev

在JavaFX中的图像之间淡入淡出

来自分类Dev

如何通过convert命令添加淡出和淡入效果?

来自分类Dev

是否可以消除登录之间的淡入淡出效果?

来自分类Dev

jQuery图像作为按钮淡入效果不起作用

来自分类Dev

如何将淡入效果应用于功能?

来自分类Dev

FFmpeg:将效果应用于视频

来自分类Dev

使用ffmpeg在2个视频之间进行淡入淡出

来自分类Dev

动画淡入效果CSS

来自分类Dev

jQuery toggleClass与淡入效果

来自分类Dev

bxslider水平效果淡入

来自分类Dev

如何获得UbuntuShape在不同图像之间转换(淡入淡出)?

来自分类Dev

如何在 Glide 中在新旧图像之间淡入淡出

来自分类Dev

以批处理模式应用GIMP图像效果

来自分类Dev

在Android应用中不断淡入和淡出图像

来自分类Dev

如何使用jQuery和CSS创建图像悬停淡入淡出效果?

来自分类Dev

jQuery淡入淡出效果在mouseenter上的背景图像

来自分类Dev

悬停具有淡入淡出效果时交换图像

来自分类Dev

FFmpeg:将居中的“放大”效果命令更改为“缩小”

来自分类Dev

将JavaScript淡入效果应用到4个div,间隔2秒

来自分类Dev

在将<li>元素添加到<ul>时应用淡入效果

来自分类Dev

如何在其他div上应用相同的效果(淡入/淡出)?

来自分类Dev

如何在Kdenlive中删除以前应用的淡入淡出效果?

Related 相关文章

  1. 1

    在ffmpeg中用淡入/淡出效果创建5张图像的视频

  2. 2

    实现交叉淡入淡出的图像效果

  3. 3

    图像缩放和淡入淡出效果

  4. 4

    列表中图像之间的淡入

  5. 5

    如何使用计时器将淡入淡出过渡效果应用于PictureBox图像?

  6. 6

    如何使用FFMPEG在叠加中添加淡入淡出效果?

  7. 7

    ffmpeg淡入淡出效果会降低视频质量

  8. 8

    在JavaFX中的图像之间淡入淡出

  9. 9

    如何通过convert命令添加淡出和淡入效果?

  10. 10

    是否可以消除登录之间的淡入淡出效果?

  11. 11

    jQuery图像作为按钮淡入效果不起作用

  12. 12

    如何将淡入效果应用于功能?

  13. 13

    FFmpeg:将效果应用于视频

  14. 14

    使用ffmpeg在2个视频之间进行淡入淡出

  15. 15

    动画淡入效果CSS

  16. 16

    jQuery toggleClass与淡入效果

  17. 17

    bxslider水平效果淡入

  18. 18

    如何获得UbuntuShape在不同图像之间转换(淡入淡出)?

  19. 19

    如何在 Glide 中在新旧图像之间淡入淡出

  20. 20

    以批处理模式应用GIMP图像效果

  21. 21

    在Android应用中不断淡入和淡出图像

  22. 22

    如何使用jQuery和CSS创建图像悬停淡入淡出效果?

  23. 23

    jQuery淡入淡出效果在mouseenter上的背景图像

  24. 24

    悬停具有淡入淡出效果时交换图像

  25. 25

    FFmpeg:将居中的“放大”效果命令更改为“缩小”

  26. 26

    将JavaScript淡入效果应用到4个div,间隔2秒

  27. 27

    在将<li>元素添加到<ul>时应用淡入效果

  28. 28

    如何在其他div上应用相同的效果(淡入/淡出)?

  29. 29

    如何在Kdenlive中删除以前应用的淡入淡出效果?

热门标签

归档