如何用FFmpeg为横向视频添加上下模糊效果
实现横向视频上下添加模糊效果的FFmpeg命令
你的原代码实现的是左右两侧模糊、中间清晰的效果,只需调整背景缩放、叠加和裁剪参数,就能改成上下模糊、中间清晰的效果,以下是两种常见场景的解决方案:
场景1:保持原视频尺寸,上下区域模糊、中间清晰
这种场景下最终视频尺寸和原视频一致,上下部分用模糊背景填充,中间保留清晰的原视频内容:
ffmpeg -i test.mp4 -lavfi "[0:v]scale=1920:1080*2,boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[0:v]scale=1920:-1[ov];[bg][ov]overlay=(W-w)/2:(H-h)/2,crop=w=1920:h=1080" output.mp4
参数说明:
[0:v]scale=1920:1080*2:将原视频宽度固定为1920,高度放大2倍,生成垂直方向延伸的素材后添加模糊,作为背景层[0:v]scale=1920:-1:将原视频宽度固定为1920,高度按比例自动适配,作为清晰的前景层overlay=(W-w)/2:(H-h)/2:把前景层叠加到背景层的中心位置crop=w=1920:h=1080:裁剪回原视频尺寸,得到上下模糊、中间清晰的效果
场景2:增加视频高度,上下新增模糊延伸区域
如果需要在原视频基础上,上下添加模糊的延伸区域(比如原1920×1080视频变为1920×1440),可以用以下命令:
ffmpeg -i test.mp4 -lavfi "[0:v]scale=-2:1440,crop=1920:1440,boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[0:v]scale=1920:1080[ov];[bg][ov]overlay=(W-w)/2:(H-h)/2" -c:v libx264 -crf 23 output.mp4
参数说明:
scale=-2:1440:将原视频高度放大到1440,宽度按比例自动适配(保持原比例避免拉伸变形)crop=1920:1440:裁剪宽度到1920,得到1920×1440的背景素材后添加模糊- 后续叠加逻辑和场景1一致,最终输出的视频上下部分是原视频的模糊延伸,中间保留清晰的原视频内容
内容的提问来源于stack exchange,提问作者Getro
相关产品推荐
相关产品推荐

