FFmpeg 视频旋转

由于某种起因发明ffmpeg处置视频扭转这个特殊好玩,记载一下,为了演示后果还特地做了个字母小视频(abc.mp4),前面不贴GIF了,眼快闪瞎啦。

ffmpeg -vf

-vf指令是一些简略的视频过滤器。

顺时针扭转90°

ffmpeg -i abc.mp4 -vf "transpose=1" abc-r90.mp4

后果

逆时针扭转90°

ffmpeg -i abc.mp4 -vf "transpose=2" abc-r270.mp4

后果

程度翻转

ffmpeg -i abc.mp4 -vf hflip hflip.mp4

后果

垂直翻转

ffmpeg -i abc.mp4 -vf vflip vflip.mp4

后果

逆时针扭转90°后再程度翻转

ffmpeg -i abc.mp4 -vf "transpose=3" abc-trsps3.mp4

等效于

ffmpeg -i abc.mp4 -vf "transpose=2,hflip" r270hf.mp4

后果

顺时针扭转90°后再程度翻转

也能够懂得为程度翻转后逆时针扭转90°

ffmpeg -i abc.mp4 -vf "transpose=0" abc-trsps0.mp4

等效于

ffmpeg -i abc.mp4 -vf "transpose=1,hflip" r90hf.mp4

后果

扭转180°

直接让右旋2次

ffmpeg -i abc.mp4 -vf "transpose=1,transpose=1" r180.mp4

后果

顺时针扭转45°

应用rotate停止扭转,不转变源图像辨别率,配景为玄色。

ffmpeg -i abc.mp4 -vf rotate=PI/4 rotate45.mp4

后果

MP4文件的 rotate 扭转属性

任务中发明手机拍出来的竖屏视频导出到电脑上播放也是竖屏,然而用种种软件辨认出来确实是横屏尺寸(ffmpeg也是),甚是惊讶。

厥后才发明本来mp4文件有个 rotate 扭转 属性,惯例播放器播放的时间能辨认这个属性,主动转为竖屏。

如许的话在现实应用中会呈现一些成绩,比方mp4解复用或许转换为mkv等格局后,这个属性就会丧失,再把这个视频传出去就会酿成一下躺下的横屏视频。 于是就在网上搜到了下面扭转视频的下令,感到好玩就记载一下。

本认为把手机拍出来的这个视频用下面的-vf "transpose=1"下令右旋一下就好了,成果发明转换后的酿成向右躺下的横屏视频了!

本来ffmpeg扭转的时间能辨认这个 Rotation 属性,假如Rotation=90就会以为是竖屏,而后再右旋。

如许的话能够先想措施把这个Rotation 属性去失落,再停止右转90°,即

ffmpeg -i VID_000.mp4 -metadata:s:v rotate="0" -c:v copy -c:a copy r0.mp4 ffmpeg -i r0.mp4 -vf "transpose=1" out.mp4

如许的话,Rotation 属性也没了,酿成了真正的竖屏视频了。

-vf "transpose=1"下令会辨认原文件的Rotation 属性,然而转换后的文件是不这个属性的,以是也能够把这个文件 右旋再左旋,即便用了两次滤波器,可能盘算量会年夜那么一丢丢。

ffmpeg -i VID_000.mp4 -vf "transpose=1,transpose=2" out.mp4

总结

手机拍出来的mp4视频无论横着拍仍是竖着拍,都是横屏尺寸,(试过多少个品牌的安卓机是如许),手机遇依据拍摄时角度设置rotate 扭转 属性,个别为90°(畸形竖拍)或许270°(手机倒着拍)。播放器播放时会辨认rotate 属性就行响应扭转表现。

ffmpeg -i input -metadata:s:v rotate="90" -c:v copy -c:a copy out.mp4能够设置视频的rotate 扭转 属性,只影响播放表现后果,不转变现实尺寸,此下令能够不重编码音视频。

ffmpeg -vf 会应用视频过滤器 切实在实地 扭转或许翻转视频图像,这个环节会重编码视频。此过滤器同样实用于一般图片文件处置。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 基本概念 1.1 容器(Container) 容器也就是封装格式,例如MP4。容器中主要包含以下内容: 视频...
    一数一道阅读 1,003评论 0 1
  • ffmpeg主要组成部分 1、libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生...
    旁界001阅读 148,603评论 11 76
  • 一、搭建ffmpeg环境 总有很多人想要了解学习音视频,却悻悻不知改从哪里入手,今天我们就一起来揭开它神秘的面纱😄...
    starmier阅读 1,818评论 1 4
  • 滤镜解析 FFmpeg中filter分为: audio filter video filter Multimedi...
    刘小厨阅读 1,103评论 0 2
  • 滤镜解析 FFmpeg中filter分为: audio filter video filter Multimedi...
    Sincerity_阅读 1,008评论 0 0