Utilities
Convert a media file or folder into another format
Convert one file or a folder of media and write the results next to each other.
overview
What ffmpeg does
You have a WAV, MP4, or a folder of those files, and the next node needs a different container or codec. Set -i for one file or --input-folder for a directory. The wrapper calls ffmpeg, writes into the output folder, and names each result after the source stem plus --output-ext. Default extension is mp4. --output-ext mp3 is the audio extract used in the smoke run.
Optional controls stay off the default canvas. --video-codec and --audio-codec map to -c:v and -c:a. --extra passes a raw ffmpeg argument string. --cuts-file reads start, end, and output name per line. --subtitle-file or --subtitles-folder can burn captions when you already have an ASS, SRT, or VTT next to the video.
The node converts files you already have. It does not download a stream or invent a codec the image lacks. A completed run wrote tone.mp3 (1413 bytes) from a one-second fixture WAV. Treat an empty folder as a failed convert, not a silent success.
source github.com/FFmpeg/FFmpeg
use cases
Where ffmpeg fits
Turn a WAV into an MP3
Set -i and --output-ext mp3. The folder holds stem.mp3 for the next node.
Convert a folder of clips
Pass --input-folder. The wrapper walks common audio, video, and image extensions and writes one output per file.
Cut segments from a cuts file
Set --cuts-file with start, end, and output name per line. Pair it with -i or --input-folder.
Burn a subtitle file into a video
Set --subtitle-file when you already have ASS, SRT, or VTT. Do not expect the node to fetch captions.
reference
ffmpeg inputs and flags
| Name | Type | Flag | Description |
|---|---|---|---|
| input | FILE | -i | One media file. Use this or --input-folder. |
| input-folder | FOLDER | --input-folder | Folder of media files to convert. |
| output-extension | STRING | --output-ext | Output extension such as mp3, mp4, gif, or webm. Default mp4. |
| extra-args | STRING | --extra | Extra ffmpeg arguments as one string. |
Showing key inputs. ffmpeg exposes 20 inputs in total.
Full flag reference (20 inputs)
| Name | Type | Flag | Description |
|---|---|---|---|
| audio-bitrate | STRING | --audio-bitrate | Audio bitrate (e.g., 128k, 192k, 320k) |
| audio-codec | STRING | --audio-codec | Audio codec (e.g., aac, mp3, copy, libopus) |
| audio-filter | STRING | -af | Audio filter (e.g., volume=2.0, loudnorm) |
| crf | STRING | -crf | Constant Rate Factor for quality (0-51, lower is better, 18-28 is typical) |
| duration | STRING | -t | Duration of output (e.g., 00:01:00 or 60) |
| extra-args | STRING | --extra | Additional ffmpeg arguments (passed directly) |
| framerate | STRING | -r | Frame rate (e.g., 24, 30, 60) |
| output-extension | STRING | --output-ext | Output file extension (e.g., mp4, mp3, gif, webm). Defaults to mp4. |
| output-format | STRING | -f | Force output format (e.g., mp4, mp3, gif, webm) |
| preset | STRING | -preset | Encoding preset (ultrafast through veryslow) |
| resolution | STRING | -s | Output resolution (e.g., 1920x1080, 1280x720) |
| start-time | STRING | -ss | Start time for trimming (e.g., 00:00:30 or 30) |
| subtitle-file | FILE | --subtitle-file | Subtitle file to burn into video (ASS, SRT, VTT, etc.) |
| subtitles-folder | FOLDER | --subtitles-folder | Folder containing subtitle files (auto-matched by filename) |
| video-bitrate | STRING | --video-bitrate | Video bitrate (e.g., 1M, 2M, 5000k) |
| video-codec | STRING | --video-codec | Video codec (e.g., libx264, libx265, copy, libvpx-vp9) |
| video-filter | STRING | -vf | Video filter (e.g., scale=640:480) |
| cuts-file | FILE | --cuts-file | File with cuts (format: start_time end_time output_filename per line) |
| input | FILE | -i | Input file (video, audio, or image) |
| input-folder | FOLDER | --input-folder | Input folder containing media files |
example
Run ffmpeg
# one file; last argv is the output folder on Trickestffmpeg -i tone.wav --output-ext mp3 /hive/out # folder of filesffmpeg --input-folder /hive/in/media --output-ext mp3 /hive/outProcessing: /hive/in/fixture/tone.wav -> /hive/out/tone.mp3Processing complete. Output in: /hive/out # tone.mp3 1413 bytes (libmp3lame, 8000 Hz mono)guidance
Choosing ffmpeg
Use ffmpeg when you already have media and need another container or codec. Use yt-dlp when the input is still a URL. Use whisper when the next node needs speech as text.
yt-dlp
Downloads the media file. Run it first when the input is still a URL or RSS enclosure.
whisper
Speech to text from audio you already have. Convert to wav or mp3 first when the source is video.
wget
Downloads HTTP files. It does not remux or transcode.
faq
ffmpeg questions
related
More Utilities tools
browser-fetch
Headless Chromium render: requested URL, final URL, status, and title next to the page.
cewl
Spider a URL and return a wordlist for password crackers.
csvkit
SQL on one CSV. The table name is the file stem.
dnsgen
Wordlist and mined-word subdomain permutation.
duckdb
In-process SQL on CSV, JSON, and Parquet. No server.
edge-tts
Microsoft Edge neural speech from text or a script file. No API key.
Run ffmpeg yourself
A fixture WAV feeds ffmpeg with --output-ext mp3. The folder holds tone.mp3 from a completed run.
Facts on this page come from the live Trickest tool library.