前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FFmpeg frei0r插件使用学习

FFmpeg frei0r插件使用学习

作者头像
乔达摩@嘿
发布2023-10-26 16:25:20
3880
发布2023-10-26 16:25:20
举报
文章被收录于专栏:嘿dotNet嘿dotNet

背景

ffmpeg做基本的音视频编辑还是比较简单的,但要做一些滤镜及特效就比较麻烦了。接下来看看借用frei0r插件怎么做;

简介

你可以将frei0r看作是一个"视频特效工具箱"。比如你有一段视频,你想给它加上某种特殊效果,例如让它变成黑白色,或者添加一个模糊效果,而frei0r就包含了许多这样的特效工具,我们称它们为"插件"。

官网:https://frei0r.dyne.org/

环境准备

Windows

下图报错是已ffmpeg编辑启用frei0r,但没安装好;

image-20231024151818004
image-20231024151818004

1、先下载插件

下载最新的解压即可https://github.com/dyne/frei0r/releases

2、置环境变量

这是我的(也就是那些滤镜dll的目录)

代码语言:javascript
复制
$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不仅仅有以下效果,这里只是抛砖引玉;

原视频

image-20231024163430116
image-20231024163430116

颜色调整

代码语言:javascript
复制
ffmpeg -i input.mp4 -vf "frei0r=filter_name=coloradj_rgb:filter_params=1.5|1.2" coloradj_rgb_1.5_1.2.mp4
image-20231024163444874
image-20231024163444874

扭曲

代码语言:javascript
复制
ffmpeg -i input.mp4  -vf "frei0r=filter_name=distort0r:filter_params=0.1|0.01" distort0r_0.1_0.01.mp4
image-20231024165335643
image-20231024165335643

光晕

代码语言:javascript
复制
ffmpeg -i input.mp4 -vf "frei0r=filter_name=glow:filter_params=0.5" glow_0.5.mp4
image-20231024164521492
image-20231024164521492

其他

其实在其他工具中也有集成frei0r的,比如mlt framework,简单看看mlt下的使用示例;

melt使用

frei0r做的转场

trans_darken_1.0.mlt

代码语言:javascript
复制
<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>

生成命令

代码语言:javascript
复制
melt trans_darken_1.0.mlt -consumer avformat:trans_darken_1.0.mp4 

效果

image-20231025181703044
image-20231025181703044

[参考]

https://blog.csdn.net/weixin_41530622/article/details/132543049

https://www.mltframework.org/

https://www.cnblogs.com/nlsoft/archive/2013/05/07/3065311.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 简介
  • 环境准备
    • Windows
    • 使用
      • 原视频
        • 颜色调整
          • 扭曲
            • 光晕
            • 其他
              • melt使用
              • [参考]
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档