Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Media Transcript

semsevenssemsevens636 downloads

Play video/audio with synchronized, clickable transcripts. Click any line to seek; playing line auto-highlights.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates14

Play video/audio inside Obsidian with a synchronized, clickable transcript read from a same-named subtitle file next to the media. Click any line to seek; the playing line auto-highlights and scrolls into view.

This is a transcript player, not a transcriber — it does not do speech-to-text. Transcripts are produced by external tools; drop a .json / .srt / .vtt next to your media and it just works.

Features

  • Opens .mp4 / .m4a / .mp3 / … and automatically loads a same-named subtitle in the same folder (.json / .srt / .vtt). If none exists, it shows a hint and does nothing else.
  • Video: side-by-side layout — a large player on the left, transcript on the right, with a draggable divider (the ratio is remembered).
  • Audio: a slim top control bar (title + player + speed) with a full-width transcript.
  • Playback speed 0.75×–2× (video and audio).
  • Click to seek, auto-highlight: click a line to seek and play; the current line highlights.
  • Auto-scroll keeps the playing line centered — not stuck at the bottom edge. Scrolling by hand pauses it for a few seconds so you can read ahead; click a line to resume immediately.
  • Adjustable transcript text size — A− / A+ in the transcript toolbar, or the slider in settings (10–32 px, remembered).
  • Search the transcript — type in the search box to highlight every match; n/m counter with ↑ / ↓ (or Enter / Shift+Enter) to step through them, Esc to clear. Searching jumps forward from the line currently playing, and works for CJK text. The Search transcript command focuses the box, so you can bind a hotkey to it.
  • Listen to a video without the picture — the 🎧 Audio only button swaps the video for a slim audio bar and a full-width transcript, keeping playback position and speed; 🎬 Video brings the picture back. Remembered across files and sessions.
  • Right-click menu: play from here / copy timestamp / copy text; click a timestamp to copy it.
  • Per-speaker labels (colored S0 / S1 …) when a JSON transcript has 2+ speakers.
  • Export the current transcript to a Markdown note.

Installation

Via BRAT

  1. Install the BRAT plugin.
  2. Command palette → BRAT: Add a beta plugin for testing.
  3. Enter semsevens/obsidian-media-transcript.
  4. Enable Media Transcript in Community plugins.

Manual

Download main.js, manifest.json, and styles.css from the latest release into <vault>/.obsidian/plugins/media-transcript/, then enable the plugin.

From source

npm install
npm run build
cp main.js manifest.json styles.css <vault>/.obsidian/plugins/media-transcript/

Subtitle format

Place <media-name>.<marker>.{json,srt,vtt} next to the media, e.g. lecture.mp4 → lecture.whisper.json. JSON follows the Whisper verbose_json shape:

{ "segments": [ { "start": 0.0, "end": 4.2, "text": "…", "speaker": 0 } ] }

Settings

  • Subtitle folder — leave empty to use each media file's own folder.
  • Subtitle priority — order of filename [marker] tags when several subtitles exist.
  • Video pane width — how much width the player takes in video mode (dragging the divider updates it too).
  • Transcript font size — text size in px; the toolbar's A− / A+ change the same value.
  • Auto-scroll transcript — keep the playing line centered while playing (on by default).
  • Play videos as audio only — same as the toolbar's 🎧 button, as a default for new views.

If a media extension is already handled by Obsidian core or another plugin, use the Open in Media Transcript file-menu item or the Open current media file in transcript view command to open it in this view.

License

MIT

HealthExcellent
ReviewSatisfactory
About
Open audio and video files with matching sidecar subtitles and read synchronized, clickable transcripts with follow-along highlighting. Read JSON, SRT, or VTT subtitle files from the same folder and auto-select matching captions. Play at 0.75–2×, click lines to seek and play, copy timestamps or text, and export the current transcript as a Markdown note.
AudioVideo
Details
Current version
1.3.0
Last updated
3 weeks ago
Created
2 months ago
Updates
14 releases
Downloads
636
Compatible with
Obsidian 1.4.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
semsevenssemsevenssemsevens
GitHubsemsevens
  1. Community
  2. Plugins
  3. Audio
  4. Media Transcript

Related plugins

Media Extended

Integrate, manage video or audio directly in your notes, with enhanced playback and timestamp support. (Closed source)

Stream Embed

Automatically convert pasted Spotify and YouTube links into embedded players.

Voice

Listen to your notes as natural speech with text-to-speech (TTS). Read notes aloud, play them like an audiobook in the voice player, download MP3 audio and listen offline hands-free on mobile.

Pixel Banner

Enhance your notes with customizable banner images.

ABC Music Notation

Render music sheets directly from code blocks using ABC music notation via abcjs.

Note Companion

AI-powered note organization and chat. Requires subscription or self-hosting with your own API keys.

YTranscript

Easily fetch transcription for any YouTube video.

TTRPG Tools - Soundboard

Soundboard for TTRPG sessions: image tiles (adjustable height), per-title loop/fades, Stop All, root folder + subfolders, plus Playlists (gold tiles with sequential playback).

Text to Speech

Hear your notes.

YouTube transcript fetcher

Fetch, clean and embed YouTube video transcripts in your notes.