这个系列文章我们来介绍一位海外工程师如何探索 FFmpeg Basics 音视频技术,对于想要开始学习音视频技术的朋友,这些文章是份不错的入门资料,这是第 7 篇:FFmpeg 翻转和旋转视频。
—— 来自公众号“关键帧Keyframe”的分享
翻转和旋转视频帧是常见的视觉操作,可用于创建各种有趣的效果,例如输入的镜像版本。
1、水平翻转
水平镜像的视频版本——水平翻转是使用下表中描述的 hflip 滤镜创建的。
描述 | 水平翻转输入视频,使输出看起来像是侧面的镜像。该滤镜无参数。 |
---|---|
语法 | -vf hflip |
为了测试 testsrc 视频源的水平翻转,我们可以使用以下命令:
ffplay -f lavfi -i testsrc -vf hflip

2、垂直翻转
描述 | 垂直翻转输入视频,使输出看起来像是从顶部或底部镜像的。 |
---|---|
语法 | -vf vflip |
为了测试 testsrc 视频源的垂直翻转,我们可以使用以下命令:
ffplay -f lavfi -i testsrc -vf vflip

3、介绍旋转
FFmpeg 的早期版本包含一个特殊的旋转滤镜,可以通过输入角度值来旋转视频。该滤镜现已弃用,取而代之的是一个转置滤镜,它允许旋转并可选择立即翻转输入。下表描述了转置滤镜。
描述 | 对输入的行和列进行转置,如果需要,还会翻转结果。 |
---|---|
语法 | transpose={0, 1, 2, 3} 使用 0 – 3 中的一个值 |
************ | 可用值的描述 |
0 | 输入被逆时针旋转 90° 并垂直翻转 |
1 | 输入被顺时针旋转 90° |
2 | 输入被逆时针旋转 90° |
3 | 输入被顺时针旋转 90° 并垂直翻转 |
请注意,转置滤镜的值 0 和 3 同时提供两个操作——旋转和垂直翻转。这意味着使用值 0 包含了两个滤镜的效果。以下两个命令的结果相同:
ffplay -f lavfi -i smptebars -vf transpose=0
ffplay -f lavfi -i smptebars -vf transpose=2,vflip
同样,值3的用法可以用两个过滤器替换,如下两个命令所示:如果使用以下代码:
ffplay -f lavfi -i smptebars -vf transpose=3
ffplay -f lavfi -i smptebars -vf transpose=1,vflip
在接下来的章节中,我们将通过图例描述转置滤镜每个值的用法。
4、逆时针旋转 90 度并垂直翻转
以下命令将输入顺时针旋转 90 度:
ffmpeg -i CMYK.avi -vf transpose=0 CMYK_transposed.avi

5、顺时针旋转 90 度
以下命令将输入顺时针旋转 90 度:
ffmpeg -i CMYK.avi -vf transpose=1 CMYK_transposed.avi

6、逆时针旋转 90 度
以下命令将输入逆时针旋转 90 度:
ffmpeg -i CMYK.avi -vf transpose=2 CMYK_transposed.avi

7、顺时针旋转 90 度并垂直翻转
以下命令将输入顺时针旋转 90 度并垂直翻转:
ffmpeg -i CMYK.avi -vf transpose=3 CMYK_transposed.avi

音视频方向学习、求职,欢迎加入我们的星球
丰富的音视频知识、面试题、技术方案干货分享,还可以进行面试辅导

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。