Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:chaotikumwebsite:media

Einbinden von Videos und Erstellen von frab.xml

Dieser Eintrag ist Teil der Anleitung zur Chaotikum Website

Videos werden von uns erstellt und auf verschiedene Dienste hochgeladen. Metadaten zu erstellten Videos, oder sogar zu Talks oder Workshops, aus denen letztendlich doch kein Video geworden ist, hinterlegen wir aus verschiedenen Gründen als Markdown Datei im Ordner _media in unserer Website.

Daraus

  1. Wird unter https://chaotikum.org/media/ eine Übersicht aller von uns erzeugten Medien erstellt
  2. Unter https://chaotikum.org/media.xml ein Atom-RSS Feed erzeugt, über welchen sich Personen und Systeme über neue Video-Releases informieren lassen können
  3. Werden unter Blog-Posts zu Events Links zu in dem Event erzeugte Videos angezeigt (noch nicht umgesetzt)
  4. Wird für jedes erzeugte Video eine Seite erstellt, welche einen Überblick über die Orte gibt, an welchen man es sehen kann: Z.B. https://chaotikum.org/media/2022-05-18-10-jahre/
  5. Kann das Video als Widget in Blogposts oder Pages eingebunden werden (noch nicht umgesetzt)
  6. Wird ein frab-schedulle XML erzeugt

Media

Wie diese Dateien im _media Ordner üblicherweise erzeugt werden, ist im Detail im [hackspace:infrastruktur:videosetup:dataworkflow|Video-Workflow der Video Dokumentation] beschrieben (noch nicht, kommt aber), hier geht es nur darum, wie die Datei aufgebaut ist.

Die Datei sieht ca so aus:

---
layout: video
release_date:   2022-12-25 20:00:00 +0200
recording_date: 2022-11-12 20:00:00 +0200
duration: "45:00"
room: Audimax
title:  "Titel des Vortrags"
subtitle: "Ein Subtitle"
persons:
- "person 1"
- "person 2"
licence: CC-BY-NC#
language: de
optout: false
fahrplan_url: https://chaotikum.org/fahrplan-des-events
image: "https://video.chaotikum.net/image/bla.png"
#https://www.uuidgenerator.net/
uid: 8080f1f4-1f28-46ca-cf57-0578baa109c9
ticket_id: 1337
yt: "<youtube link>"
mccc: "<media.ccc.de link>"
archive: "<archibve.org link>"
file: "https://video.chaotikum.net/..."
event: 46370f56-bfc1-413e-b220-431eec727d47
conferences:
- conf
---
Beschreibung des Videos, wie sie nachher überall wo das Video hochgeladen wird stehen soll.

Felder

Pflichtfelder

  • layout: video Das muss so, damit jekyll weiß, wie das gerendert wird.
  • title der Titel des Videos
  • uid eine eindeutige UID. Das wird beim erstellen der Website auf dem Server geprüft, das diese eindeutig ist, sonst scheitert der build.

Optionale Felder

Hier wird insbesondere beschrieben, wie das frab.xml erstellt wird. Nicht alle Fallback-Mechanismen greifen zwangsläufig überall so.

  • release_date Hier kann ein Zeitpunkt angegeben werden. Wenn er angegebene wird, muss dies in der Form 2022-12-25 20:00:00 +0200 sein, inklusive dem Faktor am Ende, je nachdem ob Winter oder Sommerzeit ist. Videos ohne Release Date (oder bei denen das Datum in der Zukunft liegt) werden nicht in der Liste aller Median angelegt und tauchen nicht im ATOM-Feed auf. Sie werden jedoch in einem frab.xml angezeigt, da dieses benötigt wird, um das Video z.B. bei media.ccc.de hochzuladen.
  • recording_date Das Recording Date kann insbesondere weggelassen werden, wenn eine Event-UID angegeben ist (Feld event), da das Datum dann aus dem Event gezogen wird. Wird hier ein Datum angegeben, überschreibt dies das Feld aus dem Event.
  • duration Die Duration ist als String aus Stunden und Minuten in der Form „00:45“ anzugeben. Es kann grundsätzlich weggelassen werden. Insbesondere aber, wenn eine Event-UID angegeben ist (Feld event) so wird die Dauer aus dem Start und Enddatum des Events gezogen, welche dort Pflichtfelder sind.
  • room Der Raum kann weggelassen werden, wenn eine Event-UID angegeben ist (Feld event), da der Ort dann aus dem Event gezogen werden kann. Im Event ist die location eine Liste, es gewinnt der letzte Ort in der Liste. Ist weder in dieser Datei noch im Event eine Location, kann ggf noch auf eine Location in Conference zurückgegriffen werden. Ansonsten wird der Wert „Undisclosed Location“ gesetzt.
  • subtitle hier kann ein subtitle angegeben werden. Muss aber nicht.
  • persons die Möglichkeit eine Liste von Leuten anzugeben. Diese werden ggf auch in den Titel des Videos gesetzt (z.B. bei FreiTalk und SWK üblich).
  • licence wird hier ein Text angegeben, wird dieser anstelle des üblichen Lizenz-Textes genutzt. Sollte üblicherweise weggelassen werden.
  • fahrplan_url die hier angegebene URL wird als Fahrplan URL genutzt. Wird das Feld leer gelassen und ist eine Event-UID angegeben (Feld event), so wird nach einem Blogpost gesucht, welcher das Event mit der UID ankündigt und dieser genutzt.
  • ticket_id Für manche Systeme (hier insbesondere der c3VOC Tracker) ist eine eindeutige id nötig. Diese kann bereits hier angegeben werden. Sonst denket sich das System eine ID aus (9 stellig, beginnend mit dem Datum, dann ein wildes verfahren aus der uid, welches eindeutigkeit allerdings nicht wirklich garantieren kann)
  • image ein Thumbnail für das Video.
  • yt Der Youtube Link des Videos
  • mccc Der Link zur Veröffentlichung bei media.ccc.de
  • archive Der Link zur Veröffentlichung bei archive.org
  • file Link auf unserem ftp
  • conferences eine Liste, die sagt, im Rahmen welchen „Konferenzen“ (s.u.) das Video autauchen soll. Hier muss das acronym der Konferenz genutzt werden.
  • language wird nichts angegeben ist language „de“.
  • closedcaption url zu einer vtt datei mit untertiteln
  • cccomputergen gibt an, ob die closedcaption computergeneriert sind
  • slides url zu Slides des Vortrags
  • optout Macht üblicherweise keinen sinn. Kommt dann inst frab.xml. GGf wird das auch an anderen stellen berücksichtigt (?). Etwas unkalr, was es bedeuten soll, aber kann gesetzt werden. Default ist false.

Conferences

Conferences sind ebenfalls Markdown Dateien, sie stellen einen Kontext dar, in welchem Vorträge aufgezeichnet werden, man könne sie auch Playlists oder sonstwas nennen, aber in Anlehnung an die Begrifflichkeit im frab.xml heißen sie conference.

Sie sind eine Markdown Datei im ordener _conferences und sehen so aus:

---
layout: conference
title: Eine Konferenz
acronym: conf
ecki: true
name_before_title: true
base_url: https://chaotikum.org/conferences/conf/
---

Ein Text der bei allen Videos in dieser Conference der Beschreibung des Videos angehängt werden soll.

Felder

Pflichtfelder

  • layout: conference
  • title Jede Konferenz muss einen Titel haben
  • acronym Pflicht. Und muss eindeutig sein. Dies wird nicht technisch geprüft. Aber wenn es nicht eindeutig ist, wird das verhalten unberechenbar…
  • base_url Wo findet man die website der Veranstaltung?

Optionale Felder

  • ecki bei Manchen Veranstaltungen (5 Minuten termine, Softwerksmmer) schreiben wir gerne den Namen der Veranstaltung in eckigen Klammern hinter den Videotitel. Damit die Website weiß, dass sie das tun soll, kann man die Variable ecki setzen. Weglassen ist false.
  • name_before_title Bei manchen Veranstaltungen (FreiTalk, Softwerkammer,…) schreiben wir gerne den namen aller Speaker mit Doppelpunkt danach vor den Titel. Damit die Website weiß, dass sie das tun soll, kann man die Variable name_before_title setzen. Weglassen ist false.

Der Freitext wird an die Beschreibung jedes Videos angehängt, welches zu der Konferenz gehört, dies wird z.B. bei „5 Minuten Terminen“ genutzt. Sind es mehrere anzuhängende Texte geschieht dies in der Reihenfolge, in welcher diese in der Datei in _media angegeben sind.

Conferencefrab

Diese Datei dient dem jekyll als Flag, dass eine frab.xml für diese Conference zu erstellen ist.

Sie sieht so aus:

---
layout: [frab]
title: conf
---

Felder

Pflichtfelder

  • layout: [frab] muss so, inklusive der eckigen Klammern
  • title da muss das acronym der conference für die das frab.xml erstellt werden soll rein.

Wie entsteht die Frab XML

Das passiert in der Datei frab.xml mithilfe der Liquid-Templating Sprache und ist alles andere als Leicht zu lesen. Die Datei findet sich hier: https://git.chaotikum.org/chaotikum/website/-/blob/master/_layouts/frab.xml Die zu erstellende Datei soll dem Frab Schedulle XML entsprechen. Hierbei werden insbesondere Daten aus drei Dateien kombiniert:

- Den Meta Informationen zu einem Video in _media - Den Informationen zu einer Konferenz in _conference - Den Informationen zu einem Event in _event

Diese sind jeweils verknüpft. Ein Video gehört zu mehreren Konferenzen (acronym der Conference in der Liste conferences) und einem Event (uid des Events in event).

howto/chaotikumwebsite/media.txt · Zuletzt geändert: 12.12.2023 11:38 von Lukas Ruge