Wowza Adaptive Streaming - Error handling operation 'Distribute'

55 views
Skip to first unread message

Claus Bayer

unread,
Feb 15, 2017, 8:46:57 AM2/15/17
to Deutschsprachige Opencast Community
Hallo zusammen,

wir haben bei uns ein 3-Server Opencast Ubuntu-Setup (Admin, Worker, Engage) mit Opencast 2.2.3 und Wowza Streaming-Server 4.6.
Zunächst hat alles prima geklappt und die hochgeladenen Aufzeichnungen wurden fehlerfrei abgespielt. Nun haben wir das aktuelle Adaptive Streaming Modul nach Anleitung auf dem Engage-Server installiert, was auch im Prinzip gut geklappt hat. Leider bekommen wir nun jedoch bei Verarbeitungsprozess eine Fehlermeldung und die Aufzeichnungen laufen failed.

Nachfolgend poste ich einen Auszug aus dem Logfile des Engage-Server.
Hat jemand eine Idee wo der Fehler liegen könnte?

Vielen Dank und beste Grüße
Claus


...
2017-02-15 13:47:36,020 | INFO  | (StreamingDistributionService:468) - Distributed element http://oc1.domain.com/files/mediapackage/016e65ab-8f3b-4f5a-a1d7-7b0165d29229/f4e81472-0f14-4834-9795-0438438e9657/metau_presenter.mp4 in HLS format to the Wowza Server
2017-02-15 13:47:36,021 | INFO  | (StreamingDistributionService:468) - Distributed element http://oc1.domain.com/files/mediapackage/016e65ab-8f3b-4f5a-a1d7-7b0165d29229/f4e81472-0f14-4834-9795-0438438e9657/metau_presenter.mp4 in DASH format to the Wowza Server
2017-02-15 13:47:36,021 | INFO  | (StreamingDistributionService:468) - Distributed element http://oc1.domain.com/files/mediapackage/016e65ab-8f3b-4f5a-a1d7-7b0165d29229/f4e81472-0f14-4834-9795-0438438e9657/metau_presenter.mp4 in HDS format to the Wowza Server
2017-02-15 13:47:36,022 | INFO  | (StreamingDistributionService:468) - Distributed element http://oc1.domain.com/files/mediapackage/016e65ab-8f3b-4f5a-a1d7-7b0165d29229/f4e81472-0f14-4834-9795-0438438e9657/metau_presenter.mp4 in SMOOTH format to the Wowza Server
2017-02-15 13:47:36,022 | INFO  | (StreamingDistributionService:468) - Distributed element http://oc1.domain.com/files/mediapackage/016e65ab-8f3b-4f5a-a1d7-7b0165d29229/f4e81472-0f14-4834-9795-0438438e9657/metau_presenter.mp4 in RTMP format to the Wowza Server
2017-02-15 13:47:36,024 | INFO  | (StreamingDistributionService:585) - SMIL file for Wowza server saved at /mnt/opencast/streams/mh_default_org/engage-player_016e65ab-8f3b-4f5a-a1d7-7b0165d29229_presenter.smil
2017-02-15 13:47:36,024 | INFO  | (StreamingDistributionService:474) - Distributed file http://oc1.domain.com/files/mediapackage/016e65ab-8f3b-4f5a-a1d7-7b0165d29229/f4e81472-0f14-4834-9795-0438438e9657/metau_presenter.mp4 to Wowza Server
2017-02-15 13:47:36,046 | INFO  | (StreamingDistributionService:433) - Distributing f78baade-8f96-49e4-b6e6-0534f52af999 to /mnt/opencast/streams/mh_default_org/engage-player/016e65ab-8f3b-4f5a-a1d7-7b0165d29229/f78baade-8f96-49e4-b6e6-0534f52af999/metaU_presentation.mp4
2017-02-15 13:47:36,048 | INFO  | (ServiceRegistryJpaImpl:2346) - State set to WARNING for current service org.opencastproject.distribution.streaming on host http://oc3.domain.com
2017-02-15 13:47:36,049 | INFO  | (StreamingDistributionService:468) - Distributed element http://oc1.domain.com/files/mediapackage/016e65ab-8f3b-4f5a-a1d7-7b0165d29229/f78baade-8f96-49e4-b6e6-0534f52af999/metau_presentation.mp4 in HLS format to the Wowza Server
2017-02-15 13:47:36,051 | INFO  | (StreamingDistributionService:468) - Distributed element http://oc1.domain.com/files/mediapackage/016e65ab-8f3b-4f5a-a1d7-7b0165d29229/f78baade-8f96-49e4-b6e6-0534f52af999/metau_presentation.mp4 in DASH format to the Wowza Server
2017-02-15 13:47:36,052 | INFO  | (StreamingDistributionService:468) - Distributed element http://oc1.domain.com/files/mediapackage/016e65ab-8f3b-4f5a-a1d7-7b0165d29229/f78baade-8f96-49e4-b6e6-0534f52af999/metau_presentation.mp4 in HDS format to the Wowza Server
2017-02-15 13:47:36,052 | INFO  | (StreamingDistributionService:468) - Distributed element http://oc1.domain.com/files/mediapackage/016e65ab-8f3b-4f5a-a1d7-7b0165d29229/f78baade-8f96-49e4-b6e6-0534f52af999/metau_presentation.mp4 in SMOOTH format to the Wowza Server
2017-02-15 13:47:36,053 | INFO  | (StreamingDistributionService:468) - Distributed element http://oc1.domain.com/files/mediapackage/016e65ab-8f3b-4f5a-a1d7-7b0165d29229/f78baade-8f96-49e4-b6e6-0534f52af999/metau_presentation.mp4 in RTMP format to the Wowza Server
2017-02-15 13:47:36,054 | INFO  | (StreamingDistributionService:585) - SMIL file for Wowza server saved at /mnt/opencast/streams/mh_default_org/engage-player_016e65ab-8f3b-4f5a-a1d7-7b0165d29229_presentation.smil
2017-02-15 13:47:36,054 | INFO  | (StreamingDistributionService:474) - Distributed file http://oc1.domain.com/files/mediapackage/016e65ab-8f3b-4f5a-a1d7-7b0165d29229/f78baade-8f96-49e4-b6e6-0534f52af999/metau_presentation.mp4 to Wowza Server
2017-02-15 13:47:36,070 | ERROR | (AbstractJobProducer$JobRunner:302) - Error handling operation 'Distribute': org.opencastproject.serviceregistry.api.ServiceRegistryException: Error handling operation 'Distribute'
    at org.opencastproject.distribution.streaming.wowza.StreamingDistributionService.process(StreamingDistributionService.java:999)
    at org.opencastproject.job.api.AbstractJobProducer$JobRunner.call(AbstractJobProducer.java:272)
    at org.opencastproject.job.api.AbstractJobProducer$JobRunner.call(AbstractJobProducer.java:231)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.opencastproject.mediapackage.MediaPackageException: Mediapackage element must not be null
    at org.opencastproject.mediapackage.MediaPackageElementParser.getArrayAsXml(MediaPackageElementParser.java:132)
    at org.opencastproject.distribution.streaming.wowza.StreamingDistributionService.process(StreamingDistributionService.java:976)
    ... 6 more
Caused by: java.lang.IllegalArgumentException: Mediapackage element must not be null
    at org.opencastproject.mediapackage.MediaPackageElementParser.getAsXml(MediaPackageElementParser.java:61)
    at org.opencastproject.mediapackage.MediaPackageElementParser.getArrayAsXml(MediaPackageElementParser.java:125)
    ... 7 more

2017-02-15 13:47:36,071 | INFO  | (ServiceRegistryJpaImpl:2354) - State set to ERROR for current service org.opencastproject.distribution.streaming on host http://oc3.domain.com
2017-02-15 13:47:36,087 | ERROR | (AbstractJobProducer$JobRunner:302) - Error handling operation 'Distribute': org.opencastproject.serviceregistry.api.ServiceRegistryException: Error handling operation 'Distribute'
    at org.opencastproject.distribution.streaming.wowza.StreamingDistributionService.process(StreamingDistributionService.java:999)
    at org.opencastproject.job.api.AbstractJobProducer$JobRunner.call(AbstractJobProducer.java:272)
    at org.opencastproject.job.api.AbstractJobProducer$JobRunner.call(AbstractJobProducer.java:231)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.opencastproject.mediapackage.MediaPackageException: Mediapackage element must not be null
    at org.opencastproject.mediapackage.MediaPackageElementParser.getArrayAsXml(MediaPackageElementParser.java:132)
    at org.opencastproject.distribution.streaming.wowza.StreamingDistributionService.process(StreamingDistributionService.java:976)
    ... 6 more
Caused by: java.lang.IllegalArgumentException: Mediapackage element must not be null
    at org.opencastproject.mediapackage.MediaPackageElementParser.getAsXml(MediaPackageElementParser.java:61)
    at org.opencastproject.mediapackage.MediaPackageElementParser.getArrayAsXml(MediaPackageElementParser.java:125)
    ... 7 more

2017-02-15 13:51:33,550 | INFO  | (StaticFileServiceImpl:320) - Start purging temporary storage section of all known organizations
2017-02-15 13:51:33,551 | INFO  | (StaticFileServiceImpl:296) - Purge temporary storage section of organization 'mh_default_org'

Rüdiger Rolf

unread,
Feb 15, 2017, 8:51:52 AM2/15/17
to anwe...@opencast.org
Ich dachte den Fehler würde es nur in Opencast 2.3.0 geben. In 2.3.1 sollte ein Patch enthalten sein (ich meine der Patch war rechtzeitig gereviewt worden), der das Problem behebt.

Aber vielleicht hast du in 2.2,3 auch nur einen Fehler der sehr ähnlich aussieht. In 2.3.0 hatte zumindest die Wowza Distribution nicht funktioniert.

Gruß
Rüdiger


Am 15.02.17 um 14:46 schrieb Claus Bayer:
--
You received this message because you are subscribed to the Google Groups "Deutschsprachige Opencast Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to anwender+u...@opencast.org.

Claus Bayer

unread,
Feb 15, 2017, 9:56:52 AM2/15/17
to Deutschsprachige Opencast Community
Hallo Rüdiger,

danke für Deine Antwort! Ich habe die Version zur Sicherheit nochmal kurz überprüft, es handelt sich um Opencast 2.2.3 mit aktuellem Adaptive Streaming Modul.
Soll ich es vielleicht besser mit 2.3.1 versuchen oder hast Du evtl. noch eine andere Idee woran es liegen könnte?

Viele Grüße
Claus

Rüdiger Rolf

unread,
Feb 15, 2017, 10:04:43 AM2/15/17
to anwe...@opencast.org

Ich bin mir nicht ganz sicher.

Es scheint an dieser Zeile zu liegen.

https://bitbucket.org/opencast-community/opencast-contrib-wowza-adaptive-streaming/src/3038daf3d6f23cee824acea2ec3683b4dfd52146/modules/matterhorn-distribution-service-streaming-wowza/src/main/java/org/opencastproject/distribution/streaming/wowza/StreamingDistributionService.java?at=master&fileviewer=file-view-default#StreamingDistributionService.java-976

Eigentlich wird da eine mögliche NULL Pointer Exception abgefragt, so dass nicht zu dem Fehler kommen kann. Du nutzt schon die "offizielle" Version oder noch einen Snapshot der kölner Kollegen? Vielleicht hatte Ruben das Problem in der Zischenzeit noch beseitigt? Schau vielleicht mal in deinen Quellcode rein, ob es da noch anders aussieht.

Gruß
Rüdiger

Claus Bayer

unread,
Feb 15, 2017, 10:22:06 AM2/15/17
to Deutschsprachige Opencast Community
Hallo Rüdiger,

ich habe kurz nachgesehen und die Zeilen im Quellcode sind mit Deinem Link identisch.

Viele Grüße
Claus

Claus Bayer

unread,
Feb 28, 2017, 7:23:35 AM2/28/17
to Deutschsprachige Opencast Community
Hallo Rüdiger,

ich habe nun Opencast (3-Server Setup) komplett neu auf OC 2.3.1 umgestellt, zuvor hatte ich das Adaptive Streaming nach der Anleitung unter https://bitbucket.org/opencast-community/opencast-contrib-wowza-adaptive-streaming eingebaut und entsprechend konfiguriert. Zunächst scheint alles gut zu funktionieren, jedoch bekomme ich beim Verarbeiten der Aufzeichnungen eine Exception. Ich liste kurz grob mein Vorgehen, vielleicht habe ich irgend etwas übersehen:

- Download der OC 2.3.2 Sourcen
- Einbau und Konfiguration des Adaptive Streaming Moduls nach Anleitung unter https://bitbucket.org/opencast-community/opencast-contrib-wowza-adaptive-streaming
- OC build (mvn clean install) und die fertigen Builds auf den Servern installiert:
     - Admin-Server: opencast-dist-admin-2.3.1.tar.gz
     - Worker-Server: opencast-dist-worker-2.3.1.tar.gz
     - Engage-Server: opencast-dist-presentation-2.3.1.tar.gz
- Anpassen der Konfiguration nach Doku unter https://docs.opencast.org/latest/admin/installation/multiple-servers/
- Wowza installieren und konfigurieren nach https://bitbucket.org/opencast-community/opencast-contrib-wowza-adaptive-streaming

Das oben genannte Setup hatte zuvor einwandfrei funktioniert. Erst nachdem das Adaptive Streaming Plugin eingebaut wurde, haben die Probleme angefangen.
Für den Moment weiß ich nicht weiter woran es liegen könnte und wie ich den Fehler suchen könnte. Könnte sich das vielleicht jemand kurz ansehen? Tausend Dank im Voraus!

Nachfolgend die aktuelle Exception, welche beim Verarbeitungsschritt "publish-engage" auftritt:

job-operation

START_OPERATION

job-type

org.opencastproject.workflow

stack-trace

org.opencastproject.workflow.api.WorkflowOperationException: org.opencastproject.distribution.api.DistributionException: Unable to distribute mediapackage 2f51b384-3b25-4496-9d7f-93c5ce7204bb using a remote distribution service proxy.
    at org.opencastproject.workflow.handler.distribution.PublishEngageWorkflowOperationHandler.start(PublishEngageWorkflowOperationHandler.java:339)
    at org.opencastproject.workflow.impl.WorkflowOperationWorker.start(WorkflowOperationWorker.java:229)
    at org.opencastproject.workflow.impl.WorkflowOperationWorker.execute(WorkflowOperationWorker.java:155)
    at org.opencastproject.workflow.impl.WorkflowServiceImpl.runWorkflowOperation(WorkflowServiceImpl.java:883)
    at org.opencastproject.workflow.impl.WorkflowServiceImpl.process(WorkflowServiceImpl.java:1942)
    at org.opencastproject.workflow.impl.WorkflowServiceImpl$JobRunner.call(WorkflowServiceImpl.java:2361)
    at org.opencastproject.workflow.impl.WorkflowServiceImpl$JobRunner.call(WorkflowServiceImpl.java:2327)

    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.opencastproject.distribution.api.DistributionException: Unable to distribute mediapackage 2f51b384-3b25-4496-9d7f-93c5ce7204bb using a remote distribution service proxy.
    at org.opencastproject.distribution.streaming.remote.StreamingDistributionServiceRemoteImpl.distribute(StreamingDistributionServiceRemoteImpl.java:109)
    at org.opencastproject.workflow.handler.distribution.PublishEngageWorkflowOperationHandler.start(PublishEngageWorkflowOperationHandler.java:332)
    ... 10 more

Jan Koppe

unread,
Feb 28, 2017, 8:51:34 AM2/28/17
to anwe...@opencast.org
Hallo Claus,

die Fehlermeldung kommt mir arg bekannt vor. Schau doch mal bitte, ob
die hier auf der Liste diskutierten Datenbank-Timeouts auch bei dir
passieren. Sieht ganz danach aus, als würde auch bei dir die
Presentation Instanz die Verbindung zur Datenbank verlieren, weil
einfach zu selten eine Abfrage auf der Verbindung getätigt wird. Beim
Versuch die Dateien zu publishen schlägt der Job dann fehl, weil der
Presentation Server erst dann merkt, dass die Verbindung kaputt ist.

In diesem Fall solltest du Fehler zur Datenkbank in den Logs auf dem
Presentation Server finden.

Temporärer Workaround wäre es, cronmäßig den Such-Endpunkt auf dem
Presentationserver abzufragen, oder den Timeout Datenbankseitig zu
erhöhen (Falls möglich).

Gruß,
Jan
>>> <https://bitbucket.org/opencast-community/opencast-contrib-wowza-adaptive-streaming>
>>> *2017-02-15 13:47:36,070 | ERROR |
>>> (AbstractJobProducer$JobRunner:302) - Error handling
>>> operation 'Distribute':
>>> org.opencastproject.serviceregistry.api.ServiceRegistryException:
>>> Error handling operation 'Distribute'*
>>> at
>>> org.opencastproject.distribution.streaming.wowza.StreamingDistributionService.process(StreamingDistributionService.java:999)
>>> at
>>> org.opencastproject.job.api.AbstractJobProducer$JobRunner.call(AbstractJobProducer.java:272)
>>> at
>>> org.opencastproject.job.api.AbstractJobProducer$JobRunner.call(AbstractJobProducer.java:231)
>>> at
>>> java.util.concurrent.FutureTask.run(FutureTask.java:266)
>>> at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>>> at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>>> at java.lang.Thread.run(Thread.java:745)
>>> Caused by:
>>> org.opencastproject.mediapackage.MediaPackageException:
>>> *Mediapackage element must not be null*
> <mailto:anwender+u...@opencast.org>.

--
Jan Koppe
eLectures / LearnWeb
Westfälische Wilhelms-Universität
Georgskommende 25 - Room 310
48143 Münster/Westf. - Germany
Tel. + 49 (0) 251 - 83 29295
E-mail: jan....@wwu.de


Claus Bayer

unread,
Feb 28, 2017, 10:10:57 AM2/28/17
to Deutschsprachige Opencast Community
Hallo Jan,

vielen Dank für Deine Antwort! Ich habe auf Deinen Rat hin per Cronjob einen Request auf das Engage Media Modul (curl -o /dev/null "http://server.tld/engage/ui/index.html") eingetragen, welcher jede Minute ausgeführt wird. Leider kein Erfolg, die Fehlermeldung besteht nachwievor.
Der Fehler tritt erst dann auf, wenn das Adaptive Streaming Modul eingebaut ist, mit dem Standard Streaming Modul funktioniert alles einwandfrei.

Hat noch jemand eine Idee? Funktioniert das Adaptive Streaming bekanntermaßen mit OC 2.3.1?
Mit OC 2.2.3 hatte ich zwar auch eine Fehlermeldung in Verbindung mit dem Adaptive Streaming Plugin (siehe Text oben), jedoch wurde dort das Plugin immerhin korrekt aufgerufen und der Arbeitsschritt teilweiße ausgeführt. Mit OC 2.3.1 scheint es nun überhaupt nicht mehr zu funktionieren.

Ich bin für jede Hilfe sehr dankbar!

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