Medios embebidos en Obsidian: cómo insertar audio, vídeo y fichas
Medios embebidos: qué escribir, paso a paso, para insertar un vídeo, un audio o la ficha de un libro o de una película en tus notas, con ejemplos listos para copiar.
Navegando en el blogver navegación en todos los blogs
Un medio embebido es cualquier cosa que no sea texto y que quieras ver dentro de la nota: un vídeo de YouTube, un MP3 tuyo, la ficha de un libro o la de una película. No hay que pegar código ni etiquetas: se escribe un bloque de tres o cuatro líneas y el blog lo convierte en el reproductor o la ficha cuando publica. El mismo bloque que escribes en Obsidian sale publicado en el blog de Astro, sin tocar nada.
Mira lo que se escribe y, justo debajo, lo que se ve en la página. Eso es todo el sistema: lo que aprendas con este ejemplo sirve para los otros cuatro medios.
```embed
provider: youtube
url: https://youtu.be/3zeqJ5tqmaQ
title: Astro Suite for Obsidian
```

Todo bloque se escribe igual:
- Se abre con tres acentos graves seguidos del nombre del medio:
embed,audio,video,bookofilm. - Dentro van las instrucciones, una por línea, con la forma
palabra clave: valor. - Se cierra con otros tres acentos graves.
Con eso ya funciona. Cuatro reglas más y no hay sorpresas:
- El bloque va en sus propias líneas, con una línea en blanco antes y otra después. Pegado al final de un párrafo no se lee como bloque.
- Nada de HTML a mano: ni
<iframe>ni<audio>. Un reproductor escrito así se queda sin ficha, sin pie y sin nombre para quien usa lector de pantalla. - La palabra clave se copia tal cual:
provider,url,title,src,isbn… Si escribesproveedor:en lugar deprovider:, el comprobador lo avisa y el bloque no sale como esperabas. - Si el texto lleva dos puntos, ponlo entre comillas:
caption: "Mi parte favorita: el final".
Y este es el mapa: busca tu caso y sigue el ejemplo de esa sección.
| Quiero insertar… | El bloque se llama |
|---|---|
| Un vídeo o un audio de YouTube, Vimeo, Spotify, SoundCloud o iVoox | embed |
| Un MP3 que he subido yo | audio |
| Un vídeo que he subido yo | video |
| La ficha de un libro | book |
| La ficha de una película | film |
Es el bloque del principio. Cambia la dirección por la del vídeo o la canción que quieras —se copia de la barra del navegador— y ponle un título:
```embed
provider: youtube
url: https://youtu.be/3zeqJ5tqmaQ
title: Astro Suite for Obsidian
caption: Demo oficial del plugin
start: 0:30
```
Qué hace cada línea:
provider:de dónde viene. Los cinco sitios admitidos son YouTube, Vimeo, Spotify, SoundCloud e iVoox, y se escriben en minúsculas.url:la dirección del vídeo o del audio. También vale el identificador suelto, si lo tienes a mano: en lugar de la dirección,id: 3zeqJ5tqmaQ(lo que sigue av=en YouTube) oid: 76979871(el número de un vídeo de Vimeo), siempre con suprovider:delante.type:solo en Spotify, para decir qué es:track(canción),album,playlist,episode,showoartist. Con laurlcompleta no hace falta, porque el tipo ya va dentro de la dirección.title:obligatorio. Es el nombre del reproductor: lo lee en voz alta un lector de pantalla y se ve mientras nadie ha dado al play.caption:opcional. El pie de figura, en letra pequeña, para decir de qué va.start:opcional. El minuto por el que arranca:30son treinta segundos y1:30es minuto y medio. Solo YouTube y Vimeo lo entienden.
Así se escribe cada sitio. Cambia lo que va después de los dos puntos por lo tuyo y el bloque queda listo:
```embed
provider: spotify
url: https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b
title: Blinding Lights
caption: La canción que abre el disco.
```
```embed
provider: soundcloud
url: https://soundcloud.com/forss/flickermood
title: Flickermood
caption: Un audio corto, para probar el reproductor.
```
```embed
provider: ivoox
url: https://www.ivoox.com/conciencia-mas-alla-mado-martinez-audios-mp3_rf_181460680_1.html
title: Conciencia, más allá
caption: El programa que me hizo pensar en esto.
```
Un detalle que sorprende la primera vez: lo que se publica no es un <iframe> desde el principio. El blog pinta la miniatura y un botón, y el reproductor del sitio entra cuando el lector da al play. Por eso la página no espera a YouTube para cargar (npm run media:fetch descarga esas miniaturas una sola vez y las guarda en el blog).
Se escribe así. Cambia la ruta por la de tu archivo y ponle un título:
```audio
src: /audpublic/teoria-polivagal.mp3
title: Teoría polivagal — audio del artículo
caption: Lectura del artículo en MP3.
```
Y esto es el mismo bloque, ya publicado:
Qué hace cada línea:
src:dónde está el archivo dentro del sitio. Empieza por/y vive en una de estas tres carpetas:/audpublic/(audios),/videos/(vídeos) o/media/(los dos). Cualquier otra carpeta, o una dirección que empiece porhttps://, es un error.title:obligatorio, igual que enembed.caption:el pie. Sin él, el comprobador avisa de que el reproductor no dice qué es.loop: truerepite el archivo en bucle, para un sonido de ambiente.
El peso máximo es de 25 MiB por archivo, el límite de Cloudflare Pages, porque el reproductor descarga el MP3 entero antes de sonar. Si uno se pasa, npm run compress-audio lo recomprime antes de que el comprobador lo cace.
Es el bloque audio con otro nombre. Se escribe así:
```video
src: /videos/mi-entrevista.mp4
poster: /videos/mi-entrevista.jpg
title: Entrevista en la radio
caption: Los cinco minutos que merecen la pena.
```
src:el archivo, en/videos/o en/media/.poster:la imagen que se ve antes de dar al play, como ruta pública (/img/…,/videos/…).title:obligatorio, ycaption:yloop:funcionan como en el audio.
Hoy no hay ningún vídeo subido en este blog, así que no puedo enseñarte uno publicado: el bloque está listo y el día que subas el primero se verá tal cual se escribe.
Se escribe así, con el ISBN entre comillas:
```book
isbn: "9788420664248"
caption: La ficha se pinta en medio del texto, en línea.
```
Y esto es la misma ficha, ya publicada:
isbn:el número del libro entre comillas. Sin comillas, el formato lo lee como un número y la ficha no sale.caption:opcional, el pie de la ficha.
La portada, la autoría y la sinopsis llegan de la caché de libros del blog, la misma que usan las reseñas (npm run books:fetch). Si el ISBN no está en esa caché, el comprobador lo marca como error hasta que lo añadas: un hueco mudo no se publica. Para la reseña entera de un libro hay una variante que pone la ficha al principio del artículo con el campo bookIsbn del frontmatter; está contada en docs/books.md.
La forma recomendada es el identificador de TMDB:
```film
tmdb: 603
caption: La ficha trae póster, año, dirección y nota.
```
tmdb:el número que aparece en la dirección de la película en themoviedb.org.- Esas fichas se descargan de TMDB con
npm run films:fetch, que necesita una clave de API (TMDB_TOKEN). La caché empieza vacía, así que hoy unfilmcontmdbno se publica hasta la primera descarga.
Mientras tanto hay un plan B: escribir la ficha a mano dentro del propio bloque, con las claves title, year, director, nota (sobre 10), synopsis, poster y url.
```film
title: Matrix
year: 1999
director: Lana y Lilly Wachowski
nota: 8.5
synopsis: Un programador descubre que el mundo que conoce no es real.
```
La ficha a mano funciona, pero el comprobador la lista como aviso: prefiere la caché, que además de la nota trae la duración y el póster.
La sintaxis de Obsidian se sigue entendiendo, para no tener que reescribir notas viejas. Son estas tres formas, y se escriben tal cual:

![[la dirección del episodio que has copiado]]
![[el-nombre-de-tu-archivo-de-audio]]
En la tercera, cambia el-nombre-de-tu-archivo por el archivo tal cual, con su extensión (entrevista.mp3) y en las carpetas públicas. Las tres formas siguen funcionando, pero el bloque admite más: nombre para el lector de pantalla, pie de figura y minuto de arranque. El comprobador las lista como «azúcar» —no bloquea nada— y te propone convertirlas; los ejemplos reales de las tres, con su resultado, están en la demo de embeds.
- PDFs: ni un PDF ni ningún archivo que no sea audio o vídeo. Se enlazan con un wikilink normal, como cualquier otra nota.
- X (Twitter), Instagram, Facebook, Threads y TikTok: no están entre los cinco sitios admitidos, así que su
se publica como imagen rota. Se enlaza la publicación, o se sube la imagen al blog. - HTML a mano: un
<iframe>o un<audio>pegado a mano se queda sin ficha, sin pie y sin nombre accesible. Los reproductores que había escritos así ya se convirtieron al bloque. - Más de cuatro embeds de terceros en la misma nota: a partir de ahí la página deja de leerse y se convierte en un reproductor, y el comprobador lo frena.
npm run media:fetch # baja las miniaturas de los embeds que hayas añadido
npm run films:fetch # fichas de película (solo si has usado `film`)
npm run validate:media # comprobador: bloques, archivos, fichas y marcos permitidos
npm run verify:content # el gate completo: frontmatter, SEO, enlaces, libros y medios
El comprobador dice la línea exacta de lo que falla: un archivo que no existe, un ISBN sin ficha, una palabra clave mal escrita. Después, npm run build recompila el sitio; si has tocado una caché, hay que dejar que invalide el HTML guardado y, con el servidor de desarrollo abierto, reiniciarlo. El flujo completo está en la guía de operación.
| Documento | Qué cuenta |
|---|---|
| doc-operacion-MarkeUp | Comandos del proyecto y flujo de publicación |
| doc-arquitectura-MarkeUp | Cómo se construye una página y qué hace cada plugin |
| Demo de Embeds de Obsidian | Todos los embeds, con ejemplos seguidos |
| doc-guia-MarkeUp | Instalación, Syncthing y Obsidian con Templater |
La implementación —el plugin que convierte el bloque en HTML, la fachada del clic, los pósteres y la caché de render— está en docs/media.md del repositorio, y el detalle de las fichas de libro, en docs/books.md.
Este territorio conecta con Dýnamis Kínēsis y Enérgeia, donde se explora la tríada aristotélica de potencia, movimiento y acto: la arquitectura metafísica del devenir y su lectura en el cuerpo, la.
Medios embebidos
Explora las ramas del artículo
