FFmpegArgs.Filters
1.4.3
See the version list below for details.
dotnet add package FFmpegArgs.Filters --version 1.4.3
NuGet\Install-Package FFmpegArgs.Filters -Version 1.4.3
<PackageReference Include="FFmpegArgs.Filters" Version="1.4.3" />
paket add FFmpegArgs.Filters --version 1.4.3
#r "nuget: FFmpegArgs.Filters, 1.4.3"
// Install FFmpegArgs.Filters as a Cake Addin #addin nuget:?package=FFmpegArgs.Filters&version=1.4.3 // Install FFmpegArgs.Filters as a Cake Tool #tool nuget:?package=FFmpegArgs.Filters&version=1.4.3
FFmpegArgs
FFmpegArgs is a cli-wrapper library support generate argument for ffmpeg executable.
The standout feature that many cli-wrapper libraries don't have is the FFmpeg FilterGraph system.
Get it on NuGet Package
- Support file/url/pipe in/output.
- Works on most systems - if ffmpeg can execution.
- 130+ filters, add more in future
- 380+ filters auto-generate
Example
FFmpegArg ffmpegArg = new FFmpegArg().OverWriteOutput();
var green_video = ffmpegArg.AddVideoInput(new VideoFileInput(@"chromakey.mp4")
.SsPosition(TimeSpan.FromSeconds(0.5)));
var background_video = ffmpegArg.AddVideoInput(new VideoFileInput(@"background.mp4")
.SsPosition(TimeSpan.FromSeconds(1))
.ToPosition(TimeSpan.FromSeconds(10)));
var color_keys = green_video.ImageMaps.First()
.ColorKeyFilter()//ColorKey
.Color(Color.FromArgb(101, 220, 8))
.Similarity(0.25f)
.Enable("between(t,0,10)").MapOut//ITimelineSupport
.ScaleFilter().W("iw/3").H("ih/3").MapOut//Scale
.SplitFilter(2).MapsOut;//Split
var overlay = color_keys.First()
//overlay color_key on-center background_video
.OverlayFilterOn(background_video.ImageMaps.First()).X("(W-w)/2").Y("(H-h)/2").MapOut;
ffmpegArg.AddOutput(new VideoFileOutput(@"out.mp4", overlay, background_video.AudioMaps.First()).Fps(24));
ffmpegArg.AddOutput(new VideoFileOutput(@"out2.mp4", color_keys.Last(), background_video.AudioMaps.First()).Fps(30));
var renderResult = ffmpegArg
.Render(c => c
.WithFFmpegBinaryPath("path to ffmpeg")
.WithWorkingDirectory(Directory.GetCurrentDirectory()))
.Execute();
For more example, see FFmpegArgs.Test
- Option/Flag not found?
We can extend for FFmpegArg
, Filter
, Input
, Output
by extension.
.SetOption("your option","option value")
.SetOptionRange("your option", val, min, max)
.SetFlag("your flag")
- Filter not found?
We can write new Filter class, so much example in FFmpegArgs.Filters
Pull request or request missing feature are welcome.
Recommend namespace for extension
using FFmpegArgs;
using FFmpegArgs.Cores;
using FFmpegArgs.Cores.Enums;
using FFmpegArgs.Cores.Exceptions;
using FFmpegArgs.Cores.Inputs;
using FFmpegArgs.Cores.Filters;
using FFmpegArgs.Cores.Maps;
using FFmpegArgs.Filters;
using FFmpegArgs.Filters.Exceptions;
using FFmpegArgs.Filters.Attributes;
using FFmpegArgs.Filters.Expressions;
using FFmpegArgs.Filters.FilterGraphs;
using FFmpegArgs.Filters.AudioFilters;
using FFmpegArgs.Filters.VideoFilters;
using FFmpegArgs.Filters.MultimediaFilters;
using FFmpegArgs.Filters.VideoSources;
using FFmpegArgs.Filters.AudioSources;
//using FFmpegArgs.Filters.Autogens;
using FFmpegArgs.Executes;
using FFmpegArgs.Inputs;
using FFmpegArgs.Outputs;
LICENCE
MIT
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- FFmpegArgs.Cores (>= 1.4.0 && < 1.5.0)
- FFmpegArgs.Filters.Common (>= 1.4.0 && < 1.5.0)
-
.NETStandard 2.0
- FFmpegArgs.Cores (>= 1.4.0 && < 1.5.0)
- FFmpegArgs.Filters.Common (>= 1.4.0 && < 1.5.0)
-
net5.0
- FFmpegArgs.Cores (>= 1.4.0 && < 1.5.0)
- FFmpegArgs.Filters.Common (>= 1.4.0 && < 1.5.0)
-
net6.0
- FFmpegArgs.Cores (>= 1.4.0 && < 1.5.0)
- FFmpegArgs.Filters.Common (>= 1.4.0 && < 1.5.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.0.1-build241114 | 71 | 11/14/2024 |
2.0.0 | 229 | 7/16/2024 |
1.6.1 | 524 | 1/16/2024 |
1.5.2 | 442 | 5/5/2023 |
1.5.0 | 686 | 6/6/2022 |
1.4.3 | 1,580 | 4/11/2022 |
1.4.2 | 482 | 3/28/2022 |
1.4.1 | 453 | 3/26/2022 |
1.4.0 | 504 | 2/28/2022 |
1.3.0 | 515 | 2/11/2022 |
1.2.0 | 499 | 1/13/2022 |
1.1.2-build220107 | 251 | 1/7/2022 |
1.1.1 | 357 | 1/5/2022 |
1.1.0 | 339 | 12/27/2021 |