ffmpeg实现视频的翻转与旋转(ffmpeg4.2.2)
一,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)的更多相关文章
- 项目实战:Qt+Ffmpeg+OpenCV相机程序(打开摄像头、支持多种摄像头、分辨率调整、翻转、旋转、亮度调整、拍照、录像、回放图片、回放录像)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- ffmpeg实现视频转gif及gif缩放(ffmpeg4.2.2)
一,为什么选择ffmpeg处理gif? 1,ffmpeg可以从视频中截取gif 2,ffmpeg在缩放gif时出错的机率较低, 而imagemagick在缩放gif时容易出错 我们在后面的例子中可以看 ...
- 使用ffmpeg进行视频截图
1.从ffmpeg的Windows Build网站(https://ffmpeg.zeranoe.com/builds/)下载ffmpeg. 2.下载后解压压缩包,得到如下左图的文件.然后打开bin文 ...
- HTML5播放视频,并使用ffmpeg对视频转编码
网页加入视频可以用h5自带的video标签,这里用一个jQuery封装优化好的video视频组件videojs. videojs官方网站:https://docs.videojs.com/index. ...
- ffmpeg为视频添加时间戳 - 手动编译ffmpeg
FFMPEG给视频加时间戳水印 项目中需要给视频添加时间戳,理所当然最好用的办法是ffmpeg.在找到正确的做法前,还被网上的答案timecode给水了一下(水的不轻,在这里转了2天),大概是这样写的 ...
- 利用FFmpeg生成视频缩略图 2.1.6
利用FFmpeg生成视频缩略图 1.下载FFmpeg文件包,解压包里的\bin\下的文件解压到 D:\ffmpeg\ 目录下. 下载地址 http://ffmpeg.zeranoe.com/build ...
- C# 利用ffmpeg 对视频转换系类操作 (1) 基本分析
最近公司做一个项目,开发一个视频站点.项目需求中有很多视频转换的需求,如:格式转换(flv,Mp4),视频水印,视频截图,视频合成,获取视频的基本信息(时间戳,视频大小等).经过网络的收集资料以及自己 ...
- 使用ffmpeg 对视频截图,和视频转换格式
//执行CMD命令方法 public static void CmdProcess(string command)//调用CMD { //实例化一个进程类 ...
- NET 2.0(C#)调用ffmpeg处理视频的方法
另外:ffmpeg的net封装库 http://www.intuitive.sk/fflib/ NET 2.0 调用FFMPEG,并异步读取输出信息的代码...public void ConvertV ...
随机推荐
- 利用预编译解决C/C++重复定义的错误 -2020.09.13
利用预编译解决C/C++重复定义的错误 -2020.09.13 我们现在有main.c和function.h两个文件 main.c #include <stdio.h> #include ...
- CentOS7重装yum和python
卸载现有的Python和Yum 1.删除现有Python ##强制删除已安装程序及其关联 rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ...
- Django设置前端背景图片
设置 setting.py 文件 STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static&qu ...
- 踩坑了,JDK8中HashMap依然会死循环!
是否你听说过JDK8之后HashMap已经解决的扩容死循环的问题,虽然HashMap依然说线程不安全,但是不会造成服务器load飙升的问题. 然而事实并非如此.少年可曾了解一种红黑树成环的场景,=v= ...
- 突发!美商务部宣布封禁微信,TikTok——面对科技封锁,如何应对
刚刚美国商务部忽然发布了这则新闻,为了回应特朗普2020年8月6号的行政令,称这些应用程序存在安全威胁. 禁令中称,自2020年9月20日起,美国政府将: 1 禁止通过美国在线移动应用程序商店分发或维 ...
- centos7 yum安装redis及常用命令
redis是什么 Redis是一种基于内存的数据结构存储,可持久化的日志型.Key-Value数据库.使用关系型数据库的站点达到一定并发量的时候,往往在磁盘IO上会有瓶颈,这时候配合redis就有一定 ...
- WEB通信及前后端组成
NDS(域名系统) 按个人的理解,就是将域名和IP映射,通过输入域名,DNS 找到对应的域名的IP地址,即可访问. NDS请求步骤: 当用户输入域名(例:www.baidu.com),回车那一刻: 1 ...
- GitBook 3.2.3入门
简介 GitBook 是一个基于 Node.js 的命令行工具,可使用 GitHub / Git.Markdown.AsciiDoc来制作精美的电子书.GitBook 可以将文档作为静态网站或电子书( ...
- Python-序列切片原理和切片协议-[start:end:step] __getitem__
切片原理图(顾头不顾尾的正则原理) # [0:1] 其实只取到C, 取e则 [-1:], 如果步长为负数则倒过来取,从第几个往回取 name = "ChuiXue" print(n ...
- Python-函数式编程-map reduce filter lambda 三元表达式 闭包
lambda 匿名函数,核心是作为算子,处理逻辑只有一行但具有函数的特性,核心用于函数式编程中 三元运算符 其实本质上是if分支的简化版,满足条件返回 if 前面的值,不满足条件返回 else后面的值 ...