Starthilfe mit Opencast

458 views
Skip to first unread message

maya....@ceyu.de

unread,
Aug 10, 2018, 4:51:36 PM8/10/18
to Deutschsprachige Opencast Community
Hi zusammen. 

Ich habe das erste mal mit Opencast zu tun und kenne daher weder das Produkt, noch die Community drum rum. Ich hoffe ich bin hier richtig wenn es darum geht so ein paar Anfängerfragen los zu werden :)
Sind diese Google Groups eigentlich das einzige Kommunikationsmittel rund um Opencast (Entwicklung, Administration, usw)? Ich hätte gehofft das es ein richtiges Forum gibt. Finde ich zumindest für Interessierte einfacher einen Einstieg zu finden. 
Die Doku ist zwar ganz gut geschrieben und erklärt ziemlich viel. Aber so ein paar Grundlegende Fragen habe ich mir noch nicht beantworten können. Liegt aber vermutlich eher daran das ich nicht weiß wo die Informationen zu finden sind. 

Vielleicht zu mir...ich arbeite an der HTW Berlin. Wir haben momentan ein System Installiert das auf VIMP (https://www.vimp.com/) aufbaut. Je nachdem soll das System vielleicht durch opencast abgelöst werden. Mich würde interessieren
in welchem Rahmen opencast verbreitet ist. (Statistiken?, Verbreitung in Deutschland?, ...) Gibt es vielleicht öffentlich erreichbare Installationen von Unis um einen Eindruck zu gewinnen? 
Die Demo Instanz habe ich schon gesehen, mich interessiert eher wie gut anpassbar die Weboberfläche ist und ob es vielleicht schon eine gewisse Auswahl an gut gemachten Themes gibt. Wie gesagt, ich habe momentan noch keine Ahnung wo was zu finden ist.

Ich habe auf Github gesehen das die Software überwiegend in Java geschrieben wurde. Basieren die Webserver für die Adminmodule und Distribution auf Tomcat? Ich versuche mir immer noch einen leichten überblick zu verschaffen wie die einzelnen Komponenten aufgebaut sind.
Ich habe fürs erste 3 VMs zum Testen, jeweils 2 Cores, 4 bis 6 GB RAM. Angefangen habe mit der Installation der Admin Pakete. Auf der selben VM läuft auch MariaDB und ActiveMQ. 

Mein erstes Problem fängt genau hier an. Nach der Konfiguration entsprechend der Dokumentation starte ich den Service, nur scheinbar bindet der Webserver nicht auf den vorgesehen Port. 
Ich bin an der Stelle etwas ratlos, da ich die Software noch zu wenig verstehe um sinnvoll Fehlersuche betreiben zu können. Welche Möglichkeiten gibt es denn, die verhindern das der Admin Webserver startet?


So viel dazu. Wollte nur erstmal Hallo sagen und schauen ob hier überhaupt jemand antwortet. Falls jemand grobe Hilfestellung leisten kann freue ich mich riesig. 
Auch, falls es das gibt, weitere Ressourcen zum lesen wären bestimmt hilfreich. 

Viele Grüße

Sven Stauber

unread,
Aug 10, 2018, 5:46:53 PM8/10/18
to Deutschsprachige Opencast Community
Hallo Maya

Sind diese Google Groups eigentlich das einzige Kommunikationsmittel rund um Opencast (Entwicklung, Administration, usw)? 

Nennenswert sind sicher noch die wöchentliche Technical Meeting, das monatliche Adopters Meeting und der IRC Channel (siehe dazu https://opencast.org/communication).

Ein Besuch am kommende D-A-CH in Erlangen (siehe https://www.opencast.fau.de/) würde Dir sicher einen guten Einblick geben.


Ich habe auf Github gesehen das die Software überwiegend in Java geschrieben wurde. Basieren die Webserver für die Adminmodule und Distribution auf Tomcat?

Opencast basiert auf OSGI und verwendet Apache Felix.
 
Ich versuche mir immer noch einen leichten überblick zu verschaffen wie die einzelnen Komponenten aufgebaut sind.
Ich habe fürs erste 3 VMs zum Testen, jeweils 2 Cores, 4 bis 6 GB RAM. Angefangen habe mit der Installation der Admin Pakete. Auf der selben VM läuft auch MariaDB und ActiveMQ. 

Theoretisch gesehen kannst Du selbst bestimmen, welche Dienste auf welchen Rechner laufen und zusammen "Opencast" bilden. 

Folgende Setups sind aber typisch:

All-in-one:
"Ganzes" Opencast läuft auf einem Node. Am einfachsten zu installieren, gut genug für z.B. Evaluationszwecke oder kleine Instanzen mit kleinem Volumen

Distributed:
Verschiedene Arten von Opencast Nodes auf verschiedenen Rechnern. In grösseren Setups typischerweise 1x Admin (Steuerrechner, External API, Admin UI) , mehrere Workers ("Processing"), ein Presentation Node ("Player") und 1 oder mehr Ingest Nodes (Capture Agent uploads).

Insgesamt benötigst Du von jedem dieses "Typs" (Admin, Worker, Presentation, Ingest) mindestens einen, wobei all-in-one wie bereits erwähnt "alles" kann und es noch die Kombinationen admin-presenter und admin-worker gibt.

Wenn Du Opencast einfach einmal ausprobieren möchtest, würde ich Dir den "all-in-one" empfehlen.
 

Mein erstes Problem fängt genau hier an. Nach der Konfiguration entsprechend der Dokumentation starte ich den Service, nur scheinbar bindet der Webserver nicht auf den vorgesehen Port. 

Genereller Tipp: Ein Blick in die Log-Datei von Opencast (typischerweise /var/log/opencast/opencast.log) kann hilfreich sein.

Was für einen Webserver verwendest Du? Apache?

Hast Du Port 8080 versucht? Dort müsste Felix erreichbar sein.
 
Ich bin an der Stelle etwas ratlos, da ich die Software noch zu wenig verstehe um sinnvoll Fehlersuche betreiben zu können. Welche Möglichkeiten gibt es denn, die verhindern das der Admin Webserver startet?

Würdest Du in der oben erwähnten Log-Datei sehen. Falls Du dort Fehler siehst, bitte hier Posten.

Beste Grüsse
Sven

Maya S.

unread,
Aug 10, 2018, 7:53:35 PM8/10/18
to Deutschsprachige Opencast Community
Hallo Sven,

vielen Dank für deine Antwort. Deine Tipps haben mich jetzt auf Anhieb doch recht weit gebracht. (besonders das log)

Ich hatte vergessen dem Datenbankuser Rechte für localhost zu geben. Deswegen konnte er sich nicht verbinden. 
Danach sieht es jetzt ganz gut aus. Komme zumindest schonmal auf das Webinterface. :) 

Eine Frage habe ich dazu aber noch gleich. Da Felix per default auf 8080 sitzt gehe ich davon aus das es Sinn macht einen Proxy vorzuschalten? Nginx / Pound ? 
Habe aktuell nämlich keinen Webserver installiert, abgesehen von dem was Opencast selbst mitbringt. 

Und Danke für die Info mit OSGI und Apache Felix. Damit habe ich schonmal etwas womit ich mich auseinandersetzen kann.


Wo finden diese Technischen / Adopter Meetings denn statt, falls man da mal zuhören möchte? 
Erlangen ist leider nicht gerade ums Eck...

Viele Grüße Maya

Jan Koppe

unread,
Aug 11, 2018, 1:44:55 AM8/11/18
to anwe...@opencast.org
Hallo Maya, und willkommen!

On 10/08/2018 22.51, maya....@ceyu.de wrote:
> Hi zusammen. 
>
> Ich habe das erste mal mit Opencast zu tun und kenne daher weder das
> Produkt, noch die Community drum rum. Ich hoffe ich bin hier richtig
> wenn es darum geht so ein paar Anfängerfragen los zu werden :)
> Sind diese Google Groups eigentlich das einzige Kommunikationsmittel
> rund um Opencast (Entwicklung, Administration, usw)? Ich hätte gehofft
> das es ein richtiges Forum gibt. Finde ich zumindest für Interessierte
> einfacher einen Einstieg zu finden. 
> Die Doku ist zwar ganz gut geschrieben und erklärt ziemlich viel. Aber
> so ein paar Grundlegende Fragen habe ich mir noch nicht beantworten
> können. Liegt aber vermutlich eher daran das ich nicht weiß wo die
> Informationen zu finden sind.

Ja, du bist tatsächlich auf der richtigen Mailingliste gelandet. Neben
der Hand voll Mailinglisten gibt es noch einen IRC Kanal auf freenode
(#opencast), der aber meistens von den Entwicklern zur schnellen
Absprache genutzt wird. Aber auch hier kannst du natürlich gerne mal
eine Frage stellen, nur musst du vielleicht ein paar minuten warten bis
das jemand sieht & antwortet.

Ansonsten findest du die Dokumentation unter docs.opencast.org, wie du
vermutlich schon gesehen hast.

>
> Vielleicht zu mir...ich arbeite an der HTW Berlin. Wir haben momentan
> ein System Installiert das auf VIMP (https://www.vimp.com/) aufbaut.
> Je nachdem soll das System vielleicht durch opencast abgelöst werden.
> Mich würde interessieren
> in welchem Rahmen opencast verbreitet ist. (Statistiken?, Verbreitung
> in Deutschland?, ...) Gibt es vielleicht öffentlich erreichbare
> Installationen von Unis um einen Eindruck zu gewinnen?
 Auf der Seite https://opencast.org/users findest du einen Überblick
über ein paar Institutionen die Opencast schon etwas länger nutzen, und
auch verschiedene Usecases abbilden. Dadurch, dass Opencast ein recht
flexibles System ist gibt es da auch einige Unterschiede die man sich
vielleicht angucken sollte.
> Die Demo Instanz habe ich schon gesehen, mich interessiert eher wie
> gut anpassbar die Weboberfläche ist und ob es vielleicht schon eine
> gewisse Auswahl an gut gemachten Themes gibt. Wie gesagt, ich habe
> momentan noch keine Ahnung wo was zu finden ist.
>
Meines Wissens nach gibt es keine Themes für Engage/Theodul (Die Module
für Endnutzer zum browsen, respektive anschauen der Videos) oder das
Admin interface. Den Theodul-Player kann man zumindest ein bisschen
konfigurieren (Anordnung der Bedienelemente, Institutions-Logo
austauschen, Inhalt der Metadaten, etc.
> Ich habe auf Github gesehen das die Software überwiegend in Java
> geschrieben wurde. Basieren die Webserver für die Adminmodule und
> Distribution auf Tomcat? Ich versuche mir immer noch einen leichten
> überblick zu verschaffen wie die einzelnen Komponenten aufgebaut sind.
Nein, alle Opencast-Module werden als OSGI Module in Karaf, einem
OSGI-Server, ausgeführt. Die einzelnen Distributionen sind jeweils
verschiedene Zusammenstellungen von Modulen, eben spezifisch auf den
"Servertyp" zusammengestellt, um die Services etwas aufzutrennen (z.b.
Will man nicht dass das Admininterface langsam wird weil da ein
Transkodier-service last verursacht.)
> Ich habe fürs erste 3 VMs zum Testen, jeweils 2 Cores, 4 bis 6 GB RAM.
> Angefangen habe mit der Installation der Admin Pakete. Auf der selben
> VM läuft auch MariaDB und ActiveMQ. 
>
> Mein erstes Problem fängt genau hier an. Nach der Konfiguration
> entsprechend der Dokumentation starte ich den Service, nur scheinbar
> bindet der Webserver nicht auf den vorgesehen Port. 
> Ich bin an der Stelle etwas ratlos, da ich die Software noch zu wenig
> verstehe um sinnvoll Fehlersuche betreiben zu können. Welche
> Möglichkeiten gibt es denn, die verhindern das der Admin Webserver
> startet?
Es würde helfen, wenn du einmal den Log vom gestarteten admin server
schicken könntest. Zudem kannst du mal schauen, ob der Prozess überhaupt
auf dem Port lauscht, also mal mit `ss -tlpn` nachgucken ob da irgendwo
auf port 8080 etwas lauscht. Natürlich darf das noch kein anderes
Programm tun, sonst musst du einen anderen Port aussuchen. Ansonsten:
Ist dort evtl. iptables, bzw. firewalld aktiv? Wie schaut's mit SELinux
aus, falls du auf einem RedHat-Derivat unterwegs bist?

Gruß,
Jan

--
Jan Koppe
eLectures / LearnWeb
Westfälische Wilhelms-Universität
Fliednerstraße 21 - Room 143c
48149 Münster/Westf. - Germany
E-mail: jan....@wwu.de


Jan Koppe

unread,
Aug 11, 2018, 1:49:01 AM8/11/18
to anwe...@opencast.org
(Verdammt, ich habe die folge-Mails übersehen..)

On 11/08/2018 01.53, Maya S. wrote:
> Hallo Sven,
>
> vielen Dank für deine Antwort. Deine Tipps haben mich jetzt auf Anhieb
> doch recht weit gebracht. (besonders das log)
>
> Ich hatte vergessen dem Datenbankuser Rechte für localhost zu geben.
> Deswegen konnte er sich nicht verbinden. 
> Danach sieht es jetzt ganz gut aus. Komme zumindest schonmal auf das
> Webinterface. :) 
>
> Eine Frage habe ich dazu aber noch gleich. Da Felix per default auf
> 8080 sitzt gehe ich davon aus das es Sinn macht einen Proxy
> vorzuschalten? Nginx / Pound ? 
> Habe aktuell nämlich keinen Webserver installiert, abgesehen von dem
> was Opencast selbst mitbringt.
Ja, ein Reverse proxy davor bietet sich gut an, da man sonst entweder
Opencast zusätzliche capabilities geben müsste (noch nie versucht), oder
als root laufen lassen muss um auf port 80/443 zu binden. Wir setzen
hier nginx als reverse proxy und für die TLS terminierung ein. Zudem
kann man so z.b. sehr leicht das Institutions-logo im Player austauschen
(das sitzt sonst im Bundle versteckt, so kann man einfach den genauen
Pfad mit Location+Alias "überschreiben")
> Und Danke für die Info mit OSGI und Apache Felix. Damit habe ich
> schonmal etwas womit ich mich auseinandersetzen kann.
>
>
> Wo finden diese Technischen / Adopter Meetings denn statt, falls man
> da mal zuhören möchte? 
> Erlangen ist leider nicht gerade ums Eck...
Die Meetings finden online in einem Videochat statt, details siehe unten
rechts auf https://docs.opencast.org/

Michael Gräve

unread,
Aug 11, 2018, 3:04:29 AM8/11/18
to anwe...@opencast.org
Hallo Maya,
> Erlangen ist leider nicht gerade ums Eck…

mit der Neubaustrecke der Bahn sind es typischer Weise noch 3, maximal 3 ½ Stunde von Berlin nach Erlangen. Da kannst du locker noch am Vormittag des 27.09. anreisen. Viel eleganter geht es eigentlich nicht ;-)
>
> Viele Grüße Maya
>

Viele Grüße
Michael (aus Erlangen)

signature.asc

Lars Kiesow

unread,
Aug 12, 2018, 7:53:18 AM8/12/18
to anwe...@opencast.org
Hi Maya

> Da Felix per default auf 8080 sitzt gehe ich davon aus das es Sinn
> macht einen Proxy vorzuschalten? Nginx / Pound ?

Du kommst theoretisch auch ohne aus, fast alle Institutionen wählen
aber einen Proxy. Nginx ist eine gute Wahl und meine Empfehlung.

> Wo finden diese Technischen / Adopter Meetings denn statt, falls man
> da mal zuhören möchte?

Die Meetings finden statt im BigBlueButton des Projektes:

https://opencast.blindsidenetworks.net/opencast/

Das Technical Meeting findet jeden Dienstag um 3 Uhr UTC statt. Dabei
geht es vor allem um aktuelle Entwicklungen, …

Die Adopter Meetings finden jeweils am letzten Mittwoch eines Monats
statt. Die werden vorher auch immer auf der jeweiligen Liste
angekündigt. Dabei wechseln sich das internationale Meeting und das
deutschsprachinge Meeting ab. Diesen Monat sollte wieder das
DACH-Meeting dran sein.

> Erlangen ist leider nicht gerade ums Eck...

Dennoch auch eine definitive Empfehlung wenn du dir einen schnellen
Überblick verschaffen willst.

Gruß,
Lars

Dietmar Zenker

unread,
Aug 13, 2018, 10:53:59 AM8/13/18
to Deutschsprachige Opencast Community
Hallo Maya,
 
Eine Frage habe ich dazu aber noch gleich. Da Felix per default auf 8080 sitzt gehe ich davon aus das es Sinn macht einen Proxy vorzuschalten? Nginx / Pound ? 
Habe aktuell nämlich keinen Webserver installiert, abgesehen von dem was Opencast selbst mitbringt. 
 
wenn Du das Setting zumindest am Anfang einfach halten und Dich nicht noch mit den Proxy-Sachen belasten willst, kannst Du Felix auch auf 8443 laufen lassen und ein Port-Routing via iptables machen. Hierzu musst Du  folgende Prerouting-Directiven in der table *nat einfügen:
-A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443
-A OUTPUT -o lo -p tcp --dport 443 -j REDIRECT --to-port 8443

Reicht zum Testen auf alle Fälle, und ich fahre Opencast bei uns seit Jahren so im Produktivbetrieb und habe damit keine Probleme (je weniger zusätzliche Systeme umso sicherer).

VG,
Dietmar
(HS Fresenius)

Maya S.

unread,
Aug 14, 2018, 12:16:37 PM8/14/18
to Deutschsprachige Opencast Community
Richtig toll wie aktiv hier alle sind. Vielen Dank für eure Antworten. 

Habe erstmal nginx davor gesetzt, wie empfohlen. Das geht fast am schnellsten. 
Meine nächsten Schritte sind nach dem Admin Server noch die anderen aufzusetzen. Ich werde die nächsten Tage bestimmt nochmal die ein oder andere Frage hier rein schmeißen :)

Viele Grüße Maya

Maya S.

unread,
Sep 12, 2018, 9:21:08 AM9/12/18
to Deutschsprachige Opencast Community
Hallo zusammen,
ich habe nochmal eine kurze Verständnisfrage.

Habe jetzt alle 3 Server (Admin, Worker, Presenter) aufgesetzt. Alle 3 Server haben eine individuelle Domain.
Wenn ich die Domain vom Presenter aufrufe, lande ich auf einer Startseite mit Dokumentation, Links und 2 Buttons zum Admin Panel und "Media Module".
Der Link zur Admin Seite funktioniert nicht, da es nicht auf die Domain des Admin Servers verlinkt. 
Wenn man die Domain des Admin Servers kennt, kommt man natürlich drauf in dem man die Domain direkt aufruft.

Wollte nur kurz verstehen wie eurer Workflow ist, bzw. wie ihr die Seite einsetzt. Soweit ich gesehen habe, kann ein User Uploads nur von der Admin Seite aus hochladen, oder? Wie vereinheitlicht man das ganze in eine Übersichtliche Platform (blödes Beispiel, YouTube).
Bzw. unsere aktuelle Hochschulseite sieht so aus: https://mediathek.htw-berlin.de
Nicht hübsch, aber es werden alle öffentlichen Videos gelistet, mit dem LDAP Account eingeloggt, kann man direkt von dort auch Videos hochladen. 

lg

Ruth Lang

unread,
Sep 12, 2018, 9:47:36 AM9/12/18
to anwe...@opencast.org, Ruth Lang
Hallo Maya,

Habe jetzt alle 3 Server (Admin, Worker, Presenter) aufgesetzt. Alle 3 Server haben eine individuelle Domain.
Wenn ich die Domain vom Presenter aufrufe, lande ich auf einer Startseite mit Dokumentation, Links und 2 Buttons zum Admin Panel und "Media Module".
Der Link zur Admin Seite funktioniert nicht, da es nicht auf die Domain des Admin Servers verlinkt. 

Das musst du nur richtig konfigurieren. 
Ich glaube in org.opencastproject.organization-mh_default_org.cfg


# Link to the Admin UI.
#
# Value: <a complete url with scheme and port>
# Default: ${org.opencastproject.server.url}
#
prop.org.opencastproject.admin.ui.url=https://<admin.node>

Grüße
Ruth

Dietmar Zenker

unread,
Sep 12, 2018, 9:48:42 AM9/12/18
to Deutschsprachige Opencast Community

Hallo Maya,

wenn Du auf allen Nodes in der org.opencastproject.organization-mh_default_org.cfg die URLs zum Admin und Engage Node korrekt konfigurierst, dann klappt auch der Sprung von einem Node zum anderen.

Nun, Opencast ist per se kein Videoportal á la Youtube (Stichwort "übersichtliche Plattform"), d.h. Management, Verarbeitung und Distribution sind im Regelfall beim produktiven Betrieb auf mind. 2-3 Server verteilt, Admin und Presentation Node haben somit auch ihr eigenes UI. Es gibt allerdings Frontends wie bspw. "Lernfunk", die an Opencast angebunden werden können (wobei ich nicht weiß inwieweit das noch weiterentwickelt wird).
Manuelle Uploads erfolgen also im Regelfall über das Admin-Interface, oder alternativ via Plugin oder LTI über das Lernmanagementsystem - für das bei Euch eingesetzte Moodle wäre das also auch eine Option. Viele Aufzeichnungssysteme wie z.B. die Extron SMPs oder Galicaster können aber auch direkt als Capture Agents eingebunden werden, d.h. Scheduling, Upload und Weiterverarbeitung erfolgen vollautomatisch (sofern nicht noch geschnitten wird).

Es gibt da insgesamt viele Möglichkeiten, und jede Hochschule hat da mehr oder weniger eigene Vorgehensweisen.

Viele Grüße,
Dietmar

Maya S.

unread,
Sep 12, 2018, 9:57:36 AM9/12/18
to Deutschsprachige Opencast Community
Ah, dafür gibt es auch eine Einstellung :)
Danke euch beiden, danach habe ich gesucht.

@Dietmar
Danke, die Info war für mich auch nochmal sehr aufschlussreich. Die Moodle integration wäre in der Tat sehr interessant für uns. 
Die Lernfunk Seite habe ich mir angeschaut. Aktuell sieht es zwar nicht aus, aber das gibt mir schon eine ganz gute Idee wie man das ganze Sinnvoll präsentieren könnte.

lg

Maya S.

unread,
Sep 12, 2018, 10:37:38 AM9/12/18
to Deutschsprachige Opencast Community
Es scheint immer noch keine Möglichkeit zu geben nicht existierende Server aus der Liste im Admin Bereich zu bekommen, oder? 
Hatte zu beginn die falsche url in der config stehen und seit dem werden die urls in der Liste mit einem roten Punkt gelistet.

Habe schon versucht mit dem Endpoint
Form action: /services/unregisterhost
die zu entfernen. Bekomme als response 204, so wie ich es von der Doku erwarte. Nur entfernt werden sie trotzdem nicht.

lg

Dietmar Zenker

unread,
Sep 13, 2018, 8:24:46 AM9/13/18
to Deutschsprachige Opencast Community

Hallo Maya,

/services/unregisterhost ist eigentlich schon der "offizielle" Weg - seltsam...

Zum Thema Frontend/Videoportal ist mir noch eingefallen: da gäbe es noch PuMuKit. Das wird zumindest aktiv weiterentwickelt. Weiß nicht, wer das außer den Spaniern noch einsetzt.

Viele Grüße,
Dietmar

Maya S.

unread,
Sep 13, 2018, 8:34:46 AM9/13/18
to anwe...@opencast.org
Hi Dietmar,
vielen Dank für den Tipp. Das sieht auf den ersten Blick echt richtig gut aus. Muss das unbedingt mal installieren und testen.

lg Maya
--
You received this message because you are subscribed to a topic in the Google Groups "Deutschsprachige Opencast Community" group.
To unsubscribe from this topic, visit https://groups.google.com/a/opencast.org/d/topic/anwender/xD1xdsAtLmE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to anwender+u...@opencast.org.

Maya S.

unread,
Sep 17, 2018, 10:14:49 AM9/17/18
to Deutschsprachige Opencast Community
Hi zusammen.
Nochmal kurz eine blöde Frage ^^
Kann man irgendwo sehen wann Jobs fertig sind? Eine Fortschrittsanzeige oder etwas in die Richtung?
Sehe zwar das der Worker einen 'Encode' Job hat, aber ob der jetzt 10 Minuten oder 7 Tage braucht weiß ich nicht. 

lg

Maya S.

unread,
Sep 17, 2018, 10:30:55 AM9/17/18
to Deutschsprachige Opencast Community
Noch ein kleiner Fehler -> https://i.imgur.com/Sd2QOfX.png
Was genau fehlt ihm?

Der Encode Job ist erfolgreich fertiggelaufen, Das Event steht allerdings mit Failed drinnen. Fehler im Screenshot.

Dietmar Zenker

unread,
Sep 18, 2018, 4:56:42 AM9/18/18
to Deutschsprachige Opencast Community
Hallo Maya,

eine "Fortschrittsanzeige" im eigentlichen Sinne - also z.B. per Progress Bar oder Prozent visualisiert - gibt es nicht. Wäre auch nur bedingt sinnvoll, da ja z.B. die Dauer rechenintensiver Transkoding-Jobs sehr von der Auslastung des Systems abhängen. Über "Workflows - Details - Operations" kann man aber eine Liste der zu absolvierenden Workflow-Operationen abrufen, aus der ersichtlich wird, an welchem Schritt der WF aktuell ist und ob dieser erfolgreich oder mit Fehler ("FAILED") abgeschlossen wurde.

Bzgl. des Fehlers: hier wäre es hilfreich zu wissen, bei welcher Operation dieser aufgetreten ist - wie gesagt, dieser wäre in der o.g. Liste als "FAILED" gekennzeichnet. Zusätzlich wären die zugehörigen Meldungen im Log nützlich.
Wenn der Spontan tippe ich auf ein Problem bei der Text Extraction, d.h. die Operation "extract-text" wäre FAILED. Kann z.B. passieren - insbesondere bei Neuinstallationen - wenn die Dictionaries nicht installiert sind oder das Datenverzeichnis von Tesseract noch nicht konfiguriert ist (tessdata Env Variable). Aber nur eine vage Vermutung...

VG,
Dietmar

Dietmar Zenker

unread,
Sep 18, 2018, 5:13:53 AM9/18/18
to Deutschsprachige Opencast Community

Ach so: "Fortschrittsanzeige" bezog sich auf einen einzelnen Encoding-Job und nicht den Gesamt-WF. Ja, das wäre in der Tat ein recht nützliches Feature...


Maya S.

unread,
Nov 5, 2018, 10:29:42 AM11/5/18
to Deutschsprachige Opencast Community
Hallo nochmal :)
Ich hänge immer noch an dem oben genannten Fehler fest. 

Die Logs auf dem Worker sagen, dass der encoding Prozess erfolgreich war:
```
2018-11-05 15:09:57,351 | WARN  | (WorkspaceImpl:332) - The working file repository and workspace paths don't match. Looking up http://opencast-test.rz.htw-berlin.de:80/files/mediapackage/6238e3e2-f083-4043-92a4-37a18f555011/10c670fc-d1d5-4479-9692-4d880a7f72bc/Roland_Hess_The_beast.avi at /srv/opencast/files/mediapackage/6238e3e2-f083-4043-92a4-37a18f555011/10c670fc-d1d5-4479-9692-4d880a7f72bc/Roland_Hess_The_beast.avi failed
2018-11-05 15:09:57,367 | INFO  | (WorkspaceImpl:403) - Downloading http://opencast-test.rz.htw-berlin.de:80/files/mediapackage/6238e3e2-f083-4043-92a4-37a18f555011/10c670fc-d1d5-4479-9692-4d880a7f72bc/Roland_Hess_The_beast.avi to /srv/opencast/workspace/mediapackage/6238e3e2-f083-4043-92a4-37a18f555011/10c670fc-d1d5-4479-9692-4d880a7f72bc/Roland_Hess_The_beast.avi
2018-11-05 15:10:02,866 | WARN  | (WorkspaceImpl:332) - The working file repository and workspace paths don't match. Looking up http://opencast-test.rz.htw-berlin.de:80/files/mediapackage/6238e3e2-f083-4043-92a4-37a18f555011/10c670fc-d1d5-4479-9692-4d880a7f72bc/Roland_Hess_The_beast.avi at /srv/opencast/files/mediapackage/6238e3e2-f083-4043-92a4-37a18f555011/10c670fc-d1d5-4479-9692-4d880a7f72bc/Roland_Hess_The_beast.avi failed
2018-11-05 15:10:03,283 | INFO  | (ComposerServiceImpl:286) - Encoding video: 10c670fc-d1d5-4479-9692-4d880a7f72bc into ef654b2b-a3b6-4f97-a4c8-d4391ca16b3b using profile fast.http
2018-11-05 15:10:03,284 | INFO  | (EncoderEngine:203) - Executing encoding command: [ffmpeg, -nostats, -i, /srv/opencast/workspace/mediapackage/6238e3e2-f083-4043-92a4-37a18f555011/10c670fc-d1d5-4479-9692-4d880a7f72bc/Roland_Hess_The_beast.avi, -c:a, aac, -c:v, libx264, -preset, veryfast, -g, 30, -pix_fmt, yuv420p, /srv/opencast/workspace/mediapackage/6238e3e2-f083-4043-92a4-37a18f555011/10c670fc-d1d5-4479-9692-4d880a7f72bc/Roland_Hess_The_beast_9ea166e3-fa31-41aa-a62c-8b9f55810656.mp4]
2018-11-05 15:10:03,307 | INFO  | (EncoderEngine:393) - Press [q] to stop, [?] for help
2018-11-05 15:10:03,317 | INFO  | (EncoderEngine:379) - Identified output file /srv/opencast/workspace/mediapackage/6238e3e2-f083-4043-92a4-37a18f555011/10c670fc-d1d5-4479-9692-4d880a7f72bc/Roland_Hess_The_beast_9ea166e3-fa31-41aa-a62c-8b9f55810656.mp4
2018-11-05 15:10:03,317 | INFO  | (EncoderEngine:393) - cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
2018-11-05 15:10:54,627 | INFO  | (EncoderEngine:393) - [aac @ 0x54ca1c0] Qavg: 305.459
2018-11-05 15:10:54,628 | INFO  | (EncoderEngine:227) - Tracks {video=/srv/opencast/workspace/mediapackage/6238e3e2-f083-4043-92a4-37a18f555011/10c670fc-d1d5-4479-9692-4d880a7f72bc/Roland_Hess_The_beast.avi} successfully encoded using profile 'fast.http'
2018-11-05 15:10:54,824 | INFO  | (ComposerServiceImpl:1593) - Copied the encoded file to the workspace at http://opencast-test.rz.htw-berlin.de:80/files/collection/composer/6684.mp4
2018-11-05 15:10:54,830 | INFO  | (ComposerServiceImpl:1373) - Deleted local copy of encoding file at /srv/opencast/workspace/mediapackage/6238e3e2-f083-4043-92a4-37a18f555011/10c670fc-d1d5-4479-9692-4d880a7f72bc/Roland_Hess_The_beast_9ea166e3-fa31-41aa-a62c-8b9f55810656.mp4
```

Das Log von dem Adminserver zeigt den selben Fehler der auch im Webinterface zu sehen ist. Und zwar das er die Datei im angegebenen Pfad nicht gefunden hat:
```
2018-11-05 15:10:02,563 | INFO  | (ComposerServiceRemoteImpl:95) - Encoding job 6684 started on a remote composer
2018-11-05 15:11:02,649 | ERROR | (WorkflowOperationWorker:180) - Workflow operation 'operation:'compose', position:5, state:'FAILED'' failed
org.opencastproject.util.NotFoundException: /srv/opencast/files/collection/composer
        at org.opencastproject.workingfilerepository.impl.WorkingFileRepositoryImpl.getFileFromCollection(WorkingFileRepositoryImpl.java:488)[170:opencast-working-file-repository-service-impl:5.0.0]
        at org.opencastproject.workingfilerepository.impl.WorkingFileRepositoryImpl.moveTo(WorkingFileRepositoryImpl.java:688)[170:opencast-working-file-repository-service-impl:5.0.0]
        at org.opencastproject.workspace.impl.WorkspaceImpl.moveTo(WorkspaceImpl.java:736)[172:opencast-workspace-impl:5.0.0]
        at org.opencastproject.workflow.handler.composer.ComposeWorkflowOperationHandler.encode(ComposeWorkflowOperationHandler.java:329)[59:opencast-composer-workflowoperation:5.0.0]
        at org.opencastproject.workflow.handler.composer.ComposeWorkflowOperationHandler.start(ComposeWorkflowOperationHandler.java:132)[59:opencast-composer-workflowoperation:5.0.0]
        at org.opencastproject.workflow.impl.WorkflowOperationWorker.start(WorkflowOperationWorker.java:233)[167:opencast-workflow-service-impl:5.0.0]
        at org.opencastproject.workflow.impl.WorkflowOperationWorker.execute(WorkflowOperationWorker.java:155)[167:opencast-workflow-service-impl:5.0.0]
        at org.opencastproject.workflow.impl.WorkflowServiceImpl.runWorkflowOperation(WorkflowServiceImpl.java:876)[167:opencast-workflow-service-impl:5.0.0]
        at org.opencastproject.workflow.impl.WorkflowServiceImpl.process(WorkflowServiceImpl.java:1892)[167:opencast-workflow-service-impl:5.0.0]
        at org.opencastproject.workflow.impl.WorkflowServiceImpl$JobRunner.call(WorkflowServiceImpl.java:2312)[167:opencast-workflow-service-impl:5.0.0]
        at org.opencastproject.workflow.impl.WorkflowServiceImpl$JobRunner.call(WorkflowServiceImpl.java:2278)[167:opencast-workflow-service-impl:5.0.0]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_181]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)[:1.8.0_181]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)[:1.8.0_181]
        at java.lang.Thread.run(Thread.java:748)[:1.8.0_181]
2018-11-05 15:11:04,897 | INFO  | (AssetManagerSnapshotWorkflowOperationHandler:104) - Take snapshot of media package 6238e3e2-f083-4043-92a4-37a18f555011
2018-11-05 15:11:04,914 | INFO  | (AbstractAssetManager:192) - Creating new version 0 of media package 6238e3e2-f083-4043-92a4-37a18f555011
2018-11-05 15:11:04,936 | INFO  | (AssetManagerWithMessaging:207) - Send update message for snapshot 6238e3e2-f083-4043-92a4-37a18f555011, 0 to ActiveMQ
2018-11-05 15:11:04,946 | INFO  | (WorkspaceImpl:403) - Downloading http://opencast-test.rz.htw-berlin.de:80/assets/assets/6238e3e2-f083-4043-92a4-37a18f555011/809328dc-acce-4d93-9c27-4c7d5788e7e6/0/dublincore.xml to /srv/opencast/workspace/http_opencast-test.rz.htw-berlin.de_80/assets/assets/6238e3e2-f083-4043-92a4-37a18f555011/809328dc-acce-4d93-9c27-4c7d5788e7e6/0/dublincore-55d92181-863a-4280-b39b-565915c6f873.xml
2018-11-05 15:11:15,508 | WARN  | (MetadataField$16:1003) - Value cannot be parsed as String.
2018-11-05 15:11:15,649 | INFO  | (AbstractAssetManager:192) - Creating new version 1 of media package 6238e3e2-f083-4043-92a4-37a18f555011
2018-11-05 15:11:15,688 | INFO  | (AssetManagerWithMessaging:207) - Send update message for snapshot 6238e3e2-f083-4043-92a4-37a18f555011, 1 to ActiveMQ
2018-11-05 15:11:15,699 | INFO  | (WorkspaceImpl:403) - Downloading http://opencast-test.rz.htw-berlin.de:80/assets/assets/6238e3e2-f083-4043-92a4-37a18f555011/809328dc-acce-4d93-9c27-4c7d5788e7e6/1/dublincore.xml to /srv/opencast/workspace/http_opencast-test.rz.htw-berlin.de_80/assets/assets/6238e3e2-f083-4043-92a4-37a18f555011/809328dc-acce-4d93-9c27-4c7d5788e7e6/1/dublincore-c66a24aa-ef42-4146-b976-13f9bbed7653.xml
```

Ich werde leider nicht schlau daraus, weil ich nicht weiß welche Datei er dort erwartet. 
Ich nutze im Moment übrigens kein Netzlaufwerk, die Dateien liegen jeweils lokal auf den Servern. Ich nehme an er kopiert dich sich dann selbst hin und her.

In der organization-mh_default_org.cfg hatte ich nur das hier gefunden:
prop.org.opencastproject.file.repo.url=${prop.org.opencastproject.admin.ui.url}
>> Die admin url ist entsprechend auf allen 3 Servern gleich.

Dictionary auf dem Worker ist installiert. Da hat er im Log allerdings auch vorher keine Fehler gezeigt.

Viele Grüße

Dietmar Zenker

unread,
Nov 6, 2018, 4:58:31 AM11/6/18
to Deutschsprachige Opencast Community

Hi Maya,

prop.org.opencastproject.file.repo.url kannst Du nur nur dann auf allen Nodes auf die gleiche URL setzen, wenn Du ein Shared File System verwendest - steht auch in den Comments:
# The base URL of the file server. When using a shared filesystem between servers, set all servers to use the same URL.
# Only then will hard linking between the working file repository and the workspace be enabled to prevent downloads.

Nach deinen Ausführungen verwendest Du keinen Shared Storage (warum eigentlich?), und den Fehlermeldungen nach zu urteilen ist das das Problem, da Dateien nicht gefunden werden:
2018-11-05 15:09:57,351 | WARN  | (WorkspaceImpl:332) - The working file repository and workspace paths don't match. Looking up http://opencast-test.rz.htw-berlin.de:80/files/mediapackage/6238e3e2-f083-4043-92a4-37a18f555011/10c670fc-d1d5-4479-9692-4d880a7f72bc/Roland_Hess_The_beast.avi at /srv/opencast/files/mediapackage/6238e3e2-f083-4043-92a4-37a18f555011/10c670fc-d1d5-4479-9692-4d880a7f72bc/Roland_Hess_The_beast.avi failed

VG,
Dietmar

Maya S.

unread,
Nov 6, 2018, 5:42:56 AM11/6/18
to Deutschsprachige Opencast Community
Hi, danke dir für deine Antwort.

Ja, so gesehen klingt das irgendwie ziemlich einleuchtend. Ich weiß garnicht wie ich darauf kam das es auch ohne Shared Storage funktionieren sollte...vielleicht nur bei der All-in-One Installation.
Der Grund war oder ist, dass dies nur eine Testinstanz ist und das beantragen eines Netzlaufwerks hätte zu lange gedauert. Die wenigen paar GB lokal hätten zum Testen gereicht.

Grüße Maya.

Dietmar Zenker

unread,
Nov 6, 2018, 6:01:19 AM11/6/18
to Deutschsprachige Opencast Community
Hi Maya,

zum schnellen Testen brauchst Du ja nicht unbedingt extra ein Netzlaufwerk beantragen, sondern kannst einfach ein Verzeichnis eines Opencast-Nodes exportieren und auf den anderen Nodes mounten. Also - falls noch nicht geschehen - die nfs-utils installieren, dann auf dem "Geber"-Node in /etc/exports die Ziel-IPs der "Nehmer"-Nodes eintragen, z.B.:
/srv/opencast    ZIEL-IP(rw,sync,no_subtree_check)
und auf den "Nehmer"-Nodes jeweils die NFS-Freigabe in /etc/fstab eintragen:
QUELL-IP:/srv/opencast   /srv/opencast   nfs  rw,hard,intr,rsize=32768,wsize=32768,proto=tcp,timeo=600 0 0

Nach einem Reboot sämtlicher Nodes oder händisch per exportfs -ra auf dem Geber-Node und anschließendem mount -a auf dem Nehmer-Node sollte der Shared Storage auf allen Nodes zur Verfügung stehen.

VG,
Dietmar

Maya S.

unread,
Nov 6, 2018, 1:14:11 PM11/6/18
to Deutschsprachige Opencast Community
Hi,
ja genau so habe ich es jetzt erstmal gemacht. Und siehe da es funktioniert...bis zum nächsten Fehler :D
Also encodieren und publishing macht er. Nur bei der Operation Snapshot schmeißt er jetzt noch Fehler. Aber das dürfte jetzt nur noch eine Kleinigkeit sein, wenn ich wüßte war er überhaupt machen will.

Ich habe die Übersicht von dem Workflow Operations einfach mal kopiert, also den Schluss wo er failed.

SUCCEEDED publish-oaipmh Publish to OAI-PMH Default Repository Details
FAILED snapshot Archiving Details
SUCCEEDED comment Mark the recording for cutting Details
FAILED snapshot Preserve the current recording state Details
SUCCEEDED cleanup Cleaning up Details

Die Fehlermeldung war jeweils die folgende:
Exception message WorkflowOperationException: org.opencastproject.assetmanager.api.AssetManagerException: java.lang.IllegalArgumentException: URI is not absolute

Welche URI meint er da? 

Vielen vielen Dank nochmal für deine ausgiebige Hilfe. Ich wüsste nicht was ich ohne machen würde :)
Die Dokumentation ist zwar schon recht umfangreich, aber oft fehlt dann doch an den Entscheidenden Stellen die ein oder andere Info.
Eine Art Troubleshooting Guide wäre eine klasse Sache. Vor allem weil rohe Java Exceptions keine wirklich guten Fehlermeldungen her geben. 

PS: Werden eigentlich alle Video/Audio Codecs für den Input unterstützt? 
Ich hatte zwei Videos mit H246 und ACC Audio, wo er hin und wieder bei der File inspection durchfällt. Aber ich habe das noch nicht weiter untersucht,
weil ich zumindest ein Video habe das durchläuft so wie oben beschrieben. 

Viele Grüße Maya
Reply all
Reply to author
Forward
0 new messages