我有一张jpeg格式的图片:cat。
我通过ffmpeg过滤器scale
和zoompan
将这张图片转换成视频。 视频是图片缓慢放大
然后,在使用以下命令时遇到了一些问题。
命令1
ffmpeg -loop 1 -i cat.jpeg -filter_complex "scale=iw*2:-1,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=720x960" -pix_fmt yuv420p -vcodec libx264 -preset ultrafast -crf 28 -y -t 5 out.mp4
命令2(只需调整命令1的比例值)
ffmpeg -loop 1 -i cat.jpeg -filter_complex "scale=iw*8:-1,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=720x960" -pix_fmt yuv420p -vcodec libx264 -preset ultrafast -crf 28 -y -t 5 out.mp4
视频中的图片将缓慢放大,这是事实,但是直到大约第四秒,图片将恢复为最小值并重新放大。这是否是我使用的过滤器参数错误?
运行命令[swscaler @ 0x113c66000] Warning: data is not aligned! This can lead to a speed loss
后出现警告。图片尺寸为720 x 960,视频相同。 720/16是整数,而960/16也是整数。那么什么不统一呢?
还有另一个警告:deprecated pixel format used, make sure you did set range correctly
。我是否将pix_fmt
参数设置为错误?
命令2和命令1是不同的小数位值,但是它们运行的时间会相差很大(如果尝试运行它)。使用更大的比例将有更好的结果。那么如何选择比例值或有更好的方法呢?