ffmepg滤镜

news2024/10/2 20:31:44

视频按顺时针方向旋转90度
ffplay -vf transpose=1 -i juren-30s.mp4
ffplay -f lavfi -i testsrc -vf transpose=1
在这里插入图片描述
-f lavfi -i testsrc这个滤镜是ffmpeg给用户的一个测试使用的视频

视频水平翻转(左右翻转)
-vf hflip
实现慢速播放,声音速度是原始速度的50%
ffplay p629100.mp3 -af atempo=0.5

视频水印
1、右下角
ffmpeg -i in.mp4 -i logo.jpg -filter_complex ‘overlay=main_w-overlay_w-10:main_h-overlay_h-10’ out.mp4
1、 左下角
ffmpeg -i in.mp4 -i logo.jpg -filter_complex ‘overlay=x=10:y=main_h-overlay_h-10’ out.mp4

overlay=x=10:y=10 左上
overlay=x=main_w-overlay_w-10:y=10 右上
-filter_complex: 相比-vf, filter_complex适合开发复杂的滤镜功能,如同时对视频进行裁剪并旋转。参数之间使用逗号(,)隔开即可
main_w:视频宽度
overlay_w: 要添加的图片水印宽度
main_h : 视频高度
overlay_h:要添加的图片水印宽度

ffmpeg -i in.mp4 -vf "movie=logo.jpg[watermark];[in][watermark]
overlay=main_w-overlay_w-10:main_h-overlay_h-10[out] " output.mp4
logo.jpg: 要添加的水印图片地址
overlay:水印参数
main_w-overlay_w-10 : 水印在x轴的位置,也可以写成x=main_w-overlay_w-10
main_h-overlay_h-10:水印在y轴的位置

滤镜的语法:
三个单元,滤镜filter,滤镜链filterchain,滤镜图;-vf -af后可以接滤镜图,-filter_complex后也可以
滤镜之间用",“隔开,构成滤镜链,滤镜链条之间用”;“隔开,如果有隔开符号则滤镜图应该用”“引起来符合linux终端规范,构成路径图
一个滤镜如下:
[input_link_lable1][input_link_lable2]… filter_name=parameters [output_link_lable1][output_link_lable12]…
滤镜名前和参数后是链接标签列表,一个标签是一个输入或输出端口。标签是可选的,不填就是默认值。如果一个滤镜没有输出端,那么它默认连接到此滤镜链中,后面的第一个没有输入端的滤镜。
在一个滤镜中,“:“用于分割key=vlue对,比如:
:”分隔的key=value列表
ffplay -i good.mp4 -vf scale=iw/2:ih/2
在一个key=vlue对中,”:“用于分割vule值,比如:
ffplay -i good_scale.mp4 -vf fade=in:0:30
淡入视频的前30帧,这个滤镜有三个参数,他们之间用”:"隔开

//默认log在视频的左上角,在(0,0)位置
ffmpeg -i good_scale.mp4 -i mark.png -filter_complex overlay good_mark.mp4
//在右下角,以右下角为(0,0),log在(-50,10)位置

在这里插入图片描述

ffmpeg -i good_scale.mp4 -i mark.png -filter_complex overlay=main_w-overlay_w-50:main_h-overlay_h-10 good_mark.mp4
其中main_w为视频的宽,overlay_w为log的宽

在这里插入图片描述
滤镜输入输出默认的方式:【引用文章】

ffmpeg -i A.avi -i C.mkv -i B.mp4 -filter_complex "overlay" out1.mp4 out2.srt

“-filter_complex” 选项指定了一个复杂 filtergraph,此 filtergraph 由单个视频滤镜 overlay 构成。overlay 滤镜需要两个视频输入,但此处并未为 overlay 滤镜指定输入,因此输入中的头两个有效视频流(A.avi 中的 stream 0 和 C.mkv 中的 stream0)会被作为 overlay 滤镜的输入。overlay 滤镜输出无标号,因此 overlay 滤镜的输出会被写入第一个输出文件 out1.mp4 中。输出时也可以用map指定,但注意一个流只能被指定到一个输出,不然出错,则命令不会输出任何文件。
如:

ffmpeg -i A.avi -i B.mp4 -i C.mkv -filter_complex "[1:v]hue=s=0,split=2[outv1][outv2];overlay;aresample" \
        -map '[outv1]' -an        out1.mp4 \
                                  out2.mkv \
        -map '[outv2]' -map 1:a:0 out3.mkv

hue滤镜用于调整视频的色调(hue)

ffplay -i good.mp4 -vf scale=640:360
ffplay -i good.mp4 -vf scale=iw/2:ih/2
一个滤镜图也可以只有一个滤镜链,一个滤镜链可以只包含一个滤镜,这种特例情况下,一个滤镜图只包含一个滤镜。
因此ffmpeg命令对滤镜的讨论为了方便不区分滤镜,滤镜链,滤镜图,而是只针对滤镜图(filtergraph)进行讨论。

针对简单的,也就是只有一个输入和输出的滤镜图,用-vf -af,官网如图,它的处理过程是线性的,执行完一个滤镜,再执行下一个滤镜。

在这里插入图片描述针对复杂的,多个输入和输出滤镜图,用-filter_complex等价于lavfi,不同的滤镜图之间是可以同时进行的。
在这里插入图片描述

https://ffmpeg.org/ffmpeg-filters.html
http://ffmpeg.org/ffmpeg.html#Filtering
https://zhuanlan.zhihu.com/p/595299940

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/864934.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pycharm,VSCode 几个好用的插件

pycharm Tabnine AI Code 可以在编写程序的时候为你提供一些快捷方式,增加编程速度 Chinese 对英文不好的程序员来说是个不错的选择,可以将英文状态下的pycharm变为中文版的 ChatGPT 可以跟ai聊天,ai可以解决你80%的问题 ,也可以帮…

10个AI绘图生成器让绘画更简单

AI不仅影响商业和医疗保健等行业,还在创意产业中发挥着越来越大的作用,开创了AI绘画生成器新时代。在绘画领域当然也是如此,与传统的绘画工具不同,AI人工智能时代的绘画工具是全自动的、智能的,甚至可以说是“傻瓜式”…

nginx负载均衡的几种配置方式介绍

一.负载均衡含义简介 二.nginx负载均衡配置方式 准备三台设备: 2.190均衡服务器,2.191web服务器1,2.160web服务器2,三台设备均安装nginx,两台web服务器均有网页内容 1.一般轮询负载均衡 (1&#xff09…

CMake: 检测并使用OpenMP的并行环境

CMake: 检测OpenMP的并行环境 导言OpenMP简介项目结构CMakeLists.txt相关源码输出结果 导言 目前,市面上的计算机几乎都是多核机器,对于性能敏感的程序,我们必须关注这些多核处理器,并在编程模型中使用并发。OpenMP是多核处理器上…

重零搭建SpringSecurity +JWT

1、前期工作(创建父工程,导入依赖) 2、创建启动类 3、测试项目,启动后访问8080端口、hello看有没有页面 4、引入springSecurity依赖(重新启动,再访问/hello,会跳转到登录页面,用户名是 user,密码…

系统集成项目管理工程师好考吗?不报班能考过吗?

即使不参加培训班,只要自我控制能力还不错,也可以通过考试。中级集成考试难度不大,主要是要理解47个过程的输入输出和工具的使用,很多题目都是按照这个逻辑出的。建议可以在网上或者刷题APP上找一些资料和真题来练习,因…

Ajax 笔记(二)—— Ajax 案例

笔记目录 2. Ajax 综合案例2.1 案例一-图书管理2.1.1 渲染列表2.1.2 新增图书2.1.3 删除图书2.1.4 编辑图书 2.2 案例二-背景图的上传和更换2.2.1 上传2.2.2 更换 2.3 案例三-个人信息设置2.3.1 信息渲染2.3.2 头像修改2.2.3 信息修改2.3.4 提示框 Ajax 笔记: Ajax…

全新 – Amazon EC2 M1 Mac 实例

去年,在 re: Invent 2021 大会期间,我写了一篇博客文章,宣布推出 EC2 M1 Mac 实例的预览版。我知道你们当中许多人请求访问预览版,我们尽了最大努力,却无法让所有人满意。不过,大家现在已经无需等待了。我很…

【C语言】实现通讯录(动态+文件)

目录 前言:一.创建多文件二.保存人的通讯录信息三.构建菜单 - test.c四.函数的声明五.函数的实现1.初始化通讯录2.增加指定联系人3.删除指定联系人4.查找指定联系人5.修改指定联系人6.排序联系人信息(排序名字)7.清理通讯录8.文件存盘 六.全部…

28 玻尔兹曼机

文章目录 28 玻尔兹曼机28.1 模型定义28.2 梯度推导28.3 梯度上升28.4 基于VI[平均场理论]求解后验概率 28 玻尔兹曼机 28.1 模型定义 玻尔兹曼机是一张无向图,其中的隐节点和观测节点可以有任意连接如下图: 我们给其中的节点、连线做出一些定义&#…

css内容达到最底部但滚动条没有滚动到底部

也是犯了一个傻狗一样的错误 ,滚动条样式是直接复制的蓝湖的代码,有个高度,然后就出现了这样的bug 看了好久一直以为是布局或者overflow的问题,最后发现是因为我给这个滚动条加了个高度,我也是傻狗一样的,…

认识Node.js及三个模块

文章目录 1.初识 Node.js1.1 什么是 Node.js1.2 Node.js 中的 JavaScript 运行环境1.3 Node.js 可以做什么1.4 Node.js 环境的安装1.4.1 区分 LTS 版本和 Current 版本的不同1.4.2 查看已安装的 Node.js 的版本号1.4.3 什么是终端1.4.4 终端中的快捷键 1.5 在 Node.js 环境中执…

云安全攻防(七)之 容器逃逸

容器运行时的安全风险 运行时的容器可能发生的攻击形式数不胜数,然而归根结底,所有攻击影响的还是业务系统的机密性、完整性和可用性(CIA三要素)。从这个角度出发,我们可以将攻击做以下的分类: 主要影响机…

从零开始学python(十七)JS逆向专题,看完直接入门

前言 今天讲述Python框架源码专题最后一个部分,爬虫集群部署,前面更新了十五个从零开始学python的系列文章,分别是: 编程语法/网络编程/多线程/多进程/协程/数据库机器学习/全栈开发/数据分析/Hadoop篇/Spark篇爬虫/自动化和抓包…

CMU 15-445 -- Distributed OLAP Databases -21

CMU 15-445 -- Distributed OLAP Databases -21 引言OLTP and OLAPStar Schema vs. Snowflake SchemaProblem Setup本节大纲Execution Models:Push vs. PullExample #1: Push Query to Data in Shared-Nothing ArchitectureExample #2: Pull Data to Query in Share…

ARP协议原理与应用

ARP协议原理与应用 一、ARP协议概述1.1、场景描述1.2、ARP协议概述 二、ARP协议工作原理2.1、ARP工作流程2.2、ARP工作原理2.3、ARP缓存表 三、ARP协议分类3.1、免费ARP(Gratuitous ARP )3.2、代理ARP(Proxy ARP )3.3、RARP与IARP…

详解lambda表达式(一):表达式定义与异常处理

目录 一、lambda表达式 二、lambda表达式实现函数接口 2.1 函数式接口 2.2 lambda表达式实现无参抽象方法 2.3 lambda表达式实现有参抽象方法 2.4 lambad表达式使用代码块 三、lambda表达式调用外部变量 3.1 lambda表达式可以更改类成员变量 3.2 lambda表达式无法更改…

jvs-rules API数据源配置说明(含配置APIdemo视频)

在JVS中,多数据源支持多种形态的数据接入,其中API是企业生产过程中常见的数据形态。使用数据源的集成配置,以统一的方式管理和集成多个API的数据。这些平台通常提供各种数据转换和处理功能,使得从不同数据源获取和处理数据变得更加…

datax-web报错收集

在查看datax时发现日志出现了如上错误,因为项目是部署在本地linux虚拟机上的,使用的是nat网络地址转换,不知道为什么虚拟机的端口号发生了变化,导致数据库根本连接不进去,更新linux虚拟机的ip地址就好

【Wamp】安装 | 局域网内设备访问

安装教程: https://wampserver.site/article/1.html 下载 https://www.wampserver.com/en/ 安装路径上不能有中文 安装好之后图标呈绿色 放入网页文件 将网页文件放置于wamp文件夹的www子文件夹 例如:\Wamp\program\www 修改http端口 WAMP服务器…