使用万花筒效果ffmpeg

使用万花筒效果ffmpeg

我想从输入视频中裁剪一个区域,然后将该区域旋转 90 度四次。输出视频应如下所示:

https://dl.dropboxusercontent.com/u/88221856/cropping.png

这是之前的图像:
在此处输入图片描述

这是残像:
在此处输入图片描述

提前致谢!

答案1

使用万花筒效果ffmpeg

万花筒

示例命令

ffmpeg -i video.mkv -loop 1 -i mask.png -filter_complex \
"[1:v]alphaextract,split[a1][a2]; \
 [0:v][a1]alphamerge,transpose=1[e]; \
 [0:v][a2]alphamerge,transpose=2[w]; \
 [0:v]vflip,hflip[s]; \
 [0:v]pad=ih*2:ih*2:x=(ow-iw)/2[n]; \
 [n][s]overlay=W/2-w/2:W/2[bg]; \
 [bg][e]overlay=W/2:H/2-h/2[bg2]; \
 [bg2][w]overlay=0:H/2-h/2" \
-codec:a copy output.mkv

使用 FFmpeg 过滤器

笔记

  • 使用最近的ffmpeg。要么下载 Linux 版本ffmpeg或按照步骤编译指南ffmpeg

  • 您需要制作一张包含 alpha mask 的图片。它需要与视频输入的帧大小相同,因此如果video.mkv是 1920x1080,那么mask.png也需要是 1920x1080。您可以下载 alpha 蒙版从这个例子中。

  • split之所以使用,是因为过滤器图必须具有唯一的边,这意味着每个标签都连接两个“节点”或过滤器。因此,如果您想将过滤器的输出发送到两个地方,就必须拆分过滤器的输出。

  • 滤镜的黑色背景颜色pad在角落处可见。crop如果您愿意,可以使用滤镜将其移除。

  • 音频是流已复制而不是重新编码。

  • 查看FFmpeg 和 x264 编码指南以获取有关控制输出质量的更多信息。

相关内容