【问题标题】:How to get image from video and combine other image using ffmpeg如何从视频中获取图像并使用 ffmpeg 组合其他图像
【发布时间】:2021-11-21 20:22:11
【问题描述】:

我想从视频中获取一帧以与其他图像结合

使用两个 ffmpeg 命令作为:

命令 1:

  ffmpeg -ss 3 -i video.mp4 -vf \"select=gt(scene\,0.4)\" 
 -frames:v 5 -vsync vfr -vf fps=fps=1/100 
 -vf scale=150:150  output.jpeg

命令 2:

  ffmpeg -i output.jpeg -i other.png -filter_complex "[0:v][1:v] 
  overlay=(W-w)/2:(H-h)/2:enable='between(t,0,20)'" 
 -pix_fmt yuv420p -c:a copy output2.jpg

如何将两个命令合二为一,或者 如何从视频中获取帧并将其他图像合并为一个?

【问题讨论】:

    标签: image video ffmpeg


    【解决方案1】:

    您可以在第一个命令之后使用和&& 组合这两个命令,这允许您根据第一个命令是否完成成功来执行第二个命令:

     ffmpeg -ss 3 -i video.mp4 -vf "select=eq(n\,4)" 
     -frames:v 5 -vsync vfr -vf fps=fps=1/100 
     -vf scale=150:150  output.jpeg 
    
    && 
    
    ffmpeg -i output.jpeg -i other.png -filter_complex "[0:v][1:v] 
      overlay=(W-w)/2:(H-h)/2:enable='between(t,0,20)'" 
     -pix_fmt yuv420p -c:a copy output2.jpg
    

    现在,如果您想将多张图片合并为一张,请查看this solution

    【讨论】:

    • 好的,谢谢,但是如何将 output.jpg 传递给第二个命令。这会创建两个 output.jpg,只有一个
    • @MetinBulak 我认为您在第一个命令中有错字:\"select=gt(scene\,0.4)\" 应该是 "select=eq(n\,4)"
    • @MetinBulak 好吧,它不适合我,所以我得出结论它也不适合你。现在,您能否一次执行两个命令?
    猜你喜欢
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    相关资源
    最近更新 更多