media.nvim
What is in this media file, one picture of it, and — a video or an audio file's speech, turned into text. ffprobe says how long, how big and in which codec; ffmpeg produces a poster frame, a contact sheet or a waveform as a PNG on disk; a local transcription engine turns the speech in it into a buffer, a .transcript.md sidecar, or SRT/VTT subtitles. :Media text turns any of the four into text with one verb — an image through images.nvim's OCR, a PDF through pdfport, audio and video through the transcription engine. Anything that can draw a picture can then show a video — which was, until now, everywhere just a size in bytes and the word "binary".
- status
- beta — Beta stage — active development. This repository is past its first shape and in active use, but the surface is not frozen: breaking changes are still possible. Pin a commit or tag if you depend on it.
- category
- View & render
- neovim
- 0.10+
- repo
- github.com/StefanBartl/media.nvim
- commits
- 55
- help
- :help media
install
{
"StefanBartl/media.nvim",
opts = {},
} docs/
- BINDINGS.md
- CONTRIBUTING.md
- README.md
- api.md
- commands.md
- configuration.md
- health.md
- installation.md
- quickstart.md
- scope.md
- what-you-get.md
git log
- fix notify: restore the default "media.nvim" title in the no-lib.nvim fallback
- feat notify: move media.nvim onto lib.nvim.notify.popup
- docs link back to the wkd family site
- ci bump JohnnyMorganz/stylua-action to v5 (Node-20 deprecation)
- docs TESTS: align run.lua header examples with the ci.yml -n/-i NONE invocation
- ci bump the failure-log upload to actions/upload-artifact@v7 (Node 24)
- ci add job timeouts, failure log artifacts, swap/shada-free nvim runs, pinned deps
- docs remove emoji and bold-as-heading from docs (LUA-54)
- docs hub: use a generic example path in shorten() docs/tests (REL-35)
- fix types: name two progress-handle inline table types (LLS-11)
- fix cache: keep the real extension at the end of a render's tmp path
- fix bin: key the lookup cache on the configured value too (PERF-46)