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 ...
随机推荐
- 关于“枚举{0,1,...,n-1}所包含的所有大小为k的子集”的理解
前言 今天整理以前的竞赛笔记时,发现了当时写的一个模板: 枚举{0,1,-,n-1}所包含的所有大小为k的子集: int comb = (1 << k) - 1; while (comb ...
- DVWA sql注入low级别
DVWA sql注入low级别 sql注入分类 数字型注入 SELECT first_name, last_name FROM users WHERE user_id = $id 字符型注入 SELE ...
- 关于JSON的零碎小知识
1.ali的fastjson在将实体类转成jsonString的时候,一些首字母大写的字段会自动修改为小字母,这种字段加 @JsonProperty(value = "DL_id" ...
- Ubuntu16.04+Tensorflow+CUDA9.0+cuDNN7.0 环境简明搭建指南
最近在研究风格化得内容,发现搭建环境实在是很头疼的事情,虽然网上已经有各路大神总结整理好了很多搭建指南,各种问题的解决方案都已经罗列出来供大家参考.然后参考终究是参考,真正自己上手,发现仍旧是各种坑, ...
- 神作!阿里首发并发编程神仙笔记,Github已星标92K
Qzone 微信 神作!阿里首发并发编程神仙笔记,Github已星标92K JAVA超神编程 2020-09-23 21:04:06 JVM 无论什么级别的Java从业者,JVM都是进阶时必须迈过的坎 ...
- 自定义springboot - starter 实现日志打印,并支持动态可插拔
1. starter 命名规则: springboot项目有很多专一功能的starter组件,命名都是spring-boot-starter-xx,如spring-boot-starter-loggi ...
- 晚间测试3 B. 单(single)
题目描述 单车联通大街小巷.这就是出题人没有写题目背景的原因. 对于一棵树,认为每条边长度为 \(1\),每个点有一个权值\(a[i]\).\(dis(u,v)\)为点\(u\)到\(v\)的最短路径 ...
- Java知识系统回顾整理01基础05控制流程07结束外部循环
一.break是结束当前循环 二.结束当前循环实例 break; 只能结束当前循环 public class HelloWorld { public static void main(String[] ...
- C++ CComboBox控件详解
转载:http://blog.sina.com.cn/s/blog_46d93f190100m395.html C++ CComboBox控件详解 (2010-09-14 14:03:44) 转载▼ ...
- opencv的imread函数相对路径问题和 main 参数问题
参考: https://blog.csdn.net/u013404374/article/details/80178822 https://blog.csdn.net/fujilove/article ...