README file from
GithubSmart Media Notes
Smart Media Notes is an Obsidian plugin for media-based note taking. It lets you open video and audio inside Obsidian, insert clickable timestamps, import subtitles, record voice notes, browse podcast feeds, and keep a reusable media library next to your notes.
This project builds on ObsidianTimestampNotes by @juliang22, and extends it with a full media workflow for study, listening practice, research, and review.
What It Can Do
- Open media from web URLs, vault files, and local system paths
- Insert clickable
timestampandtimestamp-urlcode blocks - Import
.srtand.vttsubtitles and keep them synced with playback - Show a subtitle overlay and subtitle browser below the player
- Record voice notes into your vault as inline
voice-barblocks - Save and reopen frequently used media from a Smart Media Library view
- Browse podcast RSS feeds and launch episodes directly
- Browse vault media folders
- Browse local system media folders on desktop
- Use dictation mode for language learning and listening drills
Install
Release Install
- Download
manifest.json,main.js, andstyles.cssfrom the latest release. - Create this folder in your vault if it does not exist:
.obsidian/plugins/smart-media-notes
- Copy the three files into that folder.
- Restart Obsidian or reload community plugins.
- Enable
Smart Media NotesinSettings -> Community plugins.
Manual Build
git clone https://github.com/NchuYJ/obsidian-smart-media-notes.git
cd obsidian-smart-media-notes
npm install
npm run build
Then copy:
main.jsmanifest.jsonstyles.css
into:
{your-vault}/.obsidian/plugins/smart-media-notes/
Quick Start
Open a media link
- Put a media URL or vault file path in your note.
- Select it.
- Run the command
Open media player (copy url or path and use hotkey).
Insert a timestamp
While media is playing, run:
Insert timestamp based on videos current play time
This inserts:
```timestamp
01:23
```
Clicking the timestamp in reading mode seeks the active player.
Bind a media source to a note
You can also insert:
```timestamp-url
Lesson 01 | https://example.com/audio.mp3
```
or:
```timestamp-url
https://example.com/audio.mp3
```
Clicking the rendered button reopens the media.
Main Features
Smart Media Player
- Supports video and audio
- Works with many web URLs through
react-player - Works with Obsidian vault files
- Supports direct local system file paths
Subtitle Support
- Import
.srtor.vtt - Show current subtitle as an overlay
- Show subtitles in a scrollable browser
- Click a subtitle line to jump playback
- Insert the current subtitle into your note
Smart Media Library
The library view can show:
- saved media entries from your notes
- podcast RSS subscriptions
- vault media folders
- local system media folders
Saved entries can be filtered by tags and reopened quickly.
Voice Notes
You can record audio directly into your vault and insert an inline player:
```voice-bar
Attachments/voice-notes/voice-note-123456.webm
```
Dictation Mode
Dictation mode is useful for language learning:
- loop the current subtitle segment
- move to previous or next segment
- hide subtitle text while keeping time anchors
- reveal and compare typed text against the original subtitle
Commands
Main commands include:
Open media player (copy url or path and use hotkey)Insert timestamp based on videos current play timePause playerSeek ForwardSeek BackwardOpen local media fileOpen media from vaultOpen media library sidebarImport subtitle file for current mediaInsert current subtitle with timestampStart voice recordingStop voice recording and save noteToggle dictation modeReveal dictation answer (compare with selected text)Dictation: Previous segmentDictation: Next segmentReconcile saved media collection
Settings
Important settings:
TitleURL Button ColorTimestamp Button ColorForward time seekBackwards time seekVoice recordings folderSubtitle note templateSubtitle overlaySubtitle browserSubtitle overlay font sizeDictation loop countDictation gap between repeatsSubtitle storage folderRSS subscriptionsVideo formatsAudio formatsMedia foldersAuto insert library noteInclude subtitle with timestampTimestamp + subtitle template
Desktop Notes
The plugin works best on desktop.
System file paths and system folder scanning are primarily intended for desktop workflows. If you only want vault-safe media browsing, use vault media files and vault folders.
Tutorial
For a more guided walkthrough, see TUTORIAL.md.
Development
npm install
npm run dev
npm run build
Project structure:
src/
main.ts
settings.ts
utils.ts
view/
VideoContainer.tsx
VideoView.tsx
Acknowledgments
Derived from ObsidianTimestampNotes by juliang22.
License
MIT