-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
First FFtools release
- Loading branch information
Showing
34 changed files
with
861 additions
and
361 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
custom: paypal.me/gatomooficial |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,3 +2,4 @@ Cargo.lock | |
/target | ||
/backups | ||
/tests | ||
/build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,22 @@ | ||
[package] | ||
name = "fftools" | ||
version = "1.0.0" | ||
description = "FFMPEG-based toolkit for easy media manipulation" | ||
license = "Apache-2.0" | ||
authors = ["Gátomo"] | ||
readme = "README.md" | ||
homepage = "https://github.com/gatomo-oficial/fftools" | ||
repository = "https://github.com/gatomo-oficial/fftools" | ||
edition = "2021" | ||
|
||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||
[package.metadata] | ||
depends = ["ffmpeg"] | ||
|
||
[package.metadata.deb] | ||
depends = "ffmpeg" | ||
|
||
[dependencies] | ||
colored = "2.0.0" | ||
indoc = "2.0.0" | ||
pico-args = "0.5.0" | ||
pico-args = {version = "0.5.0", features = ["eq-separator", "short-space-opt", "combined-flags"]} | ||
tabled = "0.10.0" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,114 @@ | ||
<img align="left" width="150" height="150" src="assets/FFtools.png"> | ||
|
||
# FFtools | ||
🔨 FFmpeg-based toolkit for manipulate multimedia easily | ||
## FFMPEG-based toolkit for easy media manipulation | ||
|
||
<br /> | ||
|
||
[<img alt="license" src="https://img.shields.io/github/license/gatomo-oficial/path_trav.svg?color=06b6d4&style=for-the-badge&logo=Apache">](https://www.apache.org/licenses/LICENSE-2.0) | ||
[<img alt="crates.io" src="https://img.shields.io/crates/v/fftools.svg?style=for-the-badge&color=fc8d62&logo=rust">](https://crates.io/crates/path_trav) | ||
[<img alt="discord" src="https://img.shields.io/discord/880947411432923136?style=for-the-badge&color=blue&logo=discord">](https://gatomo.ga/discord) | ||
|
||
FFtools is a FFmpeg command spawner made in Rust that focuses on simplicity in different common tasks (such as trim, optimize, merge, etc.). | ||
|
||
In addition, it has several improvements, like automatic stream copy detection (which allows a faster coding) or media optimization via TBN (which can reduce file size with not much loss of quality). | ||
|
||
|
||
## Table of contents | ||
- [Usage example](#usage-example) | ||
- [Wiki](#wiki) | ||
- [Installation](#installation) | ||
- [Dependencies](#dependencies) | ||
- [Standalone (Using Cargo)](#standalone-using-cargo) | ||
- [Linux](#linux) | ||
- [Arch Linux](#arch-linux) | ||
- [Debian/Ubuntu](#debianubuntu) | ||
- [Windows](#windows) | ||
- [Manual](#manual) | ||
- [Manual](#manual-1) | ||
- [Development](#development) | ||
- [Release history](#release-history) | ||
- [License](#license) | ||
- [Contribute](#contribute) | ||
|
||
## Usage example | ||
|
||
|
||
Convert to lossless GIF | ||
```sh | ||
fftools gif -i video.mp4 output.gif | ||
``` | ||
https://user-images.githubusercontent.com/63877602/226492973-1edf7625-8301-4be0-a62d-c3146c655b30.mp4 | ||
|
||
Optimizing video at 5k TBN | ||
```sh | ||
fftools optimize -i video.mp4 output.mp4 5k | ||
``` | ||
https://user-images.githubusercontent.com/63877602/226492359-b3155939-99e5-4f76-9bd2-7c4fa3d51238.mp4 | ||
|
||
You can use flags to extend command functionalities. All commands and arguments are available in the [FFtools Wiki](https://github.com/gatomo-oficial/fftools/wiki). | ||
|
||
## Wiki | ||
If you want to see an extended documentation about commands, options and usage, please go to [FFtools Wiki](https://github.com/gatomo-oficial/fftools/wiki). | ||
|
||
## Installation | ||
### Dependencies | ||
- [`ffmpeg`](https://ffmpeg.org/) | ||
|
||
### Standalone (Using Cargo) | ||
```sh | ||
cargo install fftools | ||
``` | ||
|
||
### Linux | ||
#### Arch Linux | ||
FFtools is available via AUR. | ||
```sh | ||
yay -S fftools-bin | ||
# or | ||
paru -S fftools-bin | ||
``` | ||
|
||
#### Debian/Ubuntu | ||
For Debian, Ubuntu and Debian-based distros, download the `.deb` in [`Releases`](https://github.com/gatomo-oficial/fftools/releases/). Then install it with DPKG. | ||
```sh | ||
sudo dpkg -i fftools_1.0.0_amd64.deb | ||
``` | ||
|
||
### Windows | ||
FFtools is also available on Windows. | ||
|
||
#### Manual | ||
1. Install `FFmpeg`. | ||
2. Download the .exe in [`Releases`](https://github.com/gatomo-oficial/fftools/releases/). | ||
3. Add it to PATH. If you don't know how to do it, [read this post](https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/). | ||
|
||
> **Note:** There will be Scoop support soon... | ||
### Manual | ||
If you want to edit code or install it manually you can run these commands. | ||
```sh | ||
git clone https://github.com/gatomo-oficial/fftools.git | ||
cd fftools | ||
cargo build --release | ||
``` | ||
|
||
## Development | ||
Clone the repository, install dependencies and run it. | ||
```sh | ||
git clone https://github.com/gatomo-oficial/fftools.git | ||
cd fftools | ||
cargo run | ||
``` | ||
|
||
## Release history | ||
* 1.0.0 | ||
* Initial release | ||
|
||
## License | ||
FFtools is licensed under the [Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0). | ||
|
||
## Contribute | ||
Any PR is welcome! Is a small project, so the guideline is to follow the code style and not make insane purposes. | ||
|
||
*Gátomo - Apache 2.0 license* |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#!/bin/bash | ||
# this script is weird | ||
|
||
cargo install cargo-aur cargo-deb | ||
|
||
cargo aur | ||
cargo deb | ||
|
||
mkdir -p build | ||
|
||
mv target/debian/* build | ||
mv *.tar.gz build | ||
|
||
makepkg --printsrcinfo > .SRCINFO | ||
|
||
mv PKGBUILD build | ||
mv .SRCINFO build | ||
|
||
cargo build --target x86_64-pc-windows-gnu --release | ||
mv target/x86_64-pc-windows-gnu/release/fftools.exe build/fftools-windows-x86_64.exe |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.