正文

视频帧的翻转和旋转是常见的视觉操作,可以用来创建各种有趣的效果,比如输入的镜像版本。

水平翻转

水平镜像的视频版本-水平翻转是用一个在表格中描述的hflip过滤器创建的。

描述 水平翻转输入视频,因此输出看起来像是从侧面镜像。过滤器没有参数
语法 -vf hflip

为了测试testsrc视频源的水平翻转,我们可以使用以下命令:

ffplay -f lavfi -i testsrc -vf hflip

我的测试命令和书里面的一样,显示效果如下图:

左右是倒着的

【学习地址】:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发
【文章福利】:

免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~

垂直翻转

对于垂直方向的输入帧,我们可以使用在表格中描述的vflip过滤器。

描述 垂直翻转输入视频,因此输出看起来像从顶部或底部镜像
语法 -vf vflip

左下方的图像是在第25章中描述的rgbrestsrc模式。为了得到它的垂直翻转版本,我们可以使用下一个命令:

ffplay -f lavfi -i rgbtestsrc -vf vflip

我自己的测试命令和书上的一样,效果图如下:

介绍旋转

之前的FFmpeg版本包含特殊的过滤器旋转,使视频旋转可以进入角度值。这个过滤器现在已被弃用,取而代之的是一个转置过滤器,它允许旋转并且可以选择立即翻转输入。表中描述了转置滤波器。

描述 将行与输入的列进行转置,如果选择,也会翻转结果
语法 transpose={0, 1, 2, 3}
one from the values 0 - 3 is used
*********** 描述可用的值
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

看看我自己的测试效果:
如果使用如下命令行:

ffplay -f lavfi -i smptebars -vf transpose=0

显示效果如下图:

如果使用如下代码:

ffplay -f lavfi -i smptebars -vf transpose=2,vflip

显示效果如下图:

image.png

类似地,在接下来的两个命令中,可以用两个过滤器替换值3:

ffplay -f lavfi -i smptebars -vf transpose=3
ffplay -f lavfi -i smptebars -vf transpose=1,vflip

在接下来的章节中,我们描述了带有插图的转置过滤器的每个值的用法。

逆时针旋转90度,垂直翻转

下一个命令以顺时针方向旋转90度的输入:

ffmpeg -i CMYK.avi -vf transpose=0 CMYK_transposed.avi

我自己的测试命令如下:

ffmpeg -i /Users/zhangfangtao/Desktop/test.mp4  -vf transpose=0 /Users/zhangfangtao/Desktop/newTest.mp4

原来的视频:

原来的视频

转换之后的视频

顺时针旋转90度

下一个命令输入90°旋转顺时针方向:

ffmpeg -i CMYK.avi -vf transpose=1 CMYK_transposed.avi

我的测试命令如下:

ffmpeg -i /Users/zhangfangtao/Desktop/test.mp4  -vf transpose=1 /Users/zhangfangtao/Desktop/newTest.mp4

显示效果如下:

顺时针旋转90度

逆时针旋转90度

下一个命令输入90°逆时针旋转:

ffmpeg -i CMYK.avi -vf transpose=2 CMYK_transposed.avi

我的测试命令如下:

 ffmpeg -i /Users/zhangfangtao/Desktop/test.mp4  -vf transpose=2 /Users/zhangfangtao/Desktop/newTest.mp4

显示效果:

image.png

顺时针旋转90度,垂直翻转

下一个命令输入90°旋转顺时针方向和垂直翻转它:

ffmpeg -i CMYK.avi -vf transpose=3 CMYK_transposed.avi

我的测试命令如下:

ffmpeg -i /Users/zhangfangtao/Desktop/test.mp4 -vf transpose=3 /Users/zhangfangtao/Desktop/newTest.mp4

效果图如下:

《FFmpeg Basics》中文版-07-翻转和旋转视频相关推荐

  1. ffmpeg学习二:《FFmpeg Basics》读书笔记(上)

    为了更好的理解ffmpeg工程,官方推荐了一本书:<FFmpeg Basics>.完整的读完这本书,应该对这个工程能有一个基本的理解了.本菜英文不好,姑且从这本书中提炼出一些比较常用的知识 ...

  2. 利用FFMPEG 旋转视频 和制作多宫格效果

    FFmpeg 官方下载: http://ffmpeg.org/download.html 配置下环境变量,使用命令行运行,旋转视频是逆时针旋转 ffmpeg -re -i output_video_2 ...

  3. 案例分享:Qt内窥镜相机录像程序(打开摄像头、支持多种摄像头、分辨率调整、翻转、旋转、亮度调整、拍照、录像、回放图片、回放录像)

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/108489004 长期持续项目技术分享,Sha ...

  4. ffmpeg学习三:《FFmpeg Basics》读书笔记(下)

    一.格式转换 格式转换是ffmpeg工具用的最多的地方了.我们可以使用-f选项,在输出文件之前指定输出文件的格式. 1-1媒体格式 1-1-1文件格式 媒体格式是能够存储音视频数据的特殊的文件类型.如 ...

  5. 相机裁剪旋转_怎么旋转视频画面角度

    在用手机或相机拍摄视频时,有时候画面会出现镜像.画面倒转的情况,影响观看体验,那么视频怎么旋转才能将画面变为正常播放?有很多方法可以做到,以下我为你挑选了最简单的工具,详细给你说说: 在线视频旋转 按 ...

  6. iphone竖屏视频旋转_如何在iPhone上旋转视频

    iphone竖屏视频旋转 We all know that feeling: you record a video on your iPhone in portrait mode, and then ...

  7. iphone竖屏视频旋转_在Linux上从iPhone旋转视频

    iphone竖屏视频旋转 iPhone is nice to take videos. However, one headache is the video may be rotated by 90 ...

  8. FFMpeg视频开发与应用基础——使用FFMpeg工具与SDK-殷汶杰-专题视频课程

    FFMpeg视频开发与应用基础--使用FFMpeg工具与SDK-41668人已学习 课程介绍         FFMpeg是当今为的面向音视频开发的开源工程,广泛应用于多种音视频的客户端.播放器和流媒 ...

  9. 分享一个能快速的旋转视频的方法

    现在很多的小伙伴们想要将视频的画面进行画面旋转的处理,但是没有可以批量操作的方法,鉴于很多小伙伴们都需要这个操作的方法,小编今天就来给大家分享一个可以通过轻松操作从而达到旋转视频画面的简单方法,现在就 ...

最新文章

  1. 智源出品 | 超大规模智能模型产业发展报告(附下载)
  2. RouterOS和艾泰路由建立ipsec ×××连接
  3. 流程图软件draw.io
  4. 把接口作为函数的参数,那么任何实现了接口的类的实例都可以作为此函数的参数传递...
  5. linux编程之pthread_create函数
  6. JavaScript中的的面向对象中的一些知识
  7. 2021牛客暑期多校训练营7 xay loves trees dfs序 + 主席树
  8. 案例学习BlazeDS+Spring之六InSync04打开多个联系人
  9. js highcharts拆线图
  10. html阿里矢量图标库,分析Iconfont-阿里巴巴矢量常用图标库
  11. 机器学习——验证方法
  12. mac SCp上传文件到阿里云服务器centos
  13. Netty源码解析之内存管理-PooledByteBufAllocator-PoolArena
  14. 技术话题(2)实时通讯RT和同步实时通讯IRT的区别
  15. base64照片压缩
  16. 客户说我已经有合作伙伴了 电话销售如何回应
  17. c++ string最大长度_关于C++ std::string类内存布局的探究
  18. Unity 将经纬度变为Unity中的坐标
  19. 美的、九阳、苏泊尔“变粉”,女性小家电成下一片“蓝海”?
  20. 抖音短视频庞大的流量池,新手小白如何杀出一条血路

热门文章

  1. 捣蛋猪PC版免费完美破解教程
  2. Pyspark特征工程--MinHashLSH
  3. 物理层网络编码的相位同步matlab仿真
  4. HTML引入外部css失效解决
  5. 怎样将蓝牙耳机与Apple Watch配对?
  6. 浅浅的聊一下 WebSocket
  7. Nginx代理浏览器可实时查看程序日志
  8. 五步教会你如何加入Bing的ChatGPT的候补名单
  9. CRC32命令和cksum命令输出结果为何不同?
  10. DELL服务器RAID配置教程AND为服务器安装centos7系统实验