wtffmpeg  by scottvr

Translate natural language to FFmpeg commands

created 1 week ago

New!

283 stars

Top 93.3% on sourcepulse

GitHubView on GitHub
Project Summary

This tool translates natural language descriptions of video and audio tasks into executable FFmpeg commands, targeting users who frequently work with FFmpeg but find its syntax complex. It offers a local, interactive, and customizable solution to streamline media manipulation workflows.

How It Works

The tool leverages a local Large Language Model (LLM) running via llama-cpp-python to interpret natural language prompts. It then generates corresponding FFmpeg commands, which are presented to the user for review and optional execution. The use of llama-cpp-python allows for GPU acceleration by offloading model layers, significantly speeding up inference.

Quick Start & Requirements

  • Install: Clone the repository, chmod +x wtffmpeg.py, and run ./wtffmpeg.py. Optionally, create a symlink for wtff.
  • Prerequisites: Python 3.8+, llama-cpp-python compiled with hardware acceleration (CUDA for NVIDIA, Metal for Apple Silicon, or CPU optimizations). A GGUF-formatted LLM model is required (e.g., Phi-3-mini-4k-instruct-gguf).
  • Setup: Installation involves cloning, setting up llama-cpp-python with hardware acceleration, and then installing the project. Model download is separate.
  • Docs: https://github.com/scottvr/wtffmpeg

Highlighted Details

  • Local LLM execution for privacy and offline use.
  • GPU acceleration via llama-cpp-python for faster inference.
  • Interactive mode for multiple commands and direct execution confirmation.
  • Customizable LLM models and system prompts.
  • Option to copy commands to clipboard or execute directly (-x).

Maintenance & Community

The project is a personal endeavor, described as "humorous performance art" that "borders on being actually useful." No specific community channels or roadmap are detailed.

Licensing & Compatibility

The repository does not explicitly state a license. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The tool is experimental ("YMMV," "Use at your own risk"). Generated commands may require manual correction if they contain invalid FFmpeg syntax or flags. The author is not responsible for any data loss or damage.

Health Check
Last commit

1 week ago

Responsiveness

Inactive

Pull Requests (30d)
2
Issues (30d)
1
Star History
287 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.