FFmpeg - 将 1280x720 视频转换为 720x1280 视频并添加模糊

时间:2021-01-06 12:47:58

标签: video ffmpeg moviepy

我四处搜索并找到了多种解决方案。我找到了一个效果很好的视频,但最终的视频太大了,导致渲染速度变慢。

我给它提供了一个 1280x720 的视频,并希望它以 720x1280 作为分辨率显示为here

-lavfi "[0:v]scale=256/81*iw:256/81*ih,boxblur=luma_radius=min(h\,w)/40:luma_power=3:chroma_radius=min(cw\,ch)/40:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,setsar=1,crop=w=iw*81/256"

这个视频最终是 1280x2274 而不是 720x1280,除了速度和分辨率之外,其他一切都很好。

-lavfi [0:v]scale=16/9*iw:16/9*ih,boxblur=luma_radius=min(h\,w)/40:luma_power=3:chroma_radius=min(cw\,ch)/40:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,setsar=1,crop=w=720:h=1280

这会剪切原始视频,但最终是 720x1280,比第一个解决方案快。

-lavfi "[0:v]scale=256/81*iw:256/81*ih,boxblur=luma_radius=min(h\,w)/40:luma_power=3:chroma_radius=min(cw\,ch)/40:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,setsar=1,crop=w=iw*81/256,scale=720:1280"

这与第一个相同,但它再次缩放。它具有正确的分辨率,但按照我的喜好放慢了速度(只有大约 3.6 it/s,当我尝试了其他在 35 it/s 左右波动的解决方案时)。

我想我的比例是错误的,但我不明白我应该乘以和除以得到我想要的结果。

谢谢。

1 个答案:

答案 0 :(得分:0)

使用 ffmpeg 更改视频分辨率的一种简单方法是

ffmpeg -i input.mp4 -vf "scale=1280*720" output.mp4

添加模糊效果请参考 https://superuser.com/questions/901099/ffmpeg-apply-blur-over-face