Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/henrygd/webvids
Terminal app to create optimized videos for the web
https://github.com/henrygd/webvids
av1 ffmpeg h265 tui x265
Last synced: 3 months ago
JSON representation
Terminal app to create optimized videos for the web
- Host: GitHub
- URL: https://github.com/henrygd/webvids
- Owner: henrygd
- License: mit
- Created: 2024-03-23T17:04:06.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-04-03T21:35:53.000Z (10 months ago)
- Last Synced: 2024-05-18T00:25:28.806Z (9 months ago)
- Topics: av1, ffmpeg, h265, tui, x265
- Language: Go
- Homepage:
- Size: 889 KB
- Stars: 30
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# webvids
Terminal app to create optimized videos for the web.
![TUI example gif](assets/example.gif)
## Installation
Please install / update `ffmpeg` first as the program requires it.
Run the command below or download the correct binary for your system on the [releases page](https://github.com/henrygd/webvids/releases).
### One liner
```bash
curl -sL "https://github.com/henrygd/webvids/releases/latest/download/webvids_$(uname -s)_$(uname -m | sed 's/x86_64/amd64/' | sed 's/i386/386/' | sed 's/aarch64/arm64/').tar.gz" | tar -xz -O webvids | sudo tee /usr/local/bin/webvids >/dev/null && sudo chmod +x /usr/local/bin/webvids && ls /usr/local/bin/webvids
```### Manual
```bash
# Download the latest release archive
curl -L -o webvids.tar.gz "https://github.com/henrygd/webvids/releases/latest/download/webvids_$(uname -s)_$(uname -m | sed 's/x86_64/amd64/' | sed 's/i386/386/' | sed 's/aarch64/arm64/').tar.gz"# Extract the binary from the archive
tar -xzf webvids.tar.gz webvids# Make the binary executable
chmod +x webvids# Move the binary to /usr/local/bin
sudo mv webvids /usr/local/bin/
```## Usage
Run the `webvids` command. You may specify an input file or use the built-in file picker.
```bash
webvids input.mp4
```The video(s) will be written to a folder named `optimized` in the current directory.
Use both videos in HTML with `source` tags:
```html
```
## Command line options
webvids can run without interaction by passing in a file and form options:
```bash
webvids --crf 26 --preview=false --strip-audio input.mp4
```The following options are available:
| Flag | Description |
| ----------------- | ----------------------------------------------- |
| `--crf` | Constant rate factor |
| `-h`, `--help` | Show help |
| `--preview` | Converts only the first 3 seconds |
| `--skip-av1` | Skip AV1 conversion |
| `--skip-x265` | Skip x265 conversion |
| `-s`, `--speed` | Priority of conversion speed over quality (0-5) |
| `--strip-audio` | Remove audio track from output |
| `-u`, `--update` | Update to the latest version |
| `-v`, `--version` | Print version and exit |## Uninstall
```bash
sudo rm /usr/local/bin/webvids
```## Todo
- check that libsvtav1 codec is available
- allow multiple files to be passed in
- add flag for optimized settings for animated videos