Skip to content

A suite of scripts to convert legacy file formats into open standards. This is a mirror repository.

License

Notifications You must be signed in to change notification settings

kotkoroid/kotvertka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kotvertka

Say "Enough 😤" to online converters cluttered with ads and malware. Streamline the conversion of legacy file formats to modern web standards into a single command execution. Simply place files in a designated directory and let Kotvertka handle the rest.

This project is officially hosted on Codeberg, with mirror repositories accessible on GitHub and GitLab.

Did Kotvertka prove helpful? Consider giving a tip.

Buy Me a Coffee profile QR code

Contents

Why Kotvertka?

Your instincts take you to the nearest "png to webp convertor" out there. The convertor will serve you a bunch of ads, obtain your files, and, if you think https://jpegwebp.xx3.com.ua is a legit website, might even distribute malware to your device.

Kotvertka solves all of this by delegating the work to dedicated tools that run locally.

Download

The releases are available on Codeberg under the Release page of the project.

Prerequisites

To utilize Kotvertka, the following tools must be installed on the system and added to the PATH environment variable. These are endorsed by the authors of the modern file formats, ensuring optimal compatibility and accuracy.

Please note that this is a temporary requirement, and efforts are underway to eliminate these dependencies. For more information and to track progress, refer to the following issues on Codeberg:

libwebp

libwebp is used for converting images to WebP format.

ffmpeg

ffmpeg is a multimedia processing tool that is used for converting audio and video files.

Installation

Please note that there are plans to improve the installation experience as publish the application through package managers.

UNIX-like (BSD & Linux & macOS)

Multi-User Installation

To install Kotvertka for all users, simply copy the binary to /usr/local/bin directory. You will likely need sudo permission for this operation.

sudo mv ~/Downloads/kotvertka/kotvertka /usr/local/bin/kotvertka

Single-User Installation

To install Kotvertka for a single user, simply copy the binary to ~/.local/bin directory.

mv ~/Downloads/kotvertka/kotvertka ~/.local/bin/kotvertka

Windows

⚠️ Commands for Windows are unstable!

Multi-User Installation

To install Kotvertka for all users, use the following commands:

Copy-Item $HOME\Downloads\kotvertka "C:\Program Files\Kotvertka" -Recurse

[Environment]::SetEnvironmentVariable("Path", $env:PATH + ";C:\Program Files\Kotvertka", "Machine")

Single-User Installation

To install Kotvertka for a single user, use the following commands:

Copy-Item $HOME\Downloads\kotvertka $HOME\AppData\Local\Kotvertka -Recurse

[Environment]::SetEnvironmentVariable("Path", $env:PATH + ";$HOME\AppData\Local\Kotvertka", "User")

Usage

Command

kotv [OPTIONS...]

Required flags:

-p, --path Set a directory with files to convert

Optional flags:

-h, --help Display help

--pq, --webpq Set a quality to use for WebP conversion (0 - 100)

--mq, --webmq Set a quality to use for WebM conversion (0 - 63)

--ro, --recursive-output Store the output in respect to the directory structure

Example:

kotv -p /the-project/assets --pq 100 --mq 25

Supported Formats

The tool supports convertion of the following formats:

Input Output
AVI WEBM
FLV WEBM
GIF WEBP
JPEG WEBP
JPG WEBP
M4V WEBM
MKV WEBM
MOV WEBM
MP4 WEBM
MPG WEBM
OGG WEBM
OTF WOFF2
PAM WEBP
PGM WEBP
PNG WEBP
PPM WEBP
TIF WEBP
TIFF WEBP
TTF WOFF2
WEBP WEBP
WEBM WEBM
WMV WEBM
WOFF WOFF2
WOFF2 WOFF2
  • Animated PNG and WebP files are not supported for the conversion into WebP.

Troubleshooting

Invalid usage. A directory path argument needs to be provided.

To solve this problem ensure that the path arguments is available. Refer to the Usage section for more information.

Invalid usage. A directory path argument needs to target an existing directory.

To solve this problem ensure that the directory you target exists.

Invalid usage. A directory path argument needs to target an existing directory, not a file.

To solve this problem ensure that the directory you target is not a file.

Invalid usage. WebP quality argument needs to be between 0 and 100.

To solve this problem ensure that the webpq arguments is a number between 0 and 100. Refer to the Usage section for more information.

Invalid usage. WebM quality argument needs to be between 0 and 63.

To solve this problem ensure that the webmq arguments is a number between 0 and 63. Refer to the Usage section for more information.

Failed to spawn 'cwebp': entity not found: entity not found: entity not found

To solve this proble ensure that the libwebp utility is installed. Refer to the Intallation section for more information.

Contributing

The project is open for the contributions. All the contributions are published under the license outlined in the License. Please review the contribution disclaimer carefully before submitting any contributions.

Tech Stack

  • JavaScript

  • TypeScript

  • Deno

License

All files of this project are published under the BSD-3-Clause license, unless otherwise specified. For more information, refer to the LICENSE file.

The files under /src/tests/fonts are published under the MIT License. For more information, refer to the LICENSE file in the particular directory.

About

A suite of scripts to convert legacy file formats into open standards. This is a mirror repository.

Topics

Resources

License

Stars

Watchers

Forks