Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/darkskygit/ffcli.rs
A ffmpeg cli args builder
https://github.com/darkskygit/ffcli.rs
cli-command ffmpeg
Last synced: 4 months ago
JSON representation
A ffmpeg cli args builder
- Host: GitHub
- URL: https://github.com/darkskygit/ffcli.rs
- Owner: darkskygit
- License: agpl-3.0
- Created: 2019-07-22T09:50:55.000Z (over 5 years ago)
- Default Branch: ffmpeg
- Last Pushed: 2020-06-23T03:56:12.000Z (over 4 years ago)
- Last Synced: 2024-09-15T21:26:06.681Z (5 months ago)
- Topics: cli-command, ffmpeg
- Language: Rust
- Homepage: https://crates.io/crates/ffcli
- Size: 33.2 KB
- Stars: 7
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ffcli.rs
A ffmpeg cli args builder
# Using
``` rust
let filter_split = VideoFilter::new()
.input(0)
.output("rgb")
.output("alpha")
.params("format", "rgb32")
.params("split", 2);
let filter_rgb = VideoFilter::new()
.input("rgb")
.output("out0")
.params_raw(
VideoFilterParams::new()
.key("lutrgb")
.params_raw(VideoFilterParams::kv("a", "minval")),
)
.params("format", "rgb24");
let filter_alpha = VideoFilter::new()
.input("alpha")
.output("out1")
.params_key("alphaextract")
.params("format", "gray");
let args = FFmpegArgs::new(Level::Debug)
.i("test.png")
.vf(filter_split)
.vf(filter_rgb)
.vf(filter_alpha)
.build_filter()
.map("[out0]")
.raw("rgb.png")
.map("[out1]")
.raw("alpha.png")
.build();
assert_eq!("-hide_banner -y -loglevel warning -stats -i test.png -filter_complex [0]format=rgb32,split=2[rgb][alpha];[rgb]lutrgb=a='minval',format=rgb24[out0];[alpha]alphaextract,format=gray[out1] -map [out0] rgb.png -map [out1] alpha.png", args.join(" "));```