ffmpeg实现图片转视频缩放效果

话不多说,直接分享最终的命令如下

1.图片慢慢放大

ffmpeg -y -i input.png -filter_complex "[0:v]scale=3840x2880,zoompan=z='min(zoom+0.0016,1.2)':d=120:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)',scale=960:720[v]" -map "[v]" -c:v libx264 -profile:v baseline -pix_fmt yuv420p -crf 28 -preset slow -aspect 4:3 output.mp4

0.0016怎么算出来。因为图片要放大1.2倍,所以(1.2-1)/120 = 0.0016,120是帧,在ffmpeg,25帧为1秒。

2.图片慢慢缩小

ffmpeg -y -i input.png -filter_complex "[0:v]scale=3840x2880,zoompan=z='max(1.2-0.0016*on,1)':d=120:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)',scale=960:720[v]" -map "[v]" -c:v libx264 -profile:v baseline -pix_fmt yuv420p -crf 28 -preset slow -aspect 4:3 output.mp4

核心原理:先放大图片再缩放图片,可以减少视频的抖动。

参考文档:https://blog.csdn.net/happydeer/article/details/122385254

https://blog.dreamfever.me/posts/2024-05-19-ffmpeg-keyframe-animation/#%E7%BC%A9%E6%94%BE

修复bug: https://superuser.com/questions/1112617/ffmpeg-smooth-zoompan-with-no-jiggle

相关推荐
上海合宙LuatOS16 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
Android系统攻城狮17 小时前
Android16进阶之音频播放定位MediaPlayer.seekTo调用流程与实战(二百二十七)
音视频·mediaplayer·android16·音频进阶·音频性能实战
晚霞的不甘18 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频
听麟19 小时前
HarmonyOS 6.0+ 跨端智慧政务服务平台开发实战:多端协同办理与电子证照管理落地
笔记·华为·wpf·音视频·harmonyos·政务
晚霞的不甘20 小时前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频
零一iTEM20 小时前
MAX98357A_音频输出测试
单片机·嵌入式硬件·开源·音视频·硬件工程
Android系统攻城狮1 天前
Android16进阶之获取播放位置MediaPlayer.getCurrentPosition调用流程与实战(二百二十八)
音视频·android16·音频进阶·音频性能实战
炼金术1 天前
SkyPlayer v1.2.0 : AI 字幕-端侧 Whisper 实时语音识别实践
ffmpeg·openai
愚公搬代码1 天前
【愚公系列】《AI短视频创作一本通》020-AI短视频创作实例精解(文旅宣传AI短视频实例精解)
人工智能·音视频
有位神秘人1 天前
Android获取设备中本地音频
android·音视频