一,ffmpeg的安装

请参见:

https://www.cnblogs.com/architectforest/p/12807683.html

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,ffmpeg的使用例子:视频的翻转

视频原图:

1,水平翻转

#-vf filter_graph,用来设置: video filters

# hflip 水平翻转

[root@blog 1]# ffmpeg -i 8_9f6fa300bacded7b.mp4 -vf "hflip" /data/dev/think_file/html/8_hflip.mp4 

见截图:

2,垂直翻转

#vflip: 垂直翻转

[root@blog 1]# ffmpeg -i 8_9f6fa300bacded7b.mp4 -vf "vflip" /data/dev/think_file/html/8_vflip.mp4

见截图:

三,ffmpeg的使用例子:视频的旋转:

视频原图:

#transpose:指定旋转的效果

0=90CounterCLockwise and Vertical Flip (default) 

1=90Clockwise 

2=90CounterClockwise 

3=90Clockwise and Vertical Flip

0:逆时针旋转90度并垂直翻转

1:顺时针旋转90度

2:逆时针旋转90度

3:顺时针旋转90度后并垂直翻转

1,顺时针旋转90度:

[root@blog 1]# ffmpeg -i 8_9f6fa300bacded7b.mp4 -vf "transpose=1" /data/dev/think_file/html/8_t1.mp4

见截图:

2,逆时针旋转90度

[root@blog 1]# ffmpeg -i 8_9f6fa300bacded7b.mp4 -vf "transpose=2" /data/dev/think_file/html/8_t2.mp4

见截图:

3,顺时针旋转90度后并垂直翻转

[root@blog 1]# ffmpeg -i 8_9f6fa300bacded7b.mp4 -vf "transpose=3" /data/dev/think_file/html/8_t3.mp4    

见截图:

4,顺时针旋转180度

[root@blog 1]# ffmpeg -i 8_9f6fa300bacded7b.mp4 -vf "transpose=2,transpose=2" /data/dev/think_file/html/8_t5.mp4

见截图:

5,指定角度:90度

#PI/2: 90度,注意,视频旋转90度后,原宽高没变,所以显示两侧有黑边

#画面有被隐藏掉的部分

[root@blog 1]# ffmpeg -i 8_9f6fa300bacded7b.mp4 -vf "rotate=PI/2" /data/dev/think_file/html/8_rpi2.mp4 

见截图:

6,指定角度:180度

#因为旋转180度仍然与原宽高相等,所以没有黑边,也没有被隐藏的画面

[root@blog 1]# ffmpeg -i 8_9f6fa300bacded7b.mp4 -vf "rotate=PI" /data/dev/think_file/html/8_rpi1.mp4

见截图:

7, 指定角度:60度

#原宽高不变,出现黑底,也有画面被隐藏

[root@blog 1]# ffmpeg -i 8_9f6fa300bacded7b.mp4 -vf "rotate=PI/3" /data/dev/think_file/html/8_rpi3.mp4

见截图:

四,查看ffmpeg的版本

 [root@blog img]$ ffmpeg --version
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (GCC)

五,查看centos的版本

[root@blog 1]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

ffmpeg实现视频的翻转与旋转(ffmpeg4.2.2)的更多相关文章

  1. 项目实战:Qt+Ffmpeg+OpenCV相机程序(打开摄像头、支持多种摄像头、分辨率调整、翻转、旋转、亮度调整、拍照、录像、回放图片、回放录像)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  2. ffmpeg实现视频转gif及gif缩放(ffmpeg4.2.2)

    一,为什么选择ffmpeg处理gif? 1,ffmpeg可以从视频中截取gif 2,ffmpeg在缩放gif时出错的机率较低, 而imagemagick在缩放gif时容易出错 我们在后面的例子中可以看 ...

  3. 使用ffmpeg进行视频截图

    1.从ffmpeg的Windows Build网站(https://ffmpeg.zeranoe.com/builds/)下载ffmpeg. 2.下载后解压压缩包,得到如下左图的文件.然后打开bin文 ...

  4. HTML5播放视频,并使用ffmpeg对视频转编码

    网页加入视频可以用h5自带的video标签,这里用一个jQuery封装优化好的video视频组件videojs. videojs官方网站:https://docs.videojs.com/index. ...

  5. ffmpeg为视频添加时间戳 - 手动编译ffmpeg

    FFMPEG给视频加时间戳水印 项目中需要给视频添加时间戳,理所当然最好用的办法是ffmpeg.在找到正确的做法前,还被网上的答案timecode给水了一下(水的不轻,在这里转了2天),大概是这样写的 ...

  6. 利用FFmpeg生成视频缩略图 2.1.6

    利用FFmpeg生成视频缩略图 1.下载FFmpeg文件包,解压包里的\bin\下的文件解压到 D:\ffmpeg\ 目录下. 下载地址 http://ffmpeg.zeranoe.com/build ...

  7. C# 利用ffmpeg 对视频转换系类操作 (1) 基本分析

    最近公司做一个项目,开发一个视频站点.项目需求中有很多视频转换的需求,如:格式转换(flv,Mp4),视频水印,视频截图,视频合成,获取视频的基本信息(时间戳,视频大小等).经过网络的收集资料以及自己 ...

  8. 使用ffmpeg 对视频截图,和视频转换格式

    //执行CMD命令方法 public static void CmdProcess(string command)//调用CMD        {            //实例化一个进程类      ...

  9. NET 2.0(C#)调用ffmpeg处理视频的方法

    另外:ffmpeg的net封装库 http://www.intuitive.sk/fflib/ NET 2.0 调用FFMPEG,并异步读取输出信息的代码...public void ConvertV ...

随机推荐

  1. os.walk模块查找目录下的所有txt文件

  2. 漏桶、令牌桶限流的Go语言实现

    限流 限流又称为流量控制(流控),通常是指限制到达系统的并发请求数. 我们生活中也会经常遇到限流的场景,比如:某景区限制每日进入景区的游客数量为8万人:沙河地铁站早高峰通过站外排队逐一放行的方式限制同 ...

  3. idea配置springboot项目记录

    配置文件application.properties server.port=80 server.servlet.context-path=/bookManage spring.mvc.static- ...

  4. 判断9X9数组是否是数独的java代码

    闲来无事,理了一下数独的判断逻辑,用java实现,代码如下 import java.util.logging.FileHandler;import java.util.logging.Level;im ...

  5. FTP服务端 FTP服务端搭建教程

    FTP服务端搭建教程如下:一.需要准备以下工具:1.微型FTP服务端.2.服务器管理工具二.操作步骤:1.下载微型FTP服务端.(站长工具包可下载:http://zzgjb.iis7.com/ )2. ...

  6. powerDesiger的学习

    一:简介 二:建立物理模型(正向工程) 1.创建 (1) file->new Model创建需要的物理模型,设置使用的数据库. 2.物理模型的数据库设计 (1)一个物理模型中可以有好几张数据库表 ...

  7. python 系统设置

    1. 设置python运行环境为utf-8 import sys #引用sys模块 reload(sys) #重新加载sys sys.setdefaultencoding("utf-8&qu ...

  8. Go gin框架 使用swagger生成API文档

    swaggos 是一个golang版本的swagger文档生成器,提供了native code包装器,并且支持主流的web框架包裹器 github 地址:https://github.com/swag ...

  9. Lua table(表)

    table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组.字典等. Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil. Lua ta ...

  10. Java学习day04

    day04-课堂笔记 1.运算符[剩下的运算符] * 赋值运算符 两种类型: 基本赋值运算符:= 扩展的赋值运算符: += -= *= /= %= 它们都是先执行等号右边的表达式,最后再经过运算赋值给 ...