Pricing Dashboard Sign up
Recent
· 10 min read · MDisBetter

Video to Markdown for Obsidian: Build a Video Knowledge Vault

Obsidian shines when every piece of source material in your life is plain Markdown — your highlights, your notes, your web clippings, your transcripts. Video is the format most people leave outside the vault, even though the most valuable content they consume is in YouTube interviews, conference talks, podcast episodes (with video), and recorded meetings. Bringing video into the vault as Markdown unlocks search, wikilinks, the graph view, and AI assistance across everything you've ever watched. Here is how to set up the vault structure and the ingestion workflow that scales to thousands of videos.

Why videos belong in the vault

The argument for putting videos into Obsidian as Markdown comes down to four things you can't do with the raw video:

The cost is one minute per video to convert and import. The payoff compounds for years.

Vault structure

Three patterns work; pick one and commit. We'll use the most common:

My Vault/
├── 00 Inbox/                        # uncategorized recent imports
├── 10 Sources/
│   ├── Books/
│   ├── Articles/
│   ├── Papers/
│   └── Videos/                      # the new folder
│       ├── YouTube/
│       ├── Conference Talks/
│       ├── Podcasts (with video)/
│       └── Meetings/
├── 20 Notes/                        # your distilled notes referencing sources
├── 30 Daily Notes/
└── 40 Maps of Content/              # MOCs that group related sources

Every video imported lives at 10 Sources/Videos/[subfolder]/[Title].md. Notes you write about videos live in 20 Notes/ and link to the source via [[Title]].

The frontmatter standard

Every imported video gets the same YAML frontmatter at the top. This is the load-bearing piece — it's what makes Dataview queries, sorting, and filtering work later.

---
type: video
source-url: https://www.youtube.com/watch?v=...
source-platform: youtube
title: "How to Build a Second Brain — Tiago Forte"
authors: ["Tiago Forte"]
duration: "58:32"
date-published: 2024-03-12
date-imported: 2026-05-10
tags: [productivity, knowledge-management, second-brain]
status: imported
rating: 
key-takeaways: []
---

The empty rating and key-takeaways fields get filled in later when you actually engage with the content. The status field walks imported → watched → reviewed → archived as you process the video over time.

The ingestion workflow

For YouTube videos

  1. Open video to Markdown
  2. Paste the YouTube URL, click Convert
  3. Wait 30-60 seconds
  4. Download the .md file
  5. Drop it into 10 Sources/Videos/YouTube/ in your vault
  6. Open in Obsidian, paste the frontmatter template, fill in the metadata

Optional templater step: a community plugin can auto-fill the frontmatter from the YouTube oEmbed API at the moment you import. We've kept the manual flow above because it's the most universally compatible.

For uploaded video files (Zoom, conference, MP4)

Same flow but use the file-upload tab in video to Markdown instead of pasting a URL. The .md output is identical in structure. See the dedicated Zoom recording guide for the meeting-specific variant.

For batch (entire YouTube channel)

The web tool processes one video at a time. For 50+ videos at once, use yt-dlp + faster-whisper locally with a Python loop. We unpack the full pattern in batch transcribe a YouTube playlist — the resulting .md files drop into the same vault folder.

Wikilinking videos to your notes

The first time you reference a video in your own writing, use Obsidian's wikilink syntax: [[How to Build a Second Brain — Tiago Forte]]. The link points to the imported source. Over time, the same source will be linked from multiple notes, which is exactly what you want — the graph view will show that video as a hub connecting all the topics it touched.

Inside the imported video file, you can also link forward — annotations or highlight blocks can [[link to a note]] you wrote based on a specific timestamp. We use this convention:

## [12:34] On the difference between knowledge and information

**Speaker:** Knowledge is information you've internalized to the point you
can act on it without conscious thought...

> [[The internalization principle]] — my note expanding on this

The blockquote-with-wikilink is your own annotation pointing forward into your note system.

The graph view payoff

After 50 imported videos and 200 notes that reference them, the Obsidian graph view becomes genuinely useful. You see at a glance which speakers/sources you've returned to, which topics cluster together across your video and reading, and which corners of your vault are densely connected versus orphaned.

Two filters make the graph readable:

Dataview for video search and queries

The Dataview plugin lets you query the vault as a database. With the frontmatter standard above, useful queries become trivial.

All videos imported in the last 7 days:

```dataview
TABLE source-platform, duration, status
FROM "10 Sources/Videos"
WHERE date-imported >= date(today) - dur(7 days)
SORT date-imported DESC
```

All videos by a specific author, sorted by your rating:

```dataview
TABLE rating, key-takeaways
FROM "10 Sources/Videos"
WHERE contains(authors, "Naval Ravikant")
SORT rating DESC
```

Videos you imported but never marked as watched (stale backlog):

```dataview
LIST
FROM "10 Sources/Videos"
WHERE status = "imported"
AND date-imported < date(today) - dur(30 days)
```

Daily notes integration

For active learners, link the video into your daily note on the day you watched it:

# 2026-05-10

## Watched today
- [[How to Build a Second Brain — Tiago Forte]] — finally got around to it
  - Best section: the CODE framework starting [[How to Build...#^code]]
  - Disagreed with the part on tagging

The daily note becomes a chronological log; the source files accumulate backlinks pointing to every day they were watched or referenced.

The AI layer

Once videos are in the vault as Markdown, Obsidian's AI plugins can use them.

Smart Connections / Smart Chat plugin: indexes your vault into a local vector store and lets you ask questions across everything. "What did I import about productivity in the last 6 months?" returns your video imports plus your articles plus your notes, all together.

Copilot plugin / Text Generator plugin: chat with the vault using a model of your choice (OpenAI, Anthropic, local Ollama).

Claude / Cursor / Aider as the editor: point Claude Code at the vault directory; ask it to find quotes on a topic, write a synthesis essay drawing on multiple sources, or generate a study guide from your imports.

None of this works on raw .mp4 files. All of it works on .md.

Maps of Content (MOCs) for video collections

For deep dives, build a MOC page that gathers all videos on a topic:

# MOC: Quantum Computing

## Foundational lectures
- [[Lecture 1 — Qubits]]
- [[Lecture 2 — Superposition]]

## Conference talks
- [[QCon 2024 — Practical quantum advantage]]

## YouTube explainers
- [[3Blue1Brown — Quantum entanglement]]
- [[MinutePhysics — Quantum tunneling]]

## My notes on the cluster
- [[Why I think the timeline is overhyped]]
- [[Open questions I still have]]

The MOC is your hand-curated table of contents for a topic, sitting alongside the auto-generated graph view.

Storage and sync

One transcribed lecture (90 minutes) is roughly 8-15 KB of Markdown. 1,000 imported videos = ~12 MB of vault size. Obsidian Sync handles this without breaking a sweat. iCloud, Dropbox, Syncthing — same. The vault stays portable and lightweight even after years of accumulation, because the source video files are not stored in the vault (only the transcript Markdown is).

Comparison: native YouTube clipper plugins

The Obsidian community has YouTube-specific plugins (Media Extended, MediaNotes, etc.) that embed players inline and let you take timestamped notes during playback. These are great for active study with a single video. They don't replace the transcript pipeline — they complement it. Use the embed-player plugins for the watch session, use the transcript pipeline to give the vault searchable text. Both can co-exist on the same source file.

What about other formats?

The vault structure generalizes. PDF to Markdown converts your downloaded papers and ebooks; URL to Markdown handles web articles you'd otherwise lose to bookmark rot; audio to Markdown handles podcasts that aren't on YouTube. Same frontmatter standard, different subfolders. After a few months you have a unified Markdown corpus across every input source you consume — which is the whole point of Obsidian.

Recommendation

Start small: import the next 5 videos you watch (one per day for a week) using the workflow above. After a week, you'll have the vault structure muscle memory and the frontmatter template will be second nature. By month 3 you'll wonder how you ever consumed video without writing it into your knowledge system. See also our Notion equivalent if you're a Notion user, and the video-to-blog-post guide for when you want to publish from your imports.

Frequently asked questions

Will the .md files become huge for long videos?
No — even a 3-hour Joe Rogan podcast transcript is around 40-50 KB of Markdown, which Obsidian handles instantly. The vault size stays small because you're storing text, not the source video. The only files that get genuinely large are heavily-annotated lecture sequences with embedded images, and even those rarely exceed a megabyte.
Can I edit the transcript after importing without losing the structure?
Yes — the .md is just text. Edit, annotate, add wikilinks, change headings, delete sections. The frontmatter at the top is what powers the Dataview queries; as long as you preserve the frontmatter keys, the queries keep working. Many users edit the transcript heavily to remove filler chatter and tighten the prose, which makes future re-reads much faster.
How do I link a specific timestamp in a video from elsewhere in the vault?
Two patterns. (1) Use Obsidian block IDs: in the source file, add <code>^timestamp-1234</code> at the end of a line; from elsewhere, link via <code>[[VideoName#^timestamp-1234]]</code>. (2) For platforms that support it (YouTube, Vimeo), append <code>?t=750</code> to the source URL in the body of your note — clicking jumps directly to 12:30 in the original video. Both patterns coexist; use block IDs for vault navigation, deep-links for going back to the original.