llmpeg-rs is a natural language wrapper for ffmpeg, allowing users to describe multimedia tasks in natural language and get the corresponding ffmpeg command because we don't want to leave the terminal and just hope the command would work like a charm.
- Convert natural language descriptions to ffmpeg commands using Gemini API
Currently, only MacOS is tested on my machine, but it should work on other platforms as well since no OS specific code is used. Let me know if you have any issues.
Download the binary from release session. (https://github.com/kenyiu/llmpeg-rs/releases)
-
Clone the repository:
git clone https://github.com/kenyiu/llmpeg-rs.git cd llmpeg
-
Install dependencies:
cargo build
-
The binary (
llmpeg
) will be built in thetarget/debug
directory.
-
Set the environment variable for the API key:
export LLMPEG_API_KEY=your_api_key_here
-
Run the application with a natural language task description:
llmpeg "convert screencapture.webm to screencapture.mp4, downscale to 720p"
-
Enable debugging information:
llmpeg --debug "convert screencapture.webm to screencapture.mp4, downscale to 720p"
llmpeg: A natural language wrapper for ffmpeg.
Usage: llmpeg [OPTIONS] <NATURAL_LANGUAGE_TASK>
Arguments:
<NATURAL_LANGUAGE_TASK> Describe the multimedia task (e.g., 'convert screencapture.webm to screencapture.mp4, downscale to 720p')
Options:
-d, --debug Turn debugging information on
-h, --help Print help
-V, --version Print version
- Support for Gemini API
- Release Build CI
- Config file for LLM model name and prompt
- Support for OPENAI API
- Support for Ollama API
- Add test cases
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.