FFmpeg frei0r插件使用学习
背景
ffmpeg做基本的音视频编辑还是比较简单的,但要做一些滤镜及特效就比较麻烦了。接下来看看借用frei0r插件怎么做;
简介
你可以将frei0r看作是一个"视频特效工具箱"。比如你有一段视频,你想给它加上某种特殊效果,例如让它变成黑白色,或者添加一个模糊效果,而frei0r就包含了许多这样的特效工具,我们称它们为"插件"。
环境准备
Windows
下图报错是已ffmpeg编辑启用frei0r,但没安装好;

1、先下载插件
下载最新的解压即可https://github.com/dyne/frei0r/releases
2、置环境变量
这是我的(也就是那些滤镜dll的目录)
$env:FREI0R_PATH
D:\Program Files\frei0r-v2.3.1_win64\filter
使用
参数释义参考:
https://www.mltframework.org/plugins/PluginsFilters/
https://gstreamer.freedesktop.org/documentation/frei0r
当然,frei0rb不仅仅有以下效果,这里只是抛砖引玉;
原视频

颜色调整
ffmpeg -i input.mp4 -vf "frei0r=filter_name=coloradj_rgb:filter_params=1.5|1.2" coloradj_rgb_1.5_1.2.mp4

扭曲
ffmpeg -i input.mp4 -vf "frei0r=filter_name=distort0r:filter_params=0.1|0.01" distort0r_0.1_0.01.mp4

光晕
ffmpeg -i input.mp4 -vf "frei0r=filter_name=glow:filter_params=0.5" glow_0.5.mp4

其他
其实在其他工具中也有集成frei0r的,比如mlt framework,简单看看mlt下的使用示例;
melt使用
用frei0r做的转场
trans_darken_1.0.mlt
<mlt>
<producer id="clip1">
<property name="resource">input.mp4</property>
<property name="length">00:00:03623</property>
</producer>
<producer id="clip2">
<property name="resource">input2.mp4</property>
<property name="length">00:00:10,000</property>
</producer>
<tractor id="tractor0">
<track producer="clip1" in="00:00:02.600" out="00:00:03.600"/>
<track producer="clip2" in="00:00:00.000" out="00:00:01.000"/>
<transition id="transition0" out="00:00:01.000">
<property name="a_track">0</property>
<property name="b_track">1</property>
<property name="mlt_service">frei0r.darken</property>
</transition>
</tractor>
<playlist id="videotrack0">
<entry producer="clip1" in="00:00:00.000" out="00:00:02.567" />
<entry producer="tractor0" in="00:00:00.000" out="00:00:01.000" />
<entry producer="clip2" in="00:00:01.000" out="00:00:10.000" />
</playlist>
</mlt>
生成命令
melt trans_darken_1.0.mlt -consumer avformat:trans_darken_1.0.mp4
效果

[参考]
https://blog.csdn.net/weixin_41530622/article/details/132543049
https://www.cnblogs.com/nlsoft/archive/2013/05/07/3065311.html
FFmpeg frei0r插件使用学习的更多相关文章
- FFmpeg frei0r water 滤镜
FFmpeg frei0r water 滤镜, 在 linux 环境中很流畅,但在 XP 环境中抛出异常 研究一段时间修改了代码,能在 XP 里跑得动. sample.water.avi water. ...
- JMeterPlugins插件监听器学习-监听器
JMeterPlugins插件监听器学习-监听器 1.jp@gc - Actiive Threads Over Time:不同时间活动用户数量展示(图表)2.jp@gc - AutoStop List ...
- BootStrapValidator表单验证插件的学习和使用
BootStrapValidator表单验证插件的学习和使用 引入标签 <script type="text/javascript" src="https://cd ...
- ffmpeg音视频基础学习
ffmpeg音视频基础学习 从去年开始了解音视频,中间也由于项目的需要,学习过ffmpeg.live555.以及QTAV框架,一直没总结过,现在大致总结下音视频中的常见词汇,后续慢慢更新添加!博客也会 ...
- discuz论坛插件设计学习培训视频全套教程
discuz模板跟插件开发的教程比较少,特搜集给大家学习插件做的好,在dsicuz应用中心出 售也是可以卖不少的呢 教程目录:第1章 本章的标题第1节Discuz! X 产品安装与配置第2节模板风格 ...
- IM通信协议逆向分析、Wireshark自定义数据包格式解析插件编程学习
相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/I ...
- JQuery插件的学习
此前一直想就关于Jquery插件的开发,做一个深入的学习,由于各种原因,当然主要是自己太懒了...今天就系统分析一下Jquery插件的开发(参考了http://www.xprogrammer.com/ ...
- jquery 插件 validate 学习
jquery是十分方便的对于现在来说. 首先应该明白一个问题: <p> <label for="password">Password</label& ...
- Jquery 插件初学习
参考文章:插件开发精品教程,让你的jQuery提升一个台阶 刚刚学了一下jquery的插件插件开发,写个demo记录.练习一下.毕竟,输出才是最好的学习. 这个也不过是最基础的一个插件写法,只是,自己 ...
- iOS: FFmpeg编译和使用 学习
ffmpeg是一个多平台多媒体处理工具,处理视频和音频的功能非常强大.目前在网上搜到的iOS上使用FFMPEG的资料都比较陈旧,而FFMPEG更新迭代比较快: 且网上的讲解不够详细,对于初次接触FFM ...
随机推荐
- [FAQ] JS 时间戳格式化为 date
拷贝使用,不用引入第三方库 function formatDate (date = 0, fmt = 'yyyy-MM-dd hh:mm:ss') { date = new Date(+date) i ...
- K8s控制器---DaemonSet控制器(12)
一.DaemonSet控制器:概念.原理解读 1.1 DaemonSet概述 DaemonSet 控制器能够确保 k8s 集群所有的节点都运行一个相同的 pod 副本,当向 k8s 集群中增加 nod ...
- Python 潮流周刊#48:Python 3.14 的发布计划
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...
- Spring6 当中 获取 Bean 的四种方式
1. Spring6 当中 获取 Bean 的四种方式 @ 目录 1. Spring6 当中 获取 Bean 的四种方式 每博一文案 1.1 第一种方式:通过构造方法获取 Bean 1.2 第二种方式 ...
- pde复习笔记 第一章 波动方程 第三节 分离变量法
教材 谷超豪<数学物理方程>第四版,虽然我们老师用的第三版,但是除了页码对不上,习题多了一点,也似乎没有多少区别. 打算开个新栏专门总结一下pde的各种计算问题,在图书馆算的手麻了,但是习 ...
- angualr2+ 性能优化-trackBy
1.使用trackBy提高性能 为什么使用trackBy进行性能优化,在平时的开发中,我们对数组的处理基本都是通过接口获取新的数组进行替换或push,但是在这个过程中,Angular不知道你是要做什么 ...
- 解锁高效创新:IPD策略如何重塑产品开发流程
IPD(集成产品开发)涵盖了产品从创意提出到研发.生产.运营等,包含了产品开发到营销运营的整个过程.围绕产品(或项目)生命周期的过程的管理模式,是一套生产流程,更是时下国际先进的管理体系.IPD(集成 ...
- 在 JS 中使用 canvas 给图片添加文字水印
实现说明: 1.先通过 new Image() 载入图片: 2.图片加载成功后使用 drawImage() 将图片绘制到画布上: 3.最后使用 fillText() 函数绘制水印. 下面展示了详细用法 ...
- Java学习之数据类型转换
package com.zhang.LectCode; public class 各种数据间的相互转换 { public static void main(String[] args) { //将St ...
- 逆向WeChat (二)
本篇在博客园的地址https://www.cnblogs.com/bbqzsl/p/18187099 回顾一下现时网上的资源. 原生 https://github.com/duilib, Ultima ...