Zum Inhalt springen

Media - Konfiguration von Medienquellen

Die Media-Funktionalität von SwissMentor ermöglicht es, Videos und Audiodateien aus verschiedenen Quellen einzubinden. Dafür müssen die gewünschten Medienquellen aktiviert werden.

SwissMentor unterstützt verschiedene Medienquellen:

  • YouTube: Videos von YouTube einbinden
  • Vimeo: Videos von Vimeo einbinden
  • Microsoft Stream: Videos von Microsoft Stream oder SharePoint einbinden
  • Lokale Datei-Uploads: Video- und Audiodateien direkt hochladen (MP4, WebM, OGG, MP3, WAV, AAC)

Die Aktivierung der Medienquellen erfolgt über die Systemkonfiguration:

Navigation: Administration → Systemkonfiguration → Dokumentenverwaltung → Medien

Standard: ✅ Aktiviert

Erlaubt das Einbinden von YouTube-Videos als Medienquelle. Wenn aktiviert, können Benutzer beim Erstellen eines neuen Mediums YouTube-URLs eingeben.

Metadaten: Titel und Laufzeit werden automatisch über die oEmbed API geladen (ohne API Key).

Standard: ❌ Deaktiviert

Erlaubt das Einbinden von Vimeo-Videos als Medienquelle.

Metadaten: Für erweiterte Metadaten (Titel + Laufzeit) wird ein Vimeo API Access Token empfohlen (siehe unten).

Sichtbarkeit von Vimeo-Videos:

  • ✅ Öffentliche Videos: Funktionieren immer
  • ✅ Nicht-gelistete Videos (Unlisted): Funktionieren mit dem Link
  • ❌ Private Videos: Funktionieren nicht (erfordern Anmeldung bei Vimeo)

Standard: ❌ Deaktiviert

Erlaubt das Einbinden von Microsoft Stream-Videos (sowohl Classic als auch SharePoint-basiert).

Hinweis: Microsoft Stream hat keine öffentliche Metadaten-API. Titel und Laufzeit müssen manuell eingegeben werden.

Standard: ❌ Deaktiviert

Erlaubt das Hochladen von Video- und Audiodateien direkt vom Computer.

Unterstützte Formate (nur HTML5-native Wiedergabe):

  • Video: MP4, WebM, OGG
  • Audio: MP3 (MPEG), WAV, OGG, M4A/AAC

Speicherplatz

Lokale Datei-Uploads benötigen Speicherplatz und Bandbreite. Je nach Umgebung / SwissMentor Cload Angebot können zusätzliche Kosten anfallen.

Für automatisches Laden von Metadaten (Titel, Laufzeit) können API Keys konfiguriert werden:

Navigation: Administration → Systemkonfiguration → Dokumentenverwaltung → Medien

Feld: “Vimeo API Access Token” Typ: Passwort (wird nicht im Klartext angezeigt) Beschreibung: API Token für den Zugriff auf Vimeo-Video-Metadaten (öffentlich und privat)

Unterstützte Features mit API Token:

  • ✅ Automatischer Metadaten-Abruf für öffentliche Videos
  • ✅ Automatischer Metadaten-Abruf für eigene private Videos (mit “private” Scope)
  • ✅ Automatische Privacy-Hash-Extraktion für eigene private Videos
  • ✅ Playback-Tracking und Resume-Funktion für alle Videos
  • ✅ Unterstützung für unlisted Videos mit Privacy-Hash
  • 🔜 Video-Upload direkt aus SwissMentor (zukünftig, benötigt “upload” Scope)

Wie bekomme ich einen Vimeo API Token?

  1. Vimeo-Account bei vimeo.com erstellen/öffnen

  2. Zu developer.vimeo.com gehen

  3. Neue App erstellen unter “My Apps” → “New App”

  4. App-Details ausfüllen:

    • App Name: z.B. “SwissMentor Integration”
    • App Description: “Video-Integration für SwissMentor LMS”
    • App URL: Ihre SwissMentor-Instanz URL (z.B. https://ihre-schule.swissmentor.ch)
  5. Nach Erstellung der App:

    • Unter “Authentication” → “Personal Access Token”
    • Klicken Sie auf “Generate Access Token”
  6. Wichtig: Scopes/Berechtigungen auswählen:

    Mindest-Berechtigungen (empfohlen):

    • ✅ Public - Zugriff auf öffentliche Videos
    • ✅ Private - Wichtig! Zugriff auf eigene private Videos
    • ✅ Video Files - Zugriff auf Video-Dateien und Metadaten

    Optional (für zukünftige Features):

    • 🔜 Upload - Video-Upload aus SwissMentor (noch nicht implementiert)
    • 🔜 Edit - Video-Bearbeitung (noch nicht implementiert)
    • 🔜 Create - Video-Erstellung (noch nicht implementiert)
  7. Token generieren und sofort kopieren (wird nur einmal angezeigt!)

  8. Token in SwissMentor-Konfiguration eintragen

Sicherheitshinweis

Der Vimeo API Token hat Zugriff auf Ihre Vimeo-Videos:

  • Bei Scope “Private”: Zugriff auf alle Ihre privaten Videos
  • Bei Scope “Upload”: Kann Videos in Ihren Account hochladen
  • Bewahren Sie den Token sicher auf
  • Teilen Sie ihn niemals öffentlich
  • Dokumentieren Sie den Token an sicherer Stelle (z.B. Password Manager)

Feld: “YouTube API Key” Typ: Passwort (wird nicht im Klartext angezeigt) Beschreibung: API Key für den Zugriff auf YouTube-Video-Metadaten

Wie bekomme ich einen YouTube API Key?

  1. Google Cloud Console öffnen: console.cloud.google.com
  2. Neues Projekt erstellen oder bestehendes auswählen
  3. YouTube Data API v3 aktivieren:
    • “APIs & Dienste” → “Bibliothek”
    • Nach “YouTube Data API v3” suchen
    • API aktivieren
  4. API Credentials erstellen:
    • “APIs & Dienste” → “Credentials”
    • “Create Credentials” → “API key”
    • API Key wird erstellt und angezeigt
  5. API Key kopieren und sicher speichern

Sicherheitshinweis

YouTube API Keys können missbraucht werden. Beschränken Sie die Nutzung durch entsprechende Quota-Limits in der Google Cloud Console.

PlattformAktivierung nötigOhne API KeyMit API Key
YouTube✅ (Standard an)Titel über oEmbedTitel über oEmbed (API Key optional für Erweiterungen)
Vimeo❌ (Standard aus)Titel über oEmbedTitel + Laufzeit über Vimeo API
Microsoft Stream❌ (Standard aus)Nur Basis-InfoNicht verfügbar (keine öffentliche API)
Lokale Dateien❌ (Standard aus)--

Nach dem Aktivieren der Medienquellen und Speichern der API Keys können Sie die Funktionalität testen:

  1. Stellen Sie sicher, dass die gewünschte Medienquelle aktiviert ist
  2. Dokumente → Medien → Neues Medium erstellen
  3. Die aktivierten Medienquellen werden als Tabs angezeigt
  4. Eine Vimeo- oder YouTube-URL eingeben
  5. Überprüfen, ob Titel und Laufzeit automatisch ausgefüllt werden

Öffentliche Videos:

  • Vimeo: https://vimeo.com/76979871 (Beispielvideo)
  • YouTube: https://www.youtube.com/watch?v=dQw4w9WgXcQ (Beispielvideo)

Private Videos testen (nur Vimeo):

  1. Laden Sie ein Testvideo auf Vimeo hoch und setzen Sie es auf “Private”
  2. Kopieren Sie die Video-URL
  3. Fügen Sie die URL in SwissMentor ein
  4. Erwartetes Ergebnis mit “private” Scope:
    • ✅ Erfolgsmeldung: “Privates Video erfolgreich geladen (eigener Account)”
    • ✅ Titel und Laufzeit werden automatisch ausgefüllt
  5. Erwartetes Ergebnis OHNE “private” Scope:
    • ⚠️ Info: “Privates Video (anderer Account)”
    • ⚠️ Titel muss manuell eingegeben werden

“Privates Video erkannt (anderer Account)” trotz eigenem Video:

  • ✅ Lösung: Token hat keinen “private” Scope
  • Generieren Sie einen neuen Token mit “Private” Berechtigung
  • Ersetzen Sie den alten Token in der Konfiguration

“Vimeo API nicht konfiguriert”:

  • Token wurde nicht gespeichert oder ist ungültig
  • Überprüfen Sie, ob der Token korrekt kopiert wurde (keine Leerzeichen)
  • Token könnte abgelaufen oder widerrufen sein - generieren Sie einen neuen

Rate Limit Fehler (“Too Many Requests”):

  • Vimeo API hat ein Rate Limit (kostenlose API: ~3000 requests/Stunde)
  • SwissMentor cached Metadaten für 5 Minuten
  • Warten Sie kurz und versuchen Sie es erneut
  1. Korrekte Scopes: Aktivieren Sie “private” Scope für Vimeo, wenn Sie private Videos nutzen
  2. Regelmäßige Rotation: API Keys alle 6-12 Monate erneuern
  3. Minimale Berechtigungen: Nur notwendige API-Berechtigungen vergeben (aber mindestens “private” für Vimeo)
  4. Monitoring: API-Nutzung in den jeweiligen Developer Consoles überwachen
  5. Backup: API Keys an sicherer Stelle dokumentieren (Password Manager)
  6. Testen: Nach Token-Erneuerung immer testen (öffentlich UND privat)

Vimeo API Limits:

  • Kostenlose API: ~3000 Requests/Stunde
  • Fair Use Policy gilt
  • SwissMentor cached Metadaten für 5 Minuten (reduziert API-Aufrufe)
  • Bei Überschreitung: Kurze Wartezeit (Rate Limit Error)

YouTube API Limits:

  • Kostenlose API: 10.000 Requests/Tag
  • 1 Video-Info-Abruf = 1 Unit (sehr sparsam)
  • Bei Überschreitung: Funktioniert erst am nächsten Tag wieder

Empfehlung: SwissMentor’s Caching-Mechanismus (5 Minuten) reduziert die API-Aufrufe erheblich. Rate Limits sollten im normalen Betrieb nicht erreicht werden.