添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

我应该如何使用ffmpeg与xfade和zoompan过滤器从图像中创建一个视频幻灯片?

0 人关注

我试图从多张图片中创建一个单一的视频幻灯片,使用xfade过滤器做过渡效果,并在每张幻灯片上使用zoompan过滤器做放大/缩小效果。

图片可以有不同的分辨率/宽高比/方向性

在大多数情况下,我都能成功,将此分成2个步骤。

  • 将每张图片转换为具有放大/缩小效果的视频,将所有视频缩放到相同的大小(xfade要求输入具有相同的分辨率)。
  • 使用xfade过滤器将(1)中的输出视频合并为单一视频
  • 然而,在有些情况下,OOM会杀死这些进程,还有一些情况下它只是超时了。

    我使用了以下命令(有些参数是由PHP-FFMpeg包添加的)。

    图片转视频

    /usr/local/bin/ffmpeg -y -r 1 -loop 1 -i 'image1.jpg' -ss 0 '-t' '3' -filter_complex 'scale=trunc(1200/2)*2:trunc(801/2)*2:force_original_aspect_ratio=1,pad=trunc(1200/2)*2:trunc(801/2)*2:(ow-iw)/2:(oh-ih)/2,fps=25,crop=w=trunc(1200/2)*2:h=trunc(801/2)*2,scale=4000:2000,zoompan=z='\''min(max(zoom, pzoom)+0.002667,1.200000)'\'':d=1:x='\''iw/2-(iw/zoom/2)'\'':y='\''ih/2-(ih/zoom/2)'\'',setsar=1,scale=trunc(1200/2)*2:trunc(801/2)*2:force_original_aspect_ratio=1,pad=trunc(1200/2)*2:trunc(801/2)*2:(ow-iw)/2:(oh-ih)/2[video]' -map '[video]' -crf 17 -preset fast -threads 8 -vcodec 'libx264' -acodec 'aac' -b:v '1000k' -refs '6' -coder 1 -sc_threshold '40' -flags '+loop' -me_range '16' -subq '7' -i_qfactor '0.71' -qcomp '0.6' -qdiff '4' -trellis '1' -b:a '128k' /output.mp4
    

    将多个视频合并为一个视频(幻灯片)。