Es muss nicht immer Youtube sein: Über die in Python geschriebene Webanwendung MediaGoblin stellen Sie Bilder, Töne und Videos selbst im Inter- und Intranet bereit.
Wollten Sie schon immer Ihr eigenes Youtube aufsetzen und betreiben? Die selbst ernannte “Media Publishing Platform” MediaGoblin [1] bietet Ihnen genau dazu die Gelegenheit. Nach der Installation auf Ihrem Server laden Sie bequem über einen Browser Videos, Audiomaterial oder Fotos hoch und garnieren das Ganze noch mit ein paar Schlagwörtern und Beschreibungen. Alle Intra- oder Internetnutzer dürfen dann die Videos, Musikstücke und Fotos nicht nur ansehen, abspielen und herunterladen, sondern auch kommentieren. MediaGoblin eignet sich daher nicht nur für Familienalben, sondern richtet sich auch an Firmen, die beispielsweise im Intranet Produktvideos verteilen möchten.
MediaGoblin steht unter der GNU AGPLv3 und ist sogar Teil des GNU-Projekts. Ihre Praxistauglichkeit beweist die Media-Publishing-Plattform unter anderem auf den Seiten der LibrePlanet-Conference [2]. MediaGoblin bietet derzeit allerdings noch keine ausgefeilte Benutzerverwaltung; jeder x-beliebige Besucher darf sämtliche Bilder, Videos und Audiodateien ansehen, abspielen und herunterladen. Lediglich das Hochladen und Kommentieren der Medien bleibt registrierten Benutzern vorbehalten.
Zäh fließende Entwicklung
MediaGoblin existiert bereits seit dem Frühjahr 2011. Um die Arbeit etwas zu beschleunigen, riefen die Entwickler im Oktober 2012 eine Spendenkampagne ins Leben. Mit dem dabei eingesammelten Geld sollte Hauptentwickler Chris Webber ein Jahr lang in Vollzeit an MediaGoblin arbeiten können. Dennoch verlief die Weiterentwicklung äußerst zäh. Im März 2014 brachte eine zweite Spendenkampagne über 65?000 Dollar ein. Mit diesem Geld wollte das Projekt endlich die Version 1.0 fertigstellen. Doch auch dieses Vorhaben zieht sich wie Kaugummi: Zuletzt veröffentlichten die Entwickler im September 2014 die Version 0.7.1. Ihr fehlen noch zahlreiche, für die Version 1.0 geplante Funktionen. Dazu gehören eine Unterstützung für Podcasts sowie eine Verknüpfungsmöglichkeit von mehreren MediaGoblin-Installationen (die sogenannte Federation-Funktion). Wie die rege Aktivität auf Gitorious beweist, geht die Entwicklung jedoch nach wie vor weiter – wenn auch nur in kleinen Schritten [3].
Komplexer Einspieler
Um MediaGoblin in Betrieb zu nehmen, benötigen Sie eine Python-Umgebung in der Version 2.7. Zusätzlich verlangt MediaGoblin die Python Imagine Library (kurz: PIL), das Python-Modul Python-lxml, das Werkzeug Virtualenv und die Versionsverwaltung Git. Die später von Benutzern eingegebenen Stichworte, Beschreibungen und Kommentare wandern wahlweise in eine SQLite- oder PostgreSQL-Datenbank. Abschließend benötigen Sie noch einen Webserver, der Python-Anwendungen über die FastCGI-Schnittstelle startet.
Aufgrund der genannten Anforderungen lässt sich MediaGoblin nicht einfach auf handelsüblichen Webhosting-Angeboten betreiben. Sie müssen folglich zu einem Root-Server greifen und diesen selbst einrichten beziehungsweise warten. Für Testzwecke und erste Gehversuche bringt MediaGoblin einen eigenen Webserver mit. Dadurch reduziert sich die Inbetriebnahme auf wenige Kommandozeilenbefehle.
Zunächst installieren Sie alle benötigten Werkzeuge. Python 2.7 bringen die meisten Distributionen von Haus aus mit. Eine Datenbank müssen Sie nicht installieren, MediaGoblin nutzt dann automatisch SQLite. Die restlichen Komponenten holt unter Ubuntu der Befehl aus der ersten Zeile von Listing 1 hinzu.
Laden Sie anschließend das Archiv mit der aktuellen MediaGoblin-Version [4] herunter. Zu Redaktionsschluss war dies mediagoblin-0.7.1.tar.gz. Dann entpacken Sie das Archiv in Ihrem Heimatverzeichnis und wechseln Sie in den dabei neu entstandenen Ordner (Listing 1, zweite und dritte Zeile).
Listing 1
$ sudo apt-get install git-core python python-dev python-lxml python-imaging python-virtualenv $ tar xvfz mediagoblin-0.7.1.tar.gz -C ~ $ cd ~/mediagoblin-0.7.1
Die MediaGoblin-Entwickler empfehlen, immer die jeweils aktuelle Entwicklerversion herunterzuladen und zu nutzen. Allerdings kann diese Version noch unbekannte Fehler enthalten. Möchten Sie sie dennoch ausprobieren, richten Sie zunächst die Autoconf-Tools ein, wozu unter Ubuntu 14.10 die Installation des Pakets autoconf2.13 genügt. Anschließend holen Sie MediaGoblin mit den Befehlen aus Listing 2 auf die Festplatte.
Listing 2
$ git clone git://gitorious.org/mediagoblin/mediagoblin.git $ cd mediagoblin $ git submodule init && git submodule update $ ./bootstrap.sh $ ./configure
In jedem Fall müssen Sie als Nächstes mit dem Befehlsungetüm aus der ersten Zeile von Listing 3 eine virtuelle Umgebung einrichten. Anschließend lassen Sie die von MediaGoblin benötigten Datenbanktabellen erstellen (Listing 3, zweite Zeile). Das dabei hilfreiche Werkzeug Gmg übernimmt im späteren Verlauf noch weitere Verwaltungsaufgaben.
Listing 3
$ (virtualenv --python=python2 --system-site-packages . || virtualenv --python=python2 .) && ./bin/python setup.py develop $ ./bin/gmg dbupdate
Jetzt können Sie endlich MediaGoblin via ./lazyserver.sh anwerfen. Dabei startet im Hintergrund der Webserver Python Paste [5]. In der aktuellen Entwicklerversion kommt hingegen der WSGI-HTTP-Server Gunicorn zum Einsatz [6]. Nachdem einer der beiden Webserver läuft, erreichen Sie via Browser unter der Adresse http://localhost:6543 die Benutzeroberfläche von MediaGoblin (Abbildung 1).

Abbildung 1: Die Benutzeroberfläche von MediaGoblin begrüßt den Anwender in Schwarz und einer Mischung aus Deutsch und Englisch.
Profilbildung
Erstellen Sie nun via Create an account at this site ein neues Benutzerkonto. Nachdem Sie das Formular ausgefüllt und auf Registrieren geklickt haben, schickt Ihnen MediaGoblin eine E-Mail mit einem Aktivierungslink. Das soll verhindern, dass Spam-Programme automatisch beliebig viele Konten erstellen. In einer Testinstallation dürfte die E-Mail jedoch gar nicht erst den Computer verlassen. Dank des standardmäßig aktiven Debug-Modus erscheint jedoch auch auf der Kommandozeile der komplette E-Mail-Inhalt samt Aktivierungslink (Abbildung 2). Dessen Adresse müssen Sie lediglich in Ihrem Browser aufrufen.

Abbildung 2: Den Aktivierungslink muss man in den Ausgaben etwas suchen: Hier steht er in der Mitte des Terminalfensters.
Direkt nach der Installation von MediaGoblin darf jeder x-beliebige Besucher ein neues Benutzerkonto anlegen und dann nach Lust und Laune eigene Medien hochladen. Um das zu blockieren, öffnen Sie im MediaGoblin-Verzeichnis die Datei mediagoblin.ini mit einem Texteditor und ändern die Zeile allow_registration = true auf allow_registration = false. Speichern Sie die Datei ab und lassen Sie mit ./bin/gmg dbupdate die Datenbank aktualisieren. Ab sofort dürfen Sie neue Benutzerkonten nur noch über die Kommandozeile via ./bin/gmg adduser anlegen.
Jeder Benutzer besitzt eine sogenannte Profilseite (Abbildung 3). Die Angaben über die eigene Person können Sie mit einem Klick auf Profil bearbeiten ändern. Hinterlegen dürfen Sie neben einer Biographie auch die Adresse des eigenen Internetauftritts. Die Profilseite eines beliebigen Benutzers erreichen Sie, indem Sie an die Adresse http://localhost:6543/u/ den Benutzernamen anhängen. Das Profil des Benutzers tim finden Sie folglich unter http://localhost:6543/u/tim/. MediaGoblin bietet derzeit keine Übersichtsseite mit allen Profilen an.

Abbildung 3: Die Profilseite eines neuen Nutzers zeigt Informationen über den Nutzer sowie die von ihm hochgeladenen Bilder an.
Rechts oben in der Fensterecke finden Sie ein nach unten gerichtetes Dreieck. Ein Klick darauf zaubert weitere Einstellungen und Aktionen hervor. Über Ihren Namen (in Abbildung 4: tim) landen Sie immer wieder auf Ihrer Profilseite. Medien laden Sie mit einem Klick auf Medien hinzufügen hoch. Dabei wählen Sie zunächst via Durchsuchen die fragliche Datei auf der Festplatte aus und vergeben dann noch einen Titel, eine kurze Beschreibung, Schlagwörter sowie eine passende Lizenz (Abbildung 5). Die Schlagwörter trennen Sie durch Kommas. Nach einem Klick auf Hinzufügen lädt MediaGoblin die Datei hoch und stellt sie wie in Abbildung 4 auf der Profilseite zur Auswahl.

Abbildung 4: Über das Dreieck klappen wichtige Links auf. Nach jeder Aktion blendet MediaGoblin sie allerdings immer wieder aus.
Eingestöpselt
Im Auslieferungszustand lädt MediaGoblin ausschließlich Fotos und Bilder hoch. Weitere Medienformate müssen Sie über Plugins nachrüsten. Netterweise bringt MediaGoblin für die wichtigsten Medien gleich die passenden Erweiterungen mit, die Sie jedoch erst umständlich aktivieren müssen.
Dazu öffnen Sie mit einem Texteditor im MediaGoblin-Verzeichnis die Konfigurationsdatei mediagoblin.ini und suchen dort die Zeile [[mediagoblin.media_types.image]]. Ergänzen Sie darunter eine Zeile gleichen Inhalts, wobei Sie aber image gegen den Namen eines Plugins aus der Tabelle “Unterstützte Dateiformate” austauschen. Die folgende zusätzliche Zeile lädt beispielsweise das Plugin video, das wiederum das Hochladen von Videos erlaubt:
[[mediagoblin.media_types.video]]
Die Zeichenkette in den eckigen Klammern verweist übrigens auf das Unterverzeichnis, in dem das Plugin liegt; Die Punkte stehen dabei stellvertretend für den Schrägstrich. Das Video-Plugin finden Sie somit im Unterordner mediagoblin/media_types/video.
Nach dem Speichern der Änderungen müssen Sie noch die MediaGoblin-Datenbank aktualisieren. Dazu beenden Sie zunächst den laufenden Webserver im Terminal mit [Strg]+[C] und rufen das schon bekannte ./bin/gmg dbupdate auf. Scheitert dieser Befehl mit einer nichtssagenden Meldung, fehlen den Plugins weitere Hilfsprogramme. So benötigt MediaGoblin zum Veröffentlichen von Video- und Audiodateien die Software Gstreamer, die Sie unter Ubuntu mit dem Befehl aus Listing 4 auf die Platte holen.
Listing 4
$ sudo apt-get install python-gst0.10 gstreamer0.10-plugins-{base,bad,good,ugly} python-numpy python-scipy libsndfile1-dev libasound2-dev
Jetzt sollte ./bin/gmg dbupdate erfolgreich durchlaufen und Initializing plugin “mediagoblin.media_types.video”… done. melden. Nach dem erneuten Start des Webservers mit ./lazyserver.sh lassen sich die neu unterstützten Medien hochladen. Welche Dateiformate die Plugins dabei erlauben, verrät wiederum die Tabelle “Unterstützte Dateiformate”.
Je nach Größe der Datei dauert es einen Moment, bis sie in der Benutzeroberfläche zur Verfügung steht. Wenn Sie rechts oben in der Ecke auf das Dreieck klicken und dann die Medienverarbeitung aufrufen, zeigt Ihnen MediaGoblin den aktuellen Stand an. Darüber hinaus erfahren Sie, welche Dateien Sie wann hochgeladen haben. Sollten beim Upload Probleme auftreten, finden Sie hier zudem einen ersten Hinweis auf die Ursache. Weitere Informationen liefern die Ausgaben im Terminal.
Unterstützte Dateiformate
| Dateityp | Name des Plugins | Erkannte Dateiendungen |
|---|---|---|
| 3D-Objekte | stl | .obj, .stl |
| ASCII-Texte | ascii | .txt, .asc, .nfo |
| Audiomaterial | audio | .mp3, .flac, .wav, .m4a |
| Bilder | image | .jpe, .jpg, .jpeg, .png, .gif, .tiff |
| PDF-Dateien | .pdf |
|
| Videos | video | .mp4, .mov, .webm, .avi, .3gp, .3gpp, .mkv, .ogv, .m4v |
Sammeltrieb
Sobald Sie ein Bild beziehungsweise ein Medium anklicken, landen Sie auf einer Detailseite wie der aus Abbildung 6. Hier können Sie unter anderem die Informationen nachträglich Bearbeiten und das Bild beziehungsweise die Mediendatei Löschen. Besucher dürfen zudem einen Kommentar hinterlassen; via Silence comments unterbinden Sie die Diskussionen bei Bedarf.

Abbildung 6: Auf der Detailseite einer Datei genügt ein Klick auf das große Vorschaubild, um es in voller Pracht auf den Bildschirm zu holen beziehungsweise die Wiedergabe zu starten.
Ein Klick auf ein Schlagwort zeigt alle Medien mit dem gleichen Schlagwort an. Sollte es sich um ein anstößiges Bild oder Video handeln, können Benutzer es via Medien melden monieren. Haben Sie mehrere Medien hochgeladen, blättern Sie mittels neuer und älter zwischen diesen. Videos und Audiodateien dürfen die Besucher zudem explizit über einen Link am unteren Ende der Seite herunterladen.
Mehrere thematisch verwandte Medien fassen Sie bei Bedarf in einer Sammlung zusammen. Dazu klicken Sie rechts oben in der Ecke auf das Symbol mit dem Dreieck und lassen dann eine Neue Sammlung erstellen. Die Sammlung bekommt einen Namen; die Beschreibung sollte kurz die (geplanten) Inhalte der Sammlung umreißen. Sobald eine Sammlung existiert, können Sie sie mit Inhalten füllen.
Derzeit müssen Sie dazu jedes Medium einzeln in die Sammlung verschieben: Rufen Sie die Detailseite des entsprechenden Bilds, Videos oder der Audiodatei auf und klicken Sie dort auf Zu einer Sammlung hinzufügen. Wählen Sie aus der Ausklappliste die entsprechende Sammlung, vergeben Sie bei Bedarf noch eine Notiz und klicken Sie auf Hinzufügen. Auf diese Weise können Sie jede Datei in beliebig viele Sammlungen stecken.
Um alle vorhandenen Sammlungen zu sehen, rufen Sie zunächst Ihr Profil auf (etwa indem Sie rechts oben das Dreieck und dann Ihren Namen anklicken). Folgen Sie dem Link Sammlungen durchstöbern. Ein Klick auf eine der Sammlungen zeigt deren Inhalte an. Auf der entsprechenden Seite können Sie zudem einzelne Dateien wieder aus der Sammlung werfen – ein Klick auf Entfernen unterhalb des Vorschaubilds genügt.
Über die Schaltfläche Löschen würde hingegen die komplette Sammlung ins Nirwana wandern. In jedem Fall bleiben die Bilder im System erhalten und sind weiterhin über Ihre Profilseite zugänglich.
VIPs
Sobald ein Besucher einen Kommentar hinterlassen hat, sendet Ihnen MediaGoblin eine E-Mail-Benachrichtigung zu. Um dies zu unterbinden, klicken Sie rechts oben in der Ecke auf das Symbol mit dem Dreieck und rufen dann Kontoeinstellungen ändern auf (Abbildung 7). Hier entfernen Sie den Haken vor Mir eine E-Mail schicken, wenn andere meine Medien kommentieren. In den Kontoeinstellungen können Sie auch nachträglich Ihr Passwort und – über die Links im unteren Bereich – Ihre E-Mail-Adresse ändern. Dort lässt sich sogar das komplette Benutzerkonto und somit das Profil löschen.

Abbildung 7: In den Kontoeinstellungen können Sie auch eine Standard-Lizenz vorgeben, die Ihnen MediaGoblin dann immer beim Hochladen von Dateien vorschlägt.
Mit dem Kommandozeilenbefehl ./bin/gmg makeadmin tim lässt sich der Benutzer tim zum Administrator erheben. Dieser erlesene Personenkreis darf die Benutzerverwaltung aus Abbildung 8 betreten. Der entsprechende Link erscheint, wenn Sie als Administrator rechts oben in der Ecke auf das Dreieck klicken. Administratoren dürfen in der Benutzerverwaltung zwar keine neuen Benutzerkonten anlegen oder vorhandene löschen, im Gegenzug aber einzelne Rechte entziehen und sogar Benutzer für eine vorgegebene Zeit aussperren. Des Weiteren erhalten Administratoren Zugang zur Meldungsverwaltung: Sie listet alle von Besuchern als anstößig gemeldeten Medien auf.

uploader würde dem Benutzer Tim verbieten, weitere Medien hochzuladen.” width=”285″ height=”300″ />
Abbildung 8: Ein Klick auf das Minus-Zeichen nebenuploader würde dem Benutzer Tim verbieten, weitere Medien hochzuladen.Schönheitssalon
Auch bei MediaGoblin bestimmt eine Vorlage, das sogenannte Theme, die Optik der Benutzeroberfläche. MediaGoblin 0.7.1 liegt lediglich ein einziges Theme bei, erst die Entwicklerversion liefert noch ein zweites mit.
Um ein anderes Theme zu aktivieren, wechseln Sie zunächst in das Unterverzeichnis mediagoblin und dann weiter in den Ordner themes. Jedes der dortigen Unterverzeichnisse enthält ein Theme. Standardmäßig verwendet MediaGoblin das Theme airy, die Version sandyseventiesspeedboat fällt etwas heller aus (Abbildung 9).

sandyseventiesspeedboat streicht MediaGoblin in Sandfarben an, die Anordnung der Schaltflächen und Links bleibt jedoch erhalten.” width=”292″ height=”300″ />
Abbildung 9: Das Themesandyseventiesspeedboat streicht MediaGoblin in Sandfarben an, die Anordnung der Schaltflächen und Links bleibt jedoch erhalten. Merken Sie sich den Verzeichnisnamen des Themes, das Sie aktivieren möchten. Öffnen Sie dann die schon bekannte Konfigurationsdatei mediagoblin.ini mit einem Texteditor und suchen Sie in ihr die Zeile # theme = airy. Entfernen Sie das vorangestellte # und ersetzen Sie airy gegen den gemerkten Namen. Nach dem Speichern der Konfigurationsdatei müssen Sie MediaGoblin über ./bin/gmg assetlink noch die Änderungen bekanntgeben.
Freigang
Um MediaGoblin auf einem produktiven Server einzurichten, sollten Sie einen Webserver wie Apache oder Nginx einsetzen, der dann mit MediaGoblin über die FastCGI-Schnittstelle kommuniziert. Aus Sicherheitsgründen empfiehlt sich zudem ein neues Benutzerkonto mit eingeschränkten Rechten, unter dem Sie dann MediaGoblin starten, sowie der Einsatz einer PostgreSQL-Datenbank.
Die Datenbank-Einstellungen hinterlegen Sie dabei in der Datei mediagoblin.ini. Ersetzen Sie dort zudem die Zeile email_debug_mode = true durch email_debug_mode = false, dann posaunt MediaGoblin die E-Mails mit den Aktivierungslinks nicht mehr auf der Kommandozeile heraus.
Apropos E-Mail: Die Einstellungen des E-Mail-Servers kapselt die Konfigurationsdatei config_spec.ini, die Sie im Unterverzeichnis mediagoblin finden. Im Abschnitt [mediagoblin] passen Sie gegebenenfalls alle Zeilen an, die mit email... beginnen. Weitere Hilfe zum Einrichten von MediaGoblin auf einem Server finden Sie in der offiziellen Dokumentation [7]; Beispielkonfigurationen für Apache 2, Nginx und Lighttpd hält das MediaGoblin-Wiki bereit [8].
Fazit
Mit MediaGoblin setzen Sie schnell ein eigenes kleines Youtube auf, um darüber Videos, Tonmaterial und Bilder bereitzustellen – allerdings derzeit noch mit eingeschränktem Funktionsumfang. Insbesondere können Sie nicht detailliert steuern, welche Benutzer welche Medien einsehen dürfen. Das wiederum erschwert den Einsatz vor allem in Firmen, und auch als Privatperson möchte man die “peinlichen” Videos aus dem letzten Urlaub vielleicht nur der Oma zeigen. Des Weiteren setzt das Installieren und Einrichten tiefergehende Kenntnisse über Webserver, Python und PostgreSQL voraus. Schließlich fällt auch die Bedienung teilweise etwas umständlich aus. Trotz dieser Hürden bleibt MediaGoblin ein interessantes Projekt, insbesondere auch, weil es sich über Plugins unkompliziert erweitern lässt.
Infos
[1] MediaGoblin: http://mediagoblin.org
[2] Media-Seiten von LibrePlanet: http://media.libreplanet.org
[3] Git-Repository von MediaGoblin: https://gitorious.org/mediagoblin/mediagoblin
[4] MediaGoblin herunterladen: http://mediagoblin.org/download/
[5] Python Paste: http://pythonpaste.org
[6] Gunicorn: http://gunicorn.org
[7] Dokumentation zu MediaGoblin: http://mediagoblin.readthedocs.org/en/stable/
[8] MediaGoblin-Wiki (Deployment): https://wiki.mediagoblin.org/Deployment






