wtffmpeg是一款命令行工具,利用本地大型语言模型(LLM)将用户用自然语言描述的视频和音频处理任务,直接翻译为可执行的FFmpeg命令,帮助用户避免手动查找和组合复杂参数的繁琐。wtffmpeg所有数据处理均在本地进行,不涉及外部API,从而保障了数据隐私,提供交互式模式,允许用户在执行生成的命令前进行预览确认,支持GPU加速LLM推理过程以提升效率。wtffmpeg具备高度可定制性,用户可以灵活更换不同的LLM模型或调整系统提示来优化命令生成的准确性,在交互模式下用户可以直接编辑或执行其他系统命令,极大地增强了工具的灵活性和问题解决能力。
如果你经常需要处理音视频,肯定对FFmpeg不陌生,但它繁多的参数和复杂的命令格式,总让人头疼——每次想完成一个简单操作,都得翻文档、查教程。wtffmpeg能把你的自然语言描述,直接转换成可执行的FFmpeg命令,让音视频处理变得简单。
wtffmpeg把用中文(或英文)描述的音视频处理需求,自动转换成FFmpeg命令,不用再死记硬背FFmpeg的参数,也不用反复搜索教程,直接说出你想做什么,它就会帮你生成对应命令。
举个例子,如果你说“把my_video.avi转换成没有声音的mp4”,它会生成这样的FFmpeg命令:
ffmpeg -i my_video.avi -an -c:v libx264 my_video.mp4
生成后,它会先让你确认,确认后才会执行。
自然语言交互:用日常语言描述需求,比如“从lecture.mp4里提取音频,保存成高质量mp3”,就能生成对应命令。
本地运行:所有操作都在自己的电脑上完成,不会把数据发送到外部服务器,更安全。
可交互执行:生成命令后会先展示给你,你可以选择执行、复制,或者修改后再用。
GPU加速:通过llama-cpp-python,能把模型计算任务分担到GPU上,让生成命令的速度更快。
可自定义:可以更换不同的LLM模型,也能调整系统提示,让生成的命令更符合你的使用习惯。
1、先安装uv(如果没有的话):
curl -LsSf https://astral.sh/uv/install.sh | sh
、"$HOME/.local/bin/env"
2、下载项目并运行:
git clone https://github.com/scottvr/wtffmpeg.git
cd wtffmpeg
chmod +x wtffmpeg.py
./wtffmpeg.py
3、(可选)创建命令别名,之后直接输入wtff就能使用:
sudo ln -s $(pwd)/wtffmpeg.py /usr/local/bin/wtff
1、克隆仓库:
git clone https://github.com/scottvr/wtffmpeg.git
cd wtffmpeg
2、创建虚拟环境(推荐,避免依赖冲突):
python3 -m venv .venv
source .venv/bin/activate # Windows系统用 .venv\Scripts\activate
3、安装带硬件加速的llama-cpp-python(关键步骤,影响运行速度): • NVIDIA显卡(CUDA):
CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python
• 苹果芯片(Metal):
CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-python
• 仅用CPU(OpenBLAS):
pip install llama-cpp-python
4、安装wtffmpeg:
pip install .
wtffmpeg需要GGUF格式的LLM模型才能运行。默认会从Hugging Face自动下载,也可以手动下载:
1、推荐模型:
• Phi-3-mini-4k-instruct-gguf • Mistral-7B-Instruct-v0.2-GGUF
2、手动下载示例(以Phi-3为例):
wget https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-gguf/resolve/main/Phi-3-mini-4k-instruct-q4.gguf
下载后放到项目目录即可。如果用其他模型,运行时加上--model 模型文件名参数就行。
直接输入自然语言指令:
wtff "把presentation.mov转换成适合网页的mp4"
| 参数 | 作用 |
|---|---|
-x |
生成命令后直接执行,不用确认 |
-c |
把生成的命令复制到剪贴板 |
-i |
进入交互模式,能连续生成多个命令 |
--model |
指定使用的LLM模型(比如--model mistral-7b.gguf) |
--gpu-layers |
设置GPU加速的层数(-1表示使用所有可用层) |
1、提取音频:
wtff "从lecture.mp4提取音频,保存为高质量mp3"
2、制作片段:
wtff "从movie.mkv里,从第2分钟开始,截取10秒的片段"
3、直接执行命令(不确认):
wtff -x "把video.mp4调整为720p分辨率"
4、用交互模式连续操作:
wtff -i # 进入交互模式后,可多次输入指令
有时模型生成的命令可能有问题(比如语法错误)。这时候可以:
1、检查生成的命令,手动修改后再执行。
2、在输入指令时补充说明。比如模型生成的命令里错误添加了-c copy参数,可以这样输入:
wtff "反转test_pattern.mp4视频,不要用-c copy参数"
3、在交互模式里,用!开头可以执行任意命令。比如查看当前目录的视频文件:
wtff> !ls -l *.mp4
PowerPoint演示文稿智能生成工具 PowerPoint Slides Skill
金融 AI 新工具 FinClaw,免费提供1000+ 金融专属Skills
PPT Agent 演示文稿生成框架
端到端自主AI科研引擎 NanoResearch
CitationClaw 学术论文智能引用画像和分析报告
pi-autoresearch:pi自动化实验优化循环
OpenClaw Control Center:为OpenClaw用户(包括团队和个人)提供统一的监控和管理界面
OpenClaw Dashboard 仪表盘:让OpenClaw管理更简单
PaperBanana-CN 学术配图助手
996.ICU:工作 996, 生病 ICU