{
 "$schema": "../../schema.json",
 "schema": "fundus/1",
 "id": "player-einbettung-zwei-klick",
 "name": "Player per Zwei-Klick (Spotify, Apple Music, Bandcamp, SoundCloud, YouTube, Vimeo)",
 "name_en": "Two-click consent embeds for music and video players",
 "kurz": "Release, Musikvideo und DJ-Set hörbar machen, ohne vorher Daten an Spotify, YouTube & Co. zu senden: Platzhalter in Player-Höhe, Laden nach Klick, Fehler mit Link nach außen, Widerruf ohne Neuladen.",
 "kategorie": "Sektionen & Funktionen",
 "kategorie_slug": "sektionen",
 "kategorie_nr": 16,
 "bau_chat": "D",
 "prioritaet": "D",
 "trendstatus": "etabliert",
 "belegstatus": "belegt",
 "website_belege": 4,
 "stimmung": [
  "präzise",
  "laut"
 ],
 "stimmung_roh": [
  "laut",
  "funktional",
  "vertrauenswürdig"
 ],
 "technik": [
  "css",
  "vanilla-js",
  "aria"
 ],
 "technik_gruppen": [
  "css",
  "js",
  "andere"
 ],
 "leistungskosten": "niedrig",
 "steckbrief": {
  "beschreibung": "Musik und Videos hörbar machen, ohne vor der Einwilligung Daten an Plattformen zu senden. Sofort sichtbar sind Cover bzw. Poster vom eigenen Server, Titel, Länge, Trackliste als Text und alle Plattform-Links. Der eingebettete Player lädt erst nach Klick auf „Player von [Anbieter] laden“. Der Platzhalter hat mindestens die Höhe des Players, damit nichts springt. „[Anbieter] künftig direkt laden“ setzt die Kategorie „Medien“ der Einwilligung; ein Widerruf macht alle Player ohne Neuladen wieder zu Platzhaltern. Scheitert das Laden, bleibt der Link zur Plattform.",
  "warum_es_wirkt": "Fans wollen sofort hören, das Gesetz verlangt vor dem Laden fremder Player eine Einwilligung. Der Platzhalter löst beides: Er sieht aus wie Teil der Seite, nennt Anbieter und Datenfluss in einem Satz und lädt mit einem Klick. Trackliste und Plattform-Links stehen als Text da, also funktioniert die Seite auch ohne Einwilligung, für Suchmaschinen und für Screenreader.",
  "wann_einsetzen": "Bands, Musiker:innen, DJs, Labels, Chöre: Release-Seiten mit Spotify-, Apple-Music- oder Bandcamp-Player, Musikvideos über YouTube oder Vimeo, DJ-Sets über SoundCloud oder Mixcloud. Auch Podcasts und Hörproben auf Verlags- oder Kulturseiten.",
  "wann_nicht": "Selbst gehostete Videos brauchen keine Einwilligung: eigener-videoplayer. Karten und Social-Feeds deckt karte-zwei-klick ab, Buchungs-Widgets termin-buchung-zwei-klick. Wer nur auf Plattformen verweisen will, braucht keinen Player, eine Liste normaler Links reicht. Nie Player ohne Klick laden, nie Vorschaubilder vom Plattform-Server holen.",
  "varianten": [
   "Release: Album oder Single mit Cover, Trackliste als Text, Plattform-Links und Player von Spotify, Apple Music oder Bandcamp",
   "Video: Musikvideo über youtube-nocookie.com bzw. Vimeo mit dnt=1, Poster selbst gehostet, Seitenverhältnis fest, Hinweis auf Untertitel",
   "Mix: DJ-Set über SoundCloud oder Mixcloud mit Tracklist und Zeitmarken als Text",
   "Mehrere Player auf einer Seite: eine Einwilligung lädt alle Platzhalter"
  ],
  "umsetzung": "Je Player ein <figure> mit .flaeche (min-height: var(--h), Token je Anbieter) und <figcaption>. Die Embed-Adresse steht nur als data-src an der Figur; vor dem Klick lädt nichts von der Plattform, kein Skript, kein Vorschaubild.\n\nPlatzhalter: eigenes Cover bzw. Poster, Label „Album · 9 Titel · 38 Min.“, Titel, Satz zum Datenfluss mit Link zur Datenschutzerklärung (aria-describedby am Knopf), Knopf „Player von [Anbieter] laden“, Kästchen „[Anbieter] künftig direkt laden“, Link „Direkt bei [Anbieter] öffnen“ (neuer Tab). Beim Video steht auf dem Poster nur Titel und Knopf, der Rest in einer Zeile darunter.\n\nZustände über data-zustand: platzhalter → laedt (Platzhalter bleibt mit visibility: hidden im Fluss, Ladebalken, aria-live „Player wird geladen“) → geladen (iframe mit title, allow-Liste, loading=lazy; bei load Fokus ins iframe) oder fehler (Zeitüberschreitung, etwa 8 s: Text, „Direkt bei [Anbieter] öffnen“, „Nochmal versuchen“). „Player entfernen“ und der Widerruf führen zurück zum Platzhalter, ohne die Seite neu zu laden.\n\nEinwilligung im selben Format wie consent-banner-gestaltet (Kategorie medien), dazu ein Ereignis, auf das alle Figuren hören. Liegt die Einwilligung beim Seitenaufruf vor, laden die Player direkt, aber ohne Fokus und ohne Abspielen.\n\nYouTube über www.youtube-nocookie.com/embed/ID, Vimeo mit ?dnt=1; beides ersetzt die Einwilligung nicht. Kein autoplay. In der Demo ist der geladene Player eine Nachbildung per srcdoc (kein Ton); im Einsatz: iframe.src = figure.dataset.src.",
  "mobil": "Platzhalter in voller Breite, Cover klein neben dem Titel, Knopf in voller Breite. Ist der Platzhalter höher als der Player, bekommt das iframe dieselbe Höhe, damit nichts springt. Beim Video nur der Knopf auf dem Poster, Hinweis und Kästchen darunter. Plattform-Links als Raster mit 48 px hohen Zielen.",
  "reduzierte_bewegung": "Platzhalter und Player tauschen ohne Überblendung oder Verschluss, der Ladebalken bewegt sich nicht. Nichts startet von selbst, auch nicht nach dem Laden.",
  "barrierefreiheit": "Platzhalter als <figure> mit <figcaption>, Knopf mit Anbietername, Datenfluss per aria-describedby. Das iframe hat einen title mit Anbieter und Titel, nach dem Laden per Klick wandert der Fokus hinein, Tab führt durch den Player. Nichts startet mit Ton (WCAG 1.4.2). Ladezustand, „Geladen von …“ und Fehler in einer aria-live-Region der Bildunterschrift. Nach „Player entfernen“ springt der Fokus zurück auf den Ladeknopf, nach dem Widerruf auf den Einwilligungstext. Trackliste und Zeitmarken als <ol> mit <time>, Plattform-Links als normale Links mit „neuer Tab“. Unsichtbare Ebenen sind ausgeblendet bzw. visibility: hidden, damit der Fokus nicht ins Leere springt."
 },
 "messwerte": {
  "easing": "cubic-bezier(0.16, 1, 0.3, 1) beim Einblenden des Players, cubic-bezier(0.7, 0, 0.84, 0) zurück",
  "dauer_ms": "300 Player auf, 200 zurück zum Platzhalter; Ladebalken in steps(6) à 80 ms",
  "stagger_ms": "",
  "distanz": "",
  "sonstiges": "Höhen: Spotify 352 px (Beispielcode Spotify), übrige Höhen nach gängigen Einbettungscodes, am echten Code nachmessen. Video mit festem Seitenverhältnis 16 : 9.",
  "herkunft": "eigene Festlegung",
  "quelle": "Rezept musik-kuenstler-buehne (animationsstil_ui token-toggle-asymmetrisch, Takt aus token-brutal-hart)"
 },
 "kurve": {
  "bezier": [
   0.16,
   1.0,
   0.3,
   1.0
  ],
  "css": "cubic-bezier(0.16, 1, 0.3, 1)",
  "name": "expo.out",
  "dauer_ms": 300
 },
 "gesehen_bei": [
  {
   "seite": "heise online: embetty",
   "url": "https://npmjs.com/package/@heise/embetty",
   "auszeichnung": "",
   "beobachtung": "Werkzeug von heise für datenschutzfreundliches Einbetten: Platzhalter mit Vorschau vom eigenen Server, der fremde Inhalt lädt erst auf Klick (geprüft 02.11.2026).",
   "art": "website"
  },
  {
   "seite": "Landesbeauftragte für Datenschutz Bremen: Vermerk zum Einbetten von YouTube-Videos",
   "url": "https://www.kogis.bremen.de/sixcms/media.php/13/Neuer%20Stand_Vermerk_datenschutzkonformes%20Einbetten%20von%20YouT.pdf",
   "auszeichnung": "",
   "beobachtung": "Vermerk einer Landesstelle zum datenschutzkonformen Einbetten von YouTube-Videos (geprüft 02.11.2026).",
   "art": "artikel"
  },
  {
   "seite": "Händlerbund: Datenschutz bei YouTube-Videos",
   "url": "https://www.haendlerbund.de/de/news/aktuelles/wissenssnack/kurz-erklaert-datenschutz-youtube-videos",
   "auszeichnung": "",
   "beobachtung": "YouTube-Einbettung braucht eine Einwilligung vor dem Laden (geprüft 02.11.2026).",
   "art": "artikel"
  },
  {
   "seite": "Tocotronic (Band)",
   "url": "https://www.tocotronic.de/dates/",
   "auszeichnung": "",
   "beobachtung": "Releases mit Streaming-Links je Single als normale Links (geprüft 02.11.2026).",
   "art": "website"
  },
  {
   "seite": "Ninja Tune: Bonobo, Fragments",
   "url": "https://ninjatune.net/release/bonobo/fragments",
   "auszeichnung": "",
   "beobachtung": "Release-Seite mit Trackliste als Text und eigenem Player statt eingebetteter Spotify- oder YouTube-Player (geprüft 02.11.2026).",
   "art": "website"
  },
  {
   "seite": "Kraftklub (Band)",
   "url": "https://www.kraftklub.to/home/",
   "auszeichnung": "",
   "beobachtung": "Videos mit vier Titeln und „Mehr auf YouTube“ (geprüft 02.11.2026).",
   "art": "website"
  },
  {
   "seite": "Spotify for Developers: Creating an Embed",
   "url": "https://developer.spotify.com/documentation/embeds/guides/creating-an-embed/",
   "auszeichnung": "",
   "beobachtung": "Beispiel-iframe mit width 100 %, height 352 und border-radius 12px (geprüft 02.11.2026).",
   "art": "artikel"
  },
  {
   "seite": "ignite.video: Vimeo Do-Not-Track",
   "url": "https://ignite.video/en/articles/tutorials/vimeo-do-not-track",
   "auszeichnung": "",
   "beobachtung": "dnt=1 schaltet das Verhaltens-Tracking ab, Cookies können trotzdem gesetzt werden; eine Einwilligung vor dem Laden bleibt nötig (geprüft 02.11.2026).",
   "art": "artikel"
  }
 ],
 "tutorials": [
  {
   "titel": "Spotify for Developers: Creating an Embed",
   "url": "https://developer.spotify.com/documentation/embeds/guides/creating-an-embed/"
  },
  {
   "titel": "heise embetty (npm)",
   "url": "https://npmjs.com/package/@heise/embetty"
  }
 ],
 "kombinierbar_mit": [
  "consent-banner-gestaltet",
  "karte-zwei-klick",
  "termin-buchung-zwei-klick",
  "eigener-videoplayer",
  "tourdaten-liste",
  "tiefen-taste-3d",
  "kontur-button-zeichnen",
  "css-native-karussell"
 ],
 "urls": {
  "detail": "https://cecodesign.de/lab/fundus/sektionen/player-einbettung-zwei-klick/",
  "meta": "https://cecodesign.de/lab/fundus/sektionen/player-einbettung-zwei-klick/meta.json",
  "demo": "https://cecodesign.de/lab/fundus/sektionen/player-einbettung-zwei-klick/demo"
 },
 "herkunft": {
  "quelldateien": [
   "Rezept-Runde 02.11.2026"
  ],
  "pruefnotizen": [
   "Belege aus der Rezept-Runde vom 02.11.2026; Spotify-Beispielcode (height 352) und Vimeo dnt am 02.11.2026 per WebFetch geprüft.",
   "Höhen für Bandcamp, Apple Music, SoundCloud und Mixcloud sind eigene Festlegung nach gängigen Einbettungscodes, nicht an der Quelle gemessen.",
   "Rechtliche Einordnung (§ 25 TDDDG, DSGVO) nur als Hinweis; Texte in der Demo sind Platzhalter, vom Kunden prüfen lassen."
  ]
 },
 "bau": {
  "status": "fertig",
  "kurz": "Release, Musikvideo und DJ-Set hörbar machen, ohne vorher Daten an Spotify, YouTube & Co. zu senden: Platzhalter in Player-Höhe, Laden nach Klick, Fehler mit Link nach außen, Widerruf ohne Neuladen.",
  "demo": true,
  "abhaengigkeiten": [],
  "werte": {
   "hoehen_token": "--h-spotify 352px (Beispielcode Spotify), --h-apple 450px, --h-bandcamp 470px, --h-soundcloud 300px, --h-mixcloud 400px (eigene Festlegung, am echten Code nachmessen); Video aspect-ratio 16 / 9",
   "platzhalter": "figure > .flaeche mit min-height: var(--h), Rahmen 2 px Papier; Inhalt bleibt beim Laden mit visibility: hidden im Fluss, das iframe liegt absolut darüber und hat dieselbe Höhe (auch wenn der Platzhalter auf schmalen Schirmen höher ist)",
   "cover": "clamp(88px, calc(var(--h) - 220px), 260px), Telefon 96 px, ≤ 360 px 72 px; Bilder selbst gehostet (webp 640 × 640 bzw. 1280 × 720)",
   "laden": "Balken 192 × 8 px, background-size 0 → 100 % in steps(6, end) × 80 ms = 480 ms, wiederholt; Demo-Ladezeit 960 ms, Zeitüberschreitung 1600 ms (im Einsatz etwa 8 s) → Fehlerzustand",
   "player_auf": "clip-path inset(0 0 100% 0) → inset(0) in 300 ms cubic-bezier(0.16, 1, 0.3, 1) über @starting-style",
   "player_zu": "clip-path inset(0) → inset(0 0 100% 0) in 200 ms cubic-bezier(0.7, 0, 0.84, 0), danach Platzhalter",
   "haupttaste": "tiefen-taste-3d Variante versatz-brutal in Ära-Farbe #2d3bff, Kante inset 2 px Papier, Versatz 5 px, Hover -2 px in 160 ms steps(2, end), Druck +5 px in 0 ms",
   "nebenknoepfe": "kontur-button-zeichnen laufend: Strich 1,25 px, 7 5, Hover/Fokus dashoffset 0 → -48 in 1600 ms linear, 3 Umläufe",
   "einwilligung": "localStorage flutung.einwilligung = { version: 3, zeit (ISO), kategorien: { notwendig: true, medien } } wie consent-banner-gestaltet; Ereignis „einwilligung“ lädt bzw. entlädt alle Platzhalter ohne Neuladen",
   "iframe": "title „[Anbieter]-Player: [Titel]“, loading=lazy, allow=\"encrypted-media; fullscreen; picture-in-picture; clipboard-write\"; nach load Fokus ins iframe (nur nach Klick); YouTube www.youtube-nocookie.com/embed/…?rel=0, Vimeo …?dnt=1, ohne autoplay",
   "typo": "Release-Titel Redaction 400 clamp(1.5rem, 1rem + 1.6vw, 2.25rem) im Platzhalter, clamp(1.75rem, 1rem + 2.5vw, 3rem) daneben; Labels Martian Mono .75rem versal +0.08em; Knöpfe Martian Mono .875rem 600 versal +0.04em; Name Science Gothic wdth 140",
   "farben": "Tinte #111113, Papier #eeebe3, Ära Ultramarin #2d3bff (Papier darauf 5,5:1), Meta #9a9893 (6,5:1), Hinweistext #c9c6be, Fehler #ff6b5e (6,8:1)",
   "vorfuehrung": "Zeiger 720 ms expo.out; Release und Video: laden, im Player abspielen, Player entfernen, Anbieter wechseln (Höhe springt auf das neue Token), blockiert laden → Fehler, nochmal versuchen, entfernen; Mix: „künftig direkt laden“ an, laden, abspielen, Einwilligung widerrufen, Anbieter wechseln"
  },
  "ausloeser": "klick",
  "touch": "Platzhalter in voller Breite, Cover 96 px neben dem Titel, Knopf in voller Breite, Kästchen und Link mit 44 px Zielhöhe. Beim Video steht auf dem Poster nur der Knopf, Datenfluss, Kästchen und Link stehen direkt darunter.",
  "reduziert": "Platzhalter und Player tauschen ohne Clip, der Ladebalken steht auf halber Breite still, Kontur läuft nicht, Taste springt ohne Stufen, Zeiger springt. Nichts startet von selbst.",
  "korrekturen": {
   "beschreibung": "Musik und Videos hörbar machen, ohne vor der Einwilligung Daten an Plattformen zu senden. Sofort sichtbar sind Cover bzw. Poster vom eigenen Server, Titel, Länge, Trackliste als Text und alle Plattform-Links. Der eingebettete Player lädt erst nach Klick auf „Player von [Anbieter] laden“. Der Platzhalter hat mindestens die Höhe des Players, damit nichts springt. „[Anbieter] künftig direkt laden“ setzt die Kategorie „Medien“ der Einwilligung; ein Widerruf macht alle Player ohne Neuladen wieder zu Platzhaltern. Scheitert das Laden, bleibt der Link zur Plattform.",
   "warum_es_wirkt": "Fans wollen sofort hören, das Gesetz verlangt vor dem Laden fremder Player eine Einwilligung. Der Platzhalter löst beides: Er sieht aus wie Teil der Seite, nennt Anbieter und Datenfluss in einem Satz und lädt mit einem Klick. Trackliste und Plattform-Links stehen als Text da, also funktioniert die Seite auch ohne Einwilligung, für Suchmaschinen und für Screenreader.",
   "wann_einsetzen": "Bands, Musiker:innen, DJs, Labels, Chöre: Release-Seiten mit Spotify-, Apple-Music- oder Bandcamp-Player, Musikvideos über YouTube oder Vimeo, DJ-Sets über SoundCloud oder Mixcloud. Auch Podcasts und Hörproben auf Verlags- oder Kulturseiten.",
   "wann_nicht": "Selbst gehostete Videos brauchen keine Einwilligung: eigener-videoplayer. Karten und Social-Feeds deckt karte-zwei-klick ab, Buchungs-Widgets termin-buchung-zwei-klick. Wer nur auf Plattformen verweisen will, braucht keinen Player, eine Liste normaler Links reicht. Nie Player ohne Klick laden, nie Vorschaubilder vom Plattform-Server holen.",
   "varianten": [
    "Release: Album oder Single mit Cover, Trackliste als Text, Plattform-Links und Player von Spotify, Apple Music oder Bandcamp",
    "Video: Musikvideo über youtube-nocookie.com bzw. Vimeo mit dnt=1, Poster selbst gehostet, Seitenverhältnis fest, Hinweis auf Untertitel",
    "Mix: DJ-Set über SoundCloud oder Mixcloud mit Tracklist und Zeitmarken als Text",
    "Mehrere Player auf einer Seite: eine Einwilligung lädt alle Platzhalter"
   ],
   "umsetzung": "Je Player ein <figure> mit .flaeche (min-height: var(--h), Token je Anbieter) und <figcaption>. Die Embed-Adresse steht nur als data-src an der Figur; vor dem Klick lädt nichts von der Plattform, kein Skript, kein Vorschaubild.\n\nPlatzhalter: eigenes Cover bzw. Poster, Label „Album · 9 Titel · 38 Min.“, Titel, Satz zum Datenfluss mit Link zur Datenschutzerklärung (aria-describedby am Knopf), Knopf „Player von [Anbieter] laden“, Kästchen „[Anbieter] künftig direkt laden“, Link „Direkt bei [Anbieter] öffnen“ (neuer Tab). Beim Video steht auf dem Poster nur Titel und Knopf, der Rest in einer Zeile darunter.\n\nZustände über data-zustand: platzhalter → laedt (Platzhalter bleibt mit visibility: hidden im Fluss, Ladebalken, aria-live „Player wird geladen“) → geladen (iframe mit title, allow-Liste, loading=lazy; bei load Fokus ins iframe) oder fehler (Zeitüberschreitung, etwa 8 s: Text, „Direkt bei [Anbieter] öffnen“, „Nochmal versuchen“). „Player entfernen“ und der Widerruf führen zurück zum Platzhalter, ohne die Seite neu zu laden.\n\nEinwilligung im selben Format wie consent-banner-gestaltet (Kategorie medien), dazu ein Ereignis, auf das alle Figuren hören. Liegt die Einwilligung beim Seitenaufruf vor, laden die Player direkt, aber ohne Fokus und ohne Abspielen.\n\nYouTube über www.youtube-nocookie.com/embed/ID, Vimeo mit ?dnt=1; beides ersetzt die Einwilligung nicht. Kein autoplay. In der Demo ist der geladene Player eine Nachbildung per srcdoc (kein Ton); im Einsatz: iframe.src = figure.dataset.src.",
   "mobil": "Platzhalter in voller Breite, Cover klein neben dem Titel, Knopf in voller Breite. Ist der Platzhalter höher als der Player, bekommt das iframe dieselbe Höhe, damit nichts springt. Beim Video nur der Knopf auf dem Poster, Hinweis und Kästchen darunter. Plattform-Links als Raster mit 48 px hohen Zielen.",
   "reduzierte_bewegung": "Platzhalter und Player tauschen ohne Überblendung oder Verschluss, der Ladebalken bewegt sich nicht. Nichts startet von selbst, auch nicht nach dem Laden.",
   "barrierefreiheit": "Platzhalter als <figure> mit <figcaption>, Knopf mit Anbietername, Datenfluss per aria-describedby. Das iframe hat einen title mit Anbieter und Titel, nach dem Laden per Klick wandert der Fokus hinein, Tab führt durch den Player. Nichts startet mit Ton (WCAG 1.4.2). Ladezustand, „Geladen von …“ und Fehler in einer aria-live-Region der Bildunterschrift. Nach „Player entfernen“ springt der Fokus zurück auf den Ladeknopf, nach dem Widerruf auf den Einwilligungstext. Trackliste und Zeitmarken als <ol> mit <time>, Plattform-Links als normale Links mit „neuer Tab“. Unsichtbare Ebenen sind ausgeblendet bzw. visibility: hidden, damit der Fokus nicht ins Leere springt."
  },
  "geprueft": "02.11.2026",
  "notiz": "Welt: Rezept musik-kuenstler-buehne. Erfundenes Elektronik-Duo Flutung aus Cottbus, Album „Ostsee ohne Meer“ (Sandow Schallplatten, SAN 014), Musikvideo „Pegel“ (Regie Ilka Pietsch), Live-Set „Ufersicherung“ aus dem erfundenen Lokschuppen Sandow; Ära-Farbe Ultramarin. Cover, Poster und Mix-Cover selbst erzeugt (Python/numpy, Dither auf 8-px-Raster-Takt): gefluteter Tagebau von oben, Förderbrücke mit Pegellatte, Rillen mit Wasserlinie. Der geladene Player ist eine ehrlich beschriftete Nachbildung per srcdoc („Simulierter Player · im Einsatz: open.spotify.com“), weil die Demo keine fremden Dienste laden darf; Abspielen ohne Ton. Pult: Variante, „Laden klappt/blockiert“ für den Fehlerzustand. Plattformnamen sind echt, weil das Muster genau diese Dienste betrifft; keine Logos. Höhen: nur Spotify 352 px am Beispielcode geprüft, die übrigen eigene Festlegung. Referenzen: npmjs.com (embetty), kogis.bremen.de, haendlerbund.de, tocotronic.de, ninjatune.net, kraftklub.to, developer.spotify.com, ignite.video. AD-Review-Nachbesserung: Ladeknopf der Video-Variante bricht unter 360 px um statt abgeschnitten zu werden; Pult startet in der Video-Variante eingeklappt, damit es das Standbild nicht verdeckt. AD-Review 02.11.2026: Note 5",
  "varianten": [
   {
    "id": "release",
    "name": "Release mit Trackliste",
    "wann": "Album oder Single einer Band, Musikerin oder eines Chors mit Player von Spotify, Apple Music oder Bandcamp.",
    "werte": {
     "hoehe": "352 / 450 / 470 px je Anbieter",
     "platzhalter": "Cover, Album · 9 Titel · 38 Min., Datenfluss, Knopf, Kästchen, Link",
     "daneben": "Titel, VÖ, Label, Kat.-Nr., Trackliste, Formate mit Preis, Plattform-Links"
    }
   },
   {
    "id": "video",
    "name": "Musikvideo",
    "wann": "Musikvideo, Live-Mitschnitt oder Visualizer auf YouTube oder Vimeo.",
    "werte": {
     "flaeche": "aspect-ratio 16 / 9, Poster selbst gehostet 1280 × 720",
     "platzhalter": "Tinte-Box unten links mit Label, Titel und Knopf; Telefon nur Knopf mittig",
     "zeile_darunter": "Datenfluss, Kästchen, „Direkt bei … ansehen“",
     "adressen": "youtube-nocookie.com/embed, Vimeo ?dnt=1, ohne autoplay"
    }
   },
   {
    "id": "mix",
    "name": "DJ-Set mit Tracklist",
    "wann": "DJ, Producer oder Label mit Mixen auf SoundCloud oder Mixcloud.",
    "werte": {
     "hoehe": "300 / 400 px je Anbieter",
     "tracklist": "<ol> mit <time> als Zeitmarke (3.6rem), Titel und Künstler:in",
     "hinweis": "Platzhalter-Satz zu Lizenzen fremder Titel"
    }
   }
  ]
 }
}
