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 ...
随机推荐
- [Docker] 假如宿主机 Nginx 代理到 Docker 的 PHP
其实没有多少区别,同样 php 镜像启动服务暴露一个端口,nginx 的 proxy_pass 代理过去,唯一要注意的是 nginx 配置的项目路径. nginx 配置的 root 是本地项目路径,给 ...
- [FAQ] FinalCutPro 视频背景加模糊效果
1. 时间轴右上方,找到 倒数第二个 "显示或隐藏效果浏览器",里面有一个 "模糊" 效果: 2. "模糊"效果中的 "高斯曲线& ...
- localstory,sessionstory,vuex,cook
函数式组件 1.特点 没有this(没有实例) 没有响应式数据 它只是一个接受一些 prop 的函数. render MVVM分为Model.View.ViewModel三者. Model:代表数据模 ...
- Python竖版大屏2 | 用pyecharts开发可视化的奇妙探索!
目录 1.SHINE主题 2.LIGHT主题 3.MACARONS主题 4.INFOGRAPHIC主题 5.WALDEN主题 6.WESTEROS主题 7.WHITE主题 8.WONDERLAND主题 ...
- ubuntu系统下安装php7.4
目录 一.下载/更新php源 二.安装php7.4 三.修改配置 3.1 修改www.conf 文件 四.配置域名 五.nginx的配置文件 5.1 sock方式和nginx配合工作 5.2监听900 ...
- C++基础知识复习
第一部分:基础知识 一.const 1. 作用 修饰变量,表示不可能更改 修饰指针 const int *ptr--pointer to const int const *ptr-- const po ...
- nim 8. 异常处理
基本的异常处理 try: let d = newSeq[int]() echo "value: ", d[2] except: let e = getCurrentExceptio ...
- c++ 记一次把qrencode源码生成动态库的尝试
在网上搜二维码库:qrencode,源码下载:https://github.com/fukuchi/libqrencode 我的是windows环境,IDE是vs2022. 建立一个动态库的空工程. ...
- FFmpeg中的关键方法及结构体(二)avformat_open_input
1.avformat_open_input 该方法声明在libavformat/avformat.h:2093 int avformat_open_input(AVFormatContext **ps ...
- .net Core中实现SHA加密
#region 用SHA1加密字符串 /// <summary> /// 用SHA1加密字符串 /// </summary> /// <param name=" ...