Video-Modul

Online-Kurse, Video-Upload, Pakete und Zugriffsverwaltung

Video Online-Kurs Portal Streaming Upload Paket

Video-Modul

Das Video-Modul ermoeglicht den Verkauf von Online-Kursen und Video-on-Demand. Kunden erhalten nach dem Kauf automatisch Zugang zu den gebuchten Videos.

Uebersicht

Feature Beschreibung
Video-Kurse Einzelne Online-Kurse mit Videos
Video-Pakete Mehrere Kurse im Bundle mit Rabatt
Upload Drag & Drop Upload mit Fortschrittsanzeige
Streaming HLS-Streaming ueber Video-Service
Zugriffskontrolle Zeitlich begrenzter oder unbegrenzter Zugang
Portal-Integration Kunden sehen Videos im Customer Portal

Produktarten fuer Videos

Typ Code Beschreibung Buchungsart
E videokurs Video-Kurs (einzeln) Direktbuchung
F videopaket Video-Paket (Bundle) Direktbuchung

Video-Kurs anlegen

Schritt 1: Neuen Kurs erstellen

  1. Kurse > Neu hinzufuegen
  2. Titel eingeben (z.B. "Longieren Grundkurs")
  3. Produktart auf "E - Video-Kurs" setzen

Schritt 2: Kurs-Details eintragen

Feld Beschreibung Beispiel
Preis Verkaufspreis 49,00 EUR
Beschreibung Kursinhalt (Editor) Lernziele, Inhalte
Beitragsbild Vorschaubild 16:9 Format empfohlen

Schritt 3: Videos zuordnen

Im Bereich "Zugeordnete Videos":

  1. Video auswaehlen aus Dropdown
  2. "Video hinzufuegen" klicken
  3. Mehrere Videos moeglich (Reihenfolge per Drag & Drop)
┌─────────────────────────────────────────────────────────┐
│ Zugeordnete Videos                                      │
├─────────────────────────────────────────────────────────┤
│ ┌─────┬──────────────────────────────────────┬────────┐ │
│ │ ▣   │ Lektion 1: Grundlagen               │ Bereit │ │
│ │ ▣   │ Lektion 2: Position                 │ Bereit │ │
│ │ ▣   │ Lektion 3: Longe anlegen            │ Bereit │ │
│ └─────┴──────────────────────────────────────┴────────┘ │
│                                                         │
│ [ Video auswaehlen ▼ ] [ + Video hinzufuegen ]         │
└─────────────────────────────────────────────────────────┘

Schritt 4: Zugangsdauer festlegen

Option Beschreibung
0 Monate Unbegrenzter Zugang
3 Monate Zugang fuer 3 Monate ab Kauf
6 Monate Zugang fuer 6 Monate ab Kauf
12 Monate Zugang fuer 12 Monate ab Kauf

Videos verwalten

Video-Liste

Kurse > Video-Liste

Zeigt alle hochgeladenen Videos mit:

Spalte Beschreibung
Thumbnail Vorschaubild
Titel Video-Titel
Status Entwurf / Hochladen / Verarbeitung / Bereit / Fehler
Dauer Video-Laenge (HH:MM:SS)
Verwendet in Anzahl Kurse die dieses Video nutzen

Video-Status

Status Beschreibung Icon
Entwurf Video angelegt, noch nicht hochgeladen ✏️
Hochladen Upload laeuft ⬆️
Verarbeitung Video wird konvertiert (HLS) 🔄
Bereit Video kann abgespielt werden
Fehler Problem beim Upload/Konvertierung ⚠️

Neues Video hochladen

Kurse > Video hochladen

┌─────────────────────────────────────────────────────────┐
│            ☁️                                           │
│                                                         │
│        Video hierher ziehen                             │
│        oder klicken zum Auswaehlen                      │
│                                                         │
│        MP4, MOV, AVI, MKV (max. 2GB)                   │
└─────────────────────────────────────────────────────────┘

Unterstuetzte Formate:

Format Dateierweiterung MIME-Type
MPEG-4 .mp4 video/mp4
QuickTime .mov video/quicktime
AVI .avi video/x-msvideo
Matroska .mkv video/x-matroska

Upload-Optionen:

Option Beschreibung
Kurs zuordnen Optional direkt einem Kurs zuweisen
Video-Titel Automatisch aus Dateiname oder manuell

Video bearbeiten

Klick auf Video in der Video-Liste oeffnet den Editor:

Feld Beschreibung
Titel Angezeigter Name
Status Aktueller Verarbeitungsstatus
Externe ID ID im Video-Service
Stream-URL HLS Master-Playlist URL
Thumbnail-URL Vorschaubild URL
Dauer (Sekunden) Video-Laenge in Sekunden

Verwendung anzeigen:

Die Sidebar zeigt welche Kurse dieses Video nutzen:

┌─────────────────────────┐
│ Verwendet in Kursen     │
├─────────────────────────┤
│ • Longieren Grundkurs   │
│ • Longieren Aufbaukurs  │
├─────────────────────────┤
│ Verwendet in 2 Kursen   │
└─────────────────────────┘

Video-Pakete (Bundles)

Video-Pakete buendeln mehrere Video-Kurse zu einem reduzierten Preis.

Paket erstellen

Kurse > Video-Pakete > Neues Paket

  1. Titel eingeben (z.B. "Longier-Komplett-Paket")
  2. Enthaltene Video-Kurse auswaehlen (Checkboxen)
  3. Preis & Zugang festlegen

Enthaltene Kurse auswaehlen

┌─────────────────────────────────────────────────────────┐
│ Enthaltene Video-Kurse                                  │
├─────────────────────────────────────────────────────────┤
│ ☑ [Thumb] Longieren Grundkurs        3 Videos  49,00 € │
│ ☑ [Thumb] Longieren Aufbaukurs       5 Videos  69,00 € │
│ ☐ [Thumb] Reiten mit Balance         4 Videos  59,00 € │
├─────────────────────────────────────────────────────────┤
│   2 Kurse         8 Videos         1:45:30 Gesamtdauer │
└─────────────────────────────────────────────────────────┘

Preisgestaltung

Feld Beschreibung Beispiel
Regulaerer Preis Summe der Einzelpreise (auto-berechnet) 118,00 EUR
Paket-Preis Rabattierter Bundle-Preis 89,00 EUR
Zugang (Tage) 0 = unbegrenzt 365
Kurzbeschreibung Fuer Uebersicht "Alle Longier-Kurse"

Ersparnis-Anzeige:

┌─────────────────────────┐
│ 🏷️ 25% Ersparnis        │
│ gegenueber Einzelkauf!  │
└─────────────────────────┘

Paket-Shortcodes

Alle Pakete anzeigen:

[video_pakete columns="2" limit="6"]
Parameter Beschreibung Standard
columns Spaltenanzahl (1-4) 2
limit Max. Anzahl 12

Einzelnes Paket anzeigen:

[video_paket id="123"]

Video-Service Konfiguration

Einstellungen

Kurse > Einstellungen > Video

Einstellung Beschreibung
API-URL URL des Video-Service (intern)
API-Key Authentifizierungsschluessel
Oeffentliche URL Browser-zugaengliche URL fuer Streaming

Verbindung testen

Klick auf "Verbindung testen" prueft:

  • Video-Service erreichbar
  • API-Key gueltig
  • FFmpeg verfuegbar
  • Redis verbunden
┌─────────────────────────────────────────┐
│ ✅ Video-Service Status: healthy        │
├─────────────────────────────────────────┤
│ Version: 1.2.0                          │
│ Redis: ✅ Verbunden                     │
│ FFmpeg: ✅ Verfuegbar                   │
└─────────────────────────────────────────┘

Zugriffskontrolle

Automatische Freischaltung

Nach bestaetiger Buchung eines Video-Kurses:

  1. Video-Zugang wird automatisch aktiviert
  2. Zugangs-E-Mail wird gesendet
  3. Buchung erhaelt Video-Zugangs-Token

Zugriffspruefung

Das System prueft bei jedem Video-Aufruf:

  1. Direkte Buchung - Hat Kunde den Video-Kurs gebucht?
  2. Bundle-Zugang - Hat Kunde ein Paket mit diesem Kurs gebucht?
  3. Ablaufdatum - Ist der Zugang noch gueltig?

Zugang widerrufen

Bei Stornierung einer Buchung:

  • Video-Zugang wird automatisch deaktiviert
  • Revoke-Datum wird gespeichert
  • Kunde kann Videos nicht mehr ansehen

E-Mail nach Video-Kauf

Nach Kauf eines Video-Kurses erhaelt der Kunde eine spezielle E-Mail:

┌─────────────────────────────────────────────────────────┐
│ 🎬 Ihr Video-Kurs ist bereit!                          │
├─────────────────────────────────────────────────────────┤
│                                                         │
│ Hallo Max Mustermann,                                   │
│                                                         │
│ vielen Dank fuer Ihren Kauf! Ihr Video-Kurs steht      │
│ ab sofort fuer Sie bereit.                              │
│                                                         │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Longieren Grundkurs                                 │ │
│ │ Buchungsnummer: BK-2026-0042                        │ │
│ │ Zugang gueltig: Unbegrenzter Zugang                 │ │
│ │ Gesamtpreis: 49,00 EUR                              │ │
│ └─────────────────────────────────────────────────────┘ │
│                                                         │
│        [ 🎬 Jetzt Videos ansehen ]                      │
│                                                         │
│ ℹ️ Dieser Link ist persoenlich und sollte nicht         │
│ weitergegeben werden.                                   │
│                                                         │
│ ⚠️ Bei digitalen Produkten erlischt das                │
│ Widerrufsrecht mit Beginn der Ausfuehrung.              │
│                                                         │
└─────────────────────────────────────────────────────────┘

E-Mail-Platzhalter

Platzhalter Beschreibung
{video_url} Link zur Video-Zugangsseite
{video_access_days} Zugangsdauer in Tagen
{kurs_title} Name des Video-Kurses

Portal-Integration

Kunden sehen ihre Video-Kurse im Customer Portal:

Meine Videos

┌─────────────────────────────────────────────────────────┐
│ 🎬 Meine Video-Kurse                                   │
├─────────────────────────────────────────────────────────┤
│                                                         │
│ ┌───────────────────────────────────────────────────┐   │
│ │ [Thumbnail]  Longieren Grundkurs                  │   │
│ │              3 Videos | 45:30 Gesamtdauer         │   │
│ │              Zugang: Unbegrenzt                   │   │
│ │                            [ ▶ Videos ansehen ]   │   │
│ └───────────────────────────────────────────────────┘   │
│                                                         │
│ ┌───────────────────────────────────────────────────┐   │
│ │ [Thumbnail]  Longier-Komplett-Paket               │   │
│ │              8 Videos | 1:45:30 Gesamtdauer       │   │
│ │              Zugang bis: 15.01.2027               │   │
│ │                            [ ▶ Videos ansehen ]   │   │
│ └───────────────────────────────────────────────────┘   │
│                                                         │
└─────────────────────────────────────────────────────────┘

Video-Player

Der eingebettete Player zeigt:

  • HLS-Stream (adaptives Streaming)
  • Fortschritt wird gespeichert
  • Vollbild-Modus verfuegbar
  • Kapitelmarken (wenn vorhanden)

Shortcodes

Video-Player einbetten

[kurs_video_player video_id="123"]
Parameter Beschreibung Pflicht
video_id WordPress Video-Post ID Ja
autoplay Automatisch starten (0/1) Nein
controls Player-Steuerung anzeigen (0/1) Nein

Video-Zugangsseite

[kurs_video_access]

Zeigt die Zugangsseite fuer Video-Kurse (Login erforderlich).


Troubleshooting

Video laesst sich nicht abspielen

Moegliche Ursachen:

Problem Loesung
Status nicht "Bereit" Warten bis Verarbeitung abgeschlossen
Stream-URL fehlt Video-Service Verbindung pruefen
Token abgelaufen Seite neu laden (neuer Token)
Kein Zugang Buchungsstatus pruefen

Upload schlaegt fehl

Moegliche Ursachen:

Problem Loesung
Datei zu gross Max. 2GB pro Video
Falsches Format Nur MP4, MOV, AVI, MKV
Verbindungsabbruch Stabile Internetverbindung nutzen
Server-Fehler Video-Service Logs pruefen

Video-Service nicht erreichbar

  1. API-URL pruefen - Korrekte URL in Einstellungen?
  2. API-Key pruefen - Gueltig und nicht abgelaufen?
  3. Docker-Container - Video-Service Container laeuft?
  4. Firewall - Port freigegeben?
# Container-Status pruefen
docker ps | grep video

# Logs anzeigen
docker logs video_api --tail 50

Kein Thumbnail angezeigt

Moegliche Ursachen:

Problem Loesung
Video noch in Verarbeitung Warten bis Status "Bereit"
URL falsch Oeffentliche URL in Einstellungen pruefen
CORS-Fehler Video-Service CORS-Header pruefen

Best Practices

Video-Qualitaet

Empfehlung Wert
Aufloesung 1920x1080 (Full HD)
Framerate 25 oder 30 fps
Bitrate 5-8 Mbit/s
Codec H.264 / H.265
Audio AAC, 128-192 kbit/s

Kurse strukturieren

  1. Kurze Lektionen - Max. 10-15 Minuten pro Video
  2. Logische Reihenfolge - Aufbauend strukturieren
  3. Aussagekraeftige Titel - "Lektion 1: Grundlagen" statt "Video1"
  4. Thumbnails - Individuelle Vorschaubilder hochladen

Pakete schnueren

  1. Thematisch passend - Kurse die zusammengehoeren
  2. Attraktiver Rabatt - Mind. 15-20% gegenueber Einzelkauf
  3. Sinnvolle Zugangsdauer - Genug Zeit zum Durcharbeiten
  4. Klare Beschreibung - Was ist enthalten?

Technische Details

Post Types

Post Type Beschreibung
kurs-video Einzelnes Video
video-paket Video-Bundle

Meta-Keys (Video)

Key Beschreibung
_video_external_id ID im Video-Service
_video_status Status (draft/uploading/processing/ready/error)
_video_duration Dauer in Sekunden
_video_stream_url HLS Master-Playlist URL
_video_thumbnail_url Vorschaubild URL

Meta-Keys (Kurs)

Key Beschreibung
_kurs_video_ids JSON-Array der zugeordneten Video-IDs
_video_access_duration Zugangsdauer in Monaten (0 = unbegrenzt)

Meta-Keys (Paket)

Key Beschreibung
_paket_video_kurs_ids JSON-Array der enthaltenen Kurs-IDs
_paket_price Bundle-Preis
_paket_regular_price Summe Einzelpreise
_paket_access_days Zugangsdauer in Tagen

Siehe auch