ls for what’s
inside your media files.
Browse videos, audio, images, and documents in your terminal. Inspect their metadata or export it as JSON. Everything runs locally.
brew install thepushkarp/tap/mls
mls .
~/Media % mls
MLS keys
↑↓ / j k move · ← / h parent · → / l / Enter open · g / G first / last · Ctrl-d / Ctrl-u page
/ filter · s sort · S reverse · 1–5 kinds · Space mark · i metadata · p play/pause · P stop · [ ] seek · q quit
Double-click opens a folder or plays media. Escape closes help. Tab leaves the terminal.
Media — 9 files
No matching files.
Preview

# Open films Sample files using CC BY 4.0 artwork from Blender Studio.
Charge.mp4name ↑
Metadata for
your scripts.
Use --json for one document, or pipe the output for streaming NDJSON.
mls --json ~/MediaSample output excerpt; paths and response wrapper omitted.
Agent guide{
"file_name": "Charge.mp4",
"media": {
"kind": "video",
"duration_ms": 12000,
"video": {
"width": 640,
"height": 360,
"fps": {
"num": 25,
"den": 1
},
"bitrate_bps": 37504,
"codec": {
"name": "h264",
"profile": "High",
"level": "30"
},
"pixel_format": "yuvj420p"
},
"tags": {
"title": "Charge"
}
}
}Read the sample JSONInstall with Cargo
The crate is media-ls; the command is mls. Install ffmpeg for media probing and mpv for playback.
cargo install media-ls