Installationsanleitung Videoserver1

Damit mithilfe der Portlets selbstproduzierte Videos hochgeladen werden können, muss zunächst der Videoserver aufgesetzt werden. Hierzu müssen folgende Systemvorraussetzungen erfüllt werden:
  •  UNIX artiges Betriebssystem (z.B. Linux)
  •  Liferay Portal 6
  •  Apache 2 HTTP Server
  •  Python 2 (Python 3 wird nicht unterstützt)

Installation der Pythonskripte

Die Skripte, die sich in /trunk/videoserver/ befinden, müssen in das Verzeichnis /usr/local/http/wsgi-scripts/videoserver gespeichert werden.
Der Nutzer, mit dessen Rechten der HTTP Server läuft, muss lesend auf die Skripte zugreifen können.

Konfigurationsdatei video_config.py

In der Datei video_confi g.py kann der Server konfi guriert werden. Hier müssen im Feld "PORTAL SERVERS" die IP-Adressen der Liferay-Portalserver angegeben werden, mit denen dieser Videoserver zusammenarbeiten soll. Die anderen Einstellungen können in der Regel auf den Vorgabewerten belassen werden.

Konfi guration des Apache HTTP Servers

Im Wurzelverzeichnis des Apache Servers muss ein Unterverzeichnis video,ein Unterverzeichnis video/orig und ein Unterverzeichnis video/orig/transcoding angelegt werden. In beiden Verzeichnis müssen sowohl der Nutzer, unter dem der HTTP Server ausgeführt wird, als auch der Nutzer, unter dem der Video-Transcoder (s.u.) ausgeführt wird, Schreibrechte besitzen.

 chgrp www-data /var/run/transcode_daemon
 chmod g+w /var/run/transcode_daemon

Damit der Apache Server die gerade installierten Skripte nutzen kann, muss zunächst die Apache Erweiterung mod_wsgi installiert werden.

mod_wsgi

Viele Distributionen bieten mod_wsgi als Paket an. Sollte kein passendes Paket vorhanden sein, kann mod_wsgi nach diesen Anweisungen installiert werden.
Die folgenden Zeilen müssen der Kon figuration des Apache Servers hinzugefügt werden. Die Pfadangaben müssen natürlich ggf. den tatsächlichen Gegebenheiten angepasst werden:

  AddType video/mp4 .mp4
  AddType video/webm .webm
  LoadModule wsgi_module mod_wsgi
  <IfModule wsgi_module>
    WSGIScriptAlias /upload-video /usr/local/http/videoserver/wsgi-scripts/video_uploader.py
    WSGIScriptAlias /delete-video /usr/local/http/videoserver/wsgi-scripts/video_deleter.py
  </IfModule>
  <Directory /var/www/video>
    WSGIAccessScript /usr/local/http/wsgi-scripts/videoserver/video_authorizator.py
  </Directory>
  <Directory /usr/local/http/wsgi-scripts/videoserver>
   Order allow,deny
   Allow from all
  </Directory>
Anschließend muss der Apache Server neu gestartet werden um die Änderung der Konfi guration zu übernehmen.

Installation von ff mpeg

Der Videotranscoder benötigt das Programm ff mpeg in einer Version, die für die Nutzung von libvpx und libvorbis für das Enkodieren von WebM Videos- und libx264 und libfaac für das Enkodieren von mp4-Videos kompiliert wurde. Aufgrund von Lizenzproblemen liefern viele Distributionen ffmpeg ohne Unterstützung von libx264 und libfaac aus. Sollte dies der Fall sein, so müssen ffmpeg, libx264 und libfaac neu kompiliert und installiert werden. Eine ausführliche Anleitung für Ubuntu Linux findet sich hier, diese kann auch als Einstieg für andere Distributionen nützlich sein. Man beachte, dass das beim Kompilieren des Quellcodes von ffmpeg mindestens die Optionen

 --enable-libx264 --enable-libfaac --enable-libvpx --enable-libvorbis
gesetzt sein müssen.

Zum Schluss muss noch der Transcode daemon gestartet werden:

 python /usr/local/http/wsgi/videoserver/transcode_daemon.py start

Installation im Liferay-Portal

Zur Installation der Portlets muss lediglich die Datei video-portlet.war in Liferay deployed werden. Sobald dies geschehen ist, findet man auf der Webseite der Liferay-Installation im Portletmenü die Portlets unter dem Punkt "Video".

Portlet: Video Uploader

Das Portlet "Video Uploader" dient zum Einstellen neuer Videos. Es können damit sowohl YouTube-Videos verlinkt, als auch eigene Videos auf den Videoserver geladen werden. Zusätzlich können ein Titel und eine Beschreibung (bei YouTube-Videos automatisch ausgelesen), sowie Tags eingegeben werden. Darüber hinaus können direkt Default-Berechtigungen für die Guest oder Community-Gruppe vergeben werden.

Portlet: "Video Center"

Das Portlet "Video Center" dient zum Durchsuchen der Kollektion und Abspielen der Videos. Es kann zusätzlich auch nach Videos in der Sammlung gesucht werden. Nach einem Klick auf das Vorschaubild oder den Titel, wird das Video in einer Einzelansicht aufgerufen. In dieser sind Ratings und Kommentare sichtbar, es können Tags verwaltet und Berechtigungen gesetzt werden.

Übersicht Video Center Portlet

Übersicht Video Center Portlet

Konfiguration Video Center Portlet

Konfiguration Video Center Portlet

Einzelansicht Video Center Portlet

Einzelansicht Video Center Portlet

Portlet: Video Display

Das Portlet "Video Display" dient zum Anzeigen eines vorher selektierten einzelnen Videos. Dafür kann in der Konfiguration des Portlets ein Video aus den verfügbaren ausgewählt werden. Zusätzlich lassen sich dort noch einige Anzeigeoptionen (Kommentare, Ratings, Tags, etc.) einstellen.

Übersicht Video Display Portlet

Übersicht Video Display Portlet

Konfiguration Video Display Portlet

Konfiguration Video Display Portlet

Portlet: "Video Umgebung"

Die "Video Umgebung" ist ein Visualisierungsportlet, welches die tag-basierte Vernetzung der Videos untereinander zeigt. Es hat nur dann eine sinnvolle Funktion, wenn es auf einer Seite platziert wird, auf der sich auch eine Instanz des "Video Center" Portlets be findet. Es ist wichtig darauf zu achten, dass dieses Portlet nach dem Video Center Portlet gerendert wird.

Um eigene Videos auf einen Videoserver hochzuladen, muss die komplette URL dieses Servers, mit vorangestelltem Protokoll, in der Form http://videoserver.de im Kon figurationscenter von Liferay angegeben werden. Man beachte, dass auch wenn Videoserver und Portalserver auf der selben physikalischen Maschine ausgeführt werden, eine von außen erreichbare URL angegeben werden muss und keinesfalls "localhost". Der Eingabedialog be findet sich im Konfigurationscenter unter dem Menüpunkt "Video Administration".

1 in enger Anlehung an die Diploarbeit von Gunnar Meyer