• 您当前位置:网站首页 >> 电脑技巧 >> ffmpeg 视频旋转和翻转相关命令行(1)
  • ffmpeg 视频旋转和翻转相关命令行(1)

    iCoA首席特工 逍遥峡谷 发布:2023-02-27 更新:2023-02-27 浏览0条评论
    内容简介

    经常我们会遇到,拍摄视频的时候,比如想要横版的,结果因为手机重力感应的问题,拍出来是竖版的。或者想要竖版的,结果拍成了横版的。这时候就需要把画面旋转90°,或者将画面进行翻转之类。我们可以使用一个免费的工具 ffmpeg 来进行旋转或者翻转视频。

    相关关键词:ffmpeg   视频旋转   画面旋转   视频压缩   命令行  

    本文链接:https://www.icoa.cn/a/976.html

    本站文章如非注明皆为原创,未经允许禁止转载。如有问题可以给我留言或发邮件。

    经常我们会遇到,拍摄视频的时候,比如想要横版的,结果因为手机重力感应的问题,拍出来是竖版的。或者想要竖版的,结果拍成了横版的。这时候就需要把画面旋转90°,或者将画面进行翻转之类。


    我们可以使用一个免费的工具 ffmpeg 来进行旋转或者翻转视频。


    首先,去官网下载 ffmpeg,并进行解压。

    ffmpeg官网:

    http://ffmpeg.org/download.html


    FFmpeg 百度网盘:https://pan.baidu.com/s/1oQN1u1NIwk5R7q05ZGz4Sg?pwd=iCoA

    提取码: iCoA 复制这段内容后打开百度网盘手机App,操作更方便哦


    解压到本地目录之后,可以把 ffmpeg 安装目录加到 系统 Path 里(如果配置过 Python 或者 Java,应该会操作),这样直接可以在任何一个视频所在目录运行这个命令了。

    01.png

    当然如果在 ffmpeg 安装目录运行命令,同时也把要处理的视频复制到的安装目录,效果跟本文是一样的。


    我们先介绍一下 ffmpeg 旋转和翻转视频的命令行如下:

    ffmpeg -i 要处理的文件 -vf filter_graph 输出的文件


    其中重要的是后面的 filter_graph 指的是旋转或翻转的参数。

    下面基于具体案例进行说明,第一部分先介绍画面旋转的命令,第二部分介绍画面翻转的命令。


    一、画面旋转

    相关命令:

    ffmpeg -i 要处理的文件 -vf transpose:指定旋转的参数 输出的文件


    相关参数:transpose:指定旋转的参数

    指定参数说明:

    0:逆时针旋转90°并垂直翻转
    1:顺时针旋转90°
    2:逆时针旋转90°
    3:顺时针旋转90°后并垂直翻转


    这些命令都是需要在命令行窗口里运行的,Windows 里快捷打开 命令行 的方式,就是在需要处理的视频目录(如果已经设置了 Path 的话)或者 ffmpeg 的 bin 目录上的地址栏,直接输入 cmd 回车即可。


    02.png


    02-2.png


    打开命令行窗口之后,再在黑色命令行窗口里输入相关命令。


    因为90°旋转其实是用的最多的,所以我们首先介绍顺时针旋转90°和逆时针旋转90°。


    1.1 顺时针旋转90°

    命令如下

    ffmpeg -i source.mp4 -vf "transpose=1" output.mp4


    03.png

    原来画面是这样  ↑  ,经过这个命令处理之后,会变成这样  → . 

    如图:

    04.png


    1.2 逆时针旋转90°

    命令如下:

    ffmpeg -i source.mp4 -vf "transpose=2" output.mp4

    原来画面是这样  ↑  ,经过这个命令处理之后,会变成这样  ← . 

    如图: 

    05.png

    上面是最简单的旋转,下面两个比较特殊的,也可以了解一下:


    1.3 逆时针旋转90°并垂直翻转

    命令如下:

    ffmpeg -i source.mp4 -vf "transpose=0" output.mp4

    这个直接看图比较明白,如图示(注意跟 1.1 画面的对比):

    06.png

     

    1.4 顺时针旋转90°后并垂直翻转

    命令如下:

    ffmpeg -i source.mp4 -vf "transpose=3" output.mp4

    如图示(注意跟 1.2 画面的对比):

    07.png

     

    上面四个还只是单次旋转,还可以使用二次旋转来达到旋转180°: 

    1.5 顺时针旋转180° 

    实现方式是,顺时针旋转90°两次,命令如下:

    ffmpeg -i source.mp4 -vf "transpose=1,transpose=1" output.mp4

    如图示:

    08.png


    1.6 逆时针旋转180° 

    命令如下:

    ffmpeg -i source.mp4 -vf "transpose=2,transpose=2" output.mp4


    无论是顺时针还是逆时针旋转180°,结果是一样的,所以就不放图示了。


    二、画面翻转

    上面讲了画面旋转,其实有时候我们也会遇到画面翻转的问题,也就是拍出来比如头在下脚在上,这时候就需要垂直翻转就可以了。或者左右方向反了,就可以用水平翻转。需要用到这两个参数 hflip 和 vflip.

    相关命令:

    ffmpeg -i 要处理的文件 -vf 翻转参数 输出的文件


    2.1 垂直翻转(也就是画面上下翻转)

    命令如下:

    ffmpeg -i source.mp4 -vf "vflip" output.mp4

    其中 vflip 指的就是垂直翻转。

    原画面如果是 ↓ ,经过处理之后,会变成 ↑

    09.png


    2.2 水平翻转(也就是画面左右翻转)

    命令如下:

    ffmpeg -i source.mp4 -vf "hflip" output.mp4

    其中 hflip 指的是水平翻转。

    也就是如果原来画面是这样 → ,经过这个命令处理之后,会变成这样 ←

    10.png


    三、画面质量

    注意,使用本文的命令进行旋转,其实是进行了视频转码,所以视频质量会有改变,并没有办法做到无损。要想跟之前画面质量差不多,需要一个参数 crf 来指定视频的画质。


    命令:

    ffmpeg -i 要处理的文件 -vf filter_graph -crf 视频编码 输出的文件

    其中 crf 编码数值越小品质越高,最小是0,最大51。注意数值 0 代表的不是输入的源视频画质,指的是不压缩,转出来的是未经压缩的视频,体积是超大的。


    比如上面第一部分和第二部分的命令没有指定 crf 的数值,则是默认值。不同的编码默认值不同,比如 x264 默认值是 23,x265 默认值是 28.


    如果默认值出来的画质满足不了你的要求,你可以重新指定 crf 的数值即可,比默认值小就可以。建议多测试一下,另外测试的时候,没必要完全转完,那样太浪费时间,只转个一两秒看一下画质即可。也就是运行几秒钟之后,按 q 会自动停止并退出转码。这时候看一下转出来的片段是否满足要求,最终选择一个既满足要求,体积又小的数值。


    完整命令行如下:

    ffmpeg -i source.mp4 -vf "transpose=1" -crf 18 output.mp4

    当然转码的过程中,会动态显示码率,你也可以调整数值,让码率跟原输入视频码率接近(当然不用追求相同,因为经过转码了,所以不可能完全相同)。

    11.png


    PS.如果有朋友没办法打开官网,我把这个程序传到百度网盘里,链接放到前面,从百度网盘里下载也可以。


    当然本文介绍的是,视频尺寸随着画面改变而改变,还有一种旋转方式,视频宽高尺寸不变,只是画面进行旋转。如果感兴趣的话,我下一篇文章介绍一下。

    本文链接:https://www.icoa.cn/a/976.html
    关键词: ffmpeg   视频旋转   画面旋转   视频压缩   命令行  


    如果您愿意支持本站,欢迎点击打赏哦~



    下一篇:马克思主义基本原理概论 关键知识点总结重点汇总

    上一篇:研招网(学信网)账号密码被盗,考研信息被人删除或修改怎么办?


    - 相关文章 -


    Windows 10 不能上网或连不上网怎么办 - 2015-06-01

    将硬盘分区分成整数GB分区的方法和对应列表 - 2015-04-15

    解决Windows 10 无法更新声卡驱动提示 Error 0x800705b4 - 2015-03-25

    使用 about:Flags 自定义IE11浏览器的User Agent - 2015-01-29

    我们无法创建新的分区,也无法找到现有的分区 - 2014-10-27

    常用公共DNS服务器地址 - 2014-08-05

    台湾 Google 服务器 IP 地址列表大全(2) - 2014-06-12

    台湾 Google 服务器 IP 地址列表大全(1) - 2014-06-12


    - 文章评论 -




    5540

    [由于政策原因,您的留言如果提交成功后,需要审核才能展示,请改天再来查看,请不要重复提交,谢谢支持!]

    - 最新评论[0条评论] -


    [>>>点击查看更多评论]

    版权所有©逍遥峡谷 - 星际中心超自然局 · 地球总部 | 逍遥峡谷 · 酷品优选
    Copyright©Interstellar Central Occult Agency (I.C.O.A)
    本局纯属虚构,如有雷同,纯属巧合

    冀公网安备13011102001055号 · 冀ICP备06033848号