Videostudio für Lehrende
Aufbau eines Self-Recording-Studios für Lehrende.
Grundideen
- Lehrende sollen ein Studio buchen können
- Das Studio MUSS vorher gebucht werden
- Es DARF KEINEN freien Zugang (ohne Buchung) geben
- Lehrende sollen einfach Aufzeichnungen machen können
- Lehrende MÜSSEN die Aufzaichnung selbst starten können
- Lehrende MÜSSEN die Aufzaichnung selbst stoppen können
- Es soll drei identische Studios geben
- Videosstreams werden gemischt aufgezeichnet und live zur Vorschau dargestellt
- Kameraaufzeichnung
- Bildschirmaufzeichnung
- Metadaten MÜSSEN vorher festgelegt werden
- Sie werden beim Buchen festlegen
- Damit wird die aufzeichnende Person festgelegt und dieser Person die Aufzeichnung zugeordnet
- Metadaten KÖNNEN später in Opencast aktualisiert werden
- Mehrere Aufzeichnungen in der gebuchten Zeit MÜSSEN möglich sein
Zeitplan
Einrichtung der Studios .
Buchung
Über Opencast planen
Jedes Studio registriert sich selbst als Capture Agent in Opencast. So können Aufzeichnungen für die jeweiligen Studios geplant werden.
Bucht ein Lehrender ein Studio, so werden folgende Schritte durchgeführt:
- Es wird in Opencast eine neue Aufzeichnung geplant
- Metadaten werden in Opencast mit eingegeben
- Die Aufzeichnung wird der Person zugeordnet

Aufzeichnungssteuerung
Lehrende sollen mit der Aufzeichnungshardware möglichst wenig interagieren:
- Buchungsdetails werden Angezeicht um zu verifizieren, dass es ihre Aufzeichnung ist
- Sie starten und stoppen Aufzeichnungen.
Aufzeichnung über Opencast
Folgendes beschreibt einen Ablauf einer Aufzeichnungsplanung via Opencast:
- Lehrender meldet sich bei der Studioverwaltung
- Aufzeichnung wird in Opencast geplant
- Startzeit vergeben
- Maximale Endzeit vergeben
- Metadaten (Titel, …) vergeben
- Studiosoftware holt sich die Liste geplanter Aufzeichnungen
- Angezeigt wird, wann die nächste Aufzeichnung stattfindet

- Zwischen Start- und Endzeit werden die Metadaten der Aufzeichnung angezeigt

- Der Lehrende betritt das Studio und überprüft die Metadaten
- Die folgenden Schritte können sich beliebig oft wiederholen bis die Endzeit erreicht ist
- D
- Es wird „Aufzeichnung läuft“ angezeigt
- Es wird an Opencast gemeldet, dass die Aufzeichnung des geplanten Events läuft (nur bei der ersten Aufzeichnung)
- Der Lehrende Stoppt die Aufzeichnung via Elgato Streamdeck
- Es wird wieder „Bereit für Aufzeichnung“ angezeigt
- Die Aufzeichnung wird automatisch zu Opencast hochgeladen
- Der erste Upload ist die geplante Aufzeichnung in Opencast
- Überschreibt die geplante Aufzeichnung
- Übernimmt alle Metadaten
- Folgende Uploads erzeugen neue Events
- Übernahme aller Metadaten
- Übernahme der Zugriffskontrolle
- Änderung des Titels durch Anhängen der Nummer der laufenden Aufzeichnung
new_title = titel + " " + i
Nutzung von pyCA
PyCA ist ein Opencast Capture Agent für automatisierte Aufzeichnungen. Die Software besteht aus mehreren Komponenten die für ein „pyCA Studio“ teils übernommen werden können, teils umgeschrieben werden müssen.
Übernommen werden können:
- Interaktion mit Opencast
- Registrieren als Capture Agent
- Download und Speicherung der Aufzeichnungsplanung
- Übernahme von Metadaten
- Upload von Aufzeichnungen
- Interaktion mit Aufzeichnungstools/-hardware
- Starten der Aufzeichnungskommandos
- Management Web-Interface
- Aufzeichnungsstatus
- Status von Planungen
- Status der Hardware
Fehlende Komponenten bzw. Erweiterungen
- Manuelles Starten von Aufzeichnungen (~8h)
- Aufzeichnung zur Startzeit freigeben
- Aufzeichnungsdauer auf Maximallänge setzen
- Auf Eingabe (Stream Deck) reagieren
- Technische Änderungen
- Freigabe von Events
- Zusätzliche Datenbankspalte für Freigabe
- Spalte
allowed-to-start
für Event
- Eingabe setzt Feld auf
true
- …oder neuer Eventstatus
- Event wird in Status
ready-to-record
überführt, wenn Startzeit erreicht ist
- Streamdeck (oder andere Eingabe) setzt Status auf
recording
- Kommando zum Starten der Aufzeichnung
- Manuelles Stoppen von Aufzeichnungen (~6h)
- Technische Anforderung
- Kommando zum Stoppen
- Endzeit auf jetzt setzen
- Direktes
sigterm
senden
- Duplizieren von Aufzeichnungen (~3h)
- Abändern von Titel/Identifier wenn schon aufgezeichnet wurde
- Web-Interface zur Statusanzeige (~8h)
- Ohne Authentifizierung
- Anzeige des aktuellen Status
- Anzeige der nächsten Planung
- Erweiterung des aktuellen Interfaces
- Getrennte Authentifizierung
- Steuerung von Web-API (4h)
- Kommunikation mit Aufzeichnungshardware via HTTP
- Alternative zu Unix Signals
- Anbindung von „Stream Deck“
- Bilder setzen
- Auf Tastendruck reagieren
- Kommandos absetzen
- Bugfixing/Testen/Integration (12h)
Aufzeichnung mit OBS Studio
Bei Bedarf genauer spezifizieren…
OBS Studio ist eine populäre Software zur Aufzeichnung von Videos. OBS lässt sich mit Stream Deck steuern. Eine experimentelle Integration zum Upload in Opencast existiert.
- OBS Funktionen inkl. Vorschau und Start-/Stoppfunktionen künnen genutzt werden
- Keine Freigabe von Aufzeichnungen
- Es kann unabhängig von Buchungen aufgezeichnet werden
- Beim Upload könnte Opencast abgefragt werden
- Metadaten abfragen und für Upload nutzen
- Metadatenanzeige existiert nicht
- Uploadanzeige existiert nicht
Aufzeichnungshardware
Wie wird der Videostream aufgezeichnet
Video4Linux
Videostreams, die per Video4Linux verfügbar sind können mit FFmpeg oder GStreamer aufgezeichnet und via pyCA kontrolliert werden.
Video4Linux-Treiber gibt es für einige PCIe-Karten und für alle USB-UVC Geräte:
Aufzeichnung mit Hardware
Manche Geräte wie die Epiphan Perl können via API gesteuert werden. Das könnte pyCA zur Aufzeichnung nutzen. Eventuell lohnt sich soetwas um einen Videomischer zu sparen?