active-encode 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +16 -0
  4. data/.travis.yml +10 -0
  5. data/Gemfile +7 -0
  6. data/LICENSE +202 -0
  7. data/README.md +106 -0
  8. data/Rakefile +34 -0
  9. data/active-encode.gemspec +29 -0
  10. data/lib/active-encode.rb +1 -0
  11. data/lib/active_encode.rb +2 -0
  12. data/lib/active_encode/base.rb +16 -0
  13. data/lib/active_encode/callbacks.rb +69 -0
  14. data/lib/active_encode/core.rb +81 -0
  15. data/lib/active_encode/engine_adapter.rb +52 -0
  16. data/lib/active_encode/engine_adapters.rb +26 -0
  17. data/lib/active_encode/engine_adapters/active_job_adapter.rb +23 -0
  18. data/lib/active_encode/engine_adapters/inline_adapter.rb +42 -0
  19. data/lib/active_encode/engine_adapters/matterhorn_adapter.rb +290 -0
  20. data/lib/active_encode/engine_adapters/test_adapter.rb +38 -0
  21. data/lib/active_encode/engine_adapters/zencoder_adapter.rb +147 -0
  22. data/lib/active_encode/status.rb +38 -0
  23. data/lib/active_encode/technical_metadata.rb +11 -0
  24. data/lib/active_encode/version.rb +3 -0
  25. data/spec/fixtures/Bars_512kb.mp4 +0 -0
  26. data/spec/fixtures/matterhorn/cancelled_response.xml +323 -0
  27. data/spec/fixtures/matterhorn/completed_response.xml +4 -0
  28. data/spec/fixtures/matterhorn/create_response.xml +300 -0
  29. data/spec/fixtures/matterhorn/delete_track_response.xml +2 -0
  30. data/spec/fixtures/matterhorn/failed_response.xml +4 -0
  31. data/spec/fixtures/matterhorn/purged_response.xml +342 -0
  32. data/spec/fixtures/matterhorn/running_response.xml +1 -0
  33. data/spec/fixtures/matterhorn/stop_completed_response.xml +228 -0
  34. data/spec/fixtures/matterhorn/stop_running_response.xml +339 -0
  35. data/spec/fixtures/zencoder/job_create.json +1 -0
  36. data/spec/fixtures/zencoder/job_details_cancelled.json +1 -0
  37. data/spec/fixtures/zencoder/job_details_completed.json +1 -0
  38. data/spec/fixtures/zencoder/job_details_create.json +1 -0
  39. data/spec/fixtures/zencoder/job_details_failed.json +73 -0
  40. data/spec/fixtures/zencoder/job_details_running.json +1 -0
  41. data/spec/fixtures/zencoder/job_progress_cancelled.json +13 -0
  42. data/spec/fixtures/zencoder/job_progress_completed.json +13 -0
  43. data/spec/fixtures/zencoder/job_progress_create.json +1 -0
  44. data/spec/fixtures/zencoder/job_progress_failed.json +13 -0
  45. data/spec/fixtures/zencoder/job_progress_running.json +1 -0
  46. data/spec/integration/matterhorn_adapter_spec.rb +186 -0
  47. data/spec/integration/zencoder_adapter_spec.rb +153 -0
  48. data/spec/spec_helper.rb +12 -0
  49. data/spec/units/callbacks_spec.rb +67 -0
  50. data/spec/units/engine_adapter_spec.rb +68 -0
  51. data/spec/units/status_spec.rb +64 -0
  52. metadata +221 -0
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?><workflow xmlns="http://workflow.opencastproject.org" xmlns:ns2="http://org.opencastproject.security" xmlns:ns3="http://mediapackage.opencastproject.org" state="SUCCEEDED" id="completed-id"><template>avalon</template><title>Encode, Analyze, and Distribute (Avalon)</title><description>
2
+ A simple workflow that transcodes the media into distribution formats, then sends the resulting distribution files,
3
+ along with their associated metadata, to the distribution channels.
4
+ </description><parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/><ns2:creator><ns2:userName>matterhorn_system_account</ns2:userName><ns2:roles>MATTERHORN_ADMINISTRATOR</ns2:roles><ns2:roles>ROLE_ADMIN</ns2:roles><ns2:roles>ROLE_ANONYMOUS</ns2:roles><ns2:roles>ROLE_OAUTH_USER</ns2:roles><ns2:roles>ROLE_USER</ns2:roles><ns2:organization>mh_default_org</ns2:organization></ns2:creator><ns2:organization id="mh_default_org"><ns2:name>Opencast Project</ns2:name><ns2:servers><ns2:server port="8080" name="localhost"/></ns2:servers><ns2:adminRole>ROLE_ADMIN</ns2:adminRole><ns2:anonymousRole>ROLE_ANONYMOUS</ns2:anonymousRole><ns2:properties><ns2:property key="engageui.link_mobile_redirect.description">For more information have a look at the official site.</ns2:property><ns2:property key="engageui.link_mobile_redirect.url">http://opencast.org/matterhorn/</ns2:property><ns2:property key="engageui.annotations.enable">true</ns2:property><ns2:property key="adminui.series_prepopulate.enable">false</ns2:property><ns2:property key="adminui.i18n_tab_episode.enable">true</ns2:property><ns2:property key="avalon.stream_base">file:///home/cjcolvar/Code/avalon/avalon/red5/webapps/avalon/streams</ns2:property><ns2:property key="engageui.link_download.enable">false</ns2:property><ns2:property key="adminui.chunksize">2024</ns2:property><ns2:property key="logo_large">/engage/ui/img/mh_logos/MatterhornLogo_large.png</ns2:property><ns2:property key="adminui.i18n_tab_users.enable">false</ns2:property><ns2:property key="engageui.link_mobile_redirect.enable">false</ns2:property><ns2:property key="engageui.links_media_module.enable">true</ns2:property><ns2:property key="logo_small">/engage/ui/img/mh_logos/OpencastLogo.png</ns2:property></ns2:properties></ns2:organization><ns3:mediapackage start="2015-04-21T18:08:00Z" id="f564d9de-9c35-4b74-95f0-f3013f32cc1a" duration="6337"><ns3:title>videoshort.mp4</ns3:title><ns3:media><ns3:track ref="track:b09c765f-b64e-4725-a863-736af66b688c" type="presenter/delivery" id="track-7"><ns3:mimetype>video/mp4</ns3:mimetype><ns3:tags><ns3:tag>engage</ns3:tag><ns3:tag>publish</ns3:tag><ns3:tag>quality-high</ns3:tag><ns3:tag>streaming</ns3:tag></ns3:tags><ns3:url>rtmp://localhost/vod/mp4:f564d9de-9c35-4b74-95f0-f3013f32cc1a/b09c765f-b64e-4725-a863-736af66b688c/videoshort</ns3:url><ns3:checksum type="md5">77de9765545ef63d2c21f7557ead6176</ns3:checksum><ns3:duration>6337</ns3:duration><ns3:audio id="audio-1"><ns3:device/><ns3:encoder type="AAC"/><ns3:channels>2</ns3:channels><ns3:bitrate>76502.0</ns3:bitrate></ns3:audio><ns3:video id="video-1"><ns3:device/><ns3:encoder type="AVC"/><ns3:bitrate>2000000.0</ns3:bitrate><ns3:framerate>30.0</ns3:framerate><ns3:resolution>1308x720</ns3:resolution><ns3:scantype type="Progressive"/></ns3:video></ns3:track><ns3:track ref="track:8d5cd8a9-ad0e-484a-96f0-05e26a84a8f0" type="presenter/delivery" id="track-8"><ns3:mimetype>video/mp4</ns3:mimetype><ns3:tags><ns3:tag>engage</ns3:tag><ns3:tag>publish</ns3:tag><ns3:tag>quality-low</ns3:tag><ns3:tag>streaming</ns3:tag></ns3:tags><ns3:url>rtmp://localhost/vod/mp4:f564d9de-9c35-4b74-95f0-f3013f32cc1a/8d5cd8a9-ad0e-484a-96f0-05e26a84a8f0/videoshort</ns3:url><ns3:checksum type="md5">10e13cf51bf8a973011eec6a17ea47ff</ns3:checksum><ns3:duration>6337</ns3:duration><ns3:audio id="audio-1"><ns3:device/><ns3:encoder type="AAC"/><ns3:channels>2</ns3:channels><ns3:bitrate>76502.0</ns3:bitrate></ns3:audio><ns3:video id="video-1"><ns3:device/><ns3:encoder type="AVC"/><ns3:bitrate>500000.0</ns3:bitrate><ns3:framerate>30.0</ns3:framerate><ns3:resolution>654x360</ns3:resolution><ns3:scantype type="Progressive"/></ns3:video></ns3:track><ns3:track ref="track:0f81d426-0e26-4496-8f58-c675c86e6f4e" type="presenter/delivery" id="track-9"><ns3:mimetype>video/mp4</ns3:mimetype><ns3:tags><ns3:tag>engage</ns3:tag><ns3:tag>publish</ns3:tag><ns3:tag>quality-medium</ns3:tag><ns3:tag>streaming</ns3:tag></ns3:tags><ns3:url>rtmp://localhost/vod/mp4:f564d9de-9c35-4b74-95f0-f3013f32cc1a/0f81d426-0e26-4496-8f58-c675c86e6f4e/videoshort</ns3:url><ns3:checksum type="md5">f2b16a2606dc76cb53c7017f0e166204</ns3:checksum><ns3:duration>6337</ns3:duration><ns3:audio id="audio-1"><ns3:device/><ns3:encoder type="AAC"/><ns3:channels>2</ns3:channels><ns3:bitrate>76502.0</ns3:bitrate></ns3:audio><ns3:video id="video-1"><ns3:device/><ns3:encoder type="AVC"/><ns3:bitrate>1000000.0</ns3:bitrate><ns3:framerate>30.0</ns3:framerate><ns3:resolution>872x480</ns3:resolution><ns3:scantype type="Progressive"/></ns3:video></ns3:track></ns3:media><ns3:metadata/><ns3:attachments/></ns3:mediapackage><operations><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Inspecting the media package" state="SUCCEEDED" job="7233" id="inspect"><configurations/><started>1429639751404</started><completed>1429639765570</completed><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="false" description="Preprocessing (1/4)" state="SUCCEEDED" job="7235" id="compose"><configurations><configuration key="target-flavor">presenter/source</configuration><configuration key="encoding-profile">epiphan.presenter</configuration><configuration key="source-flavor">multitrack/source</configuration></configurations><started>1429639778807</started><completed>1429639779473</completed><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Preprocessing (2/4)" state="SUCCEEDED" job="7236" id="prepare-av"><configurations><configuration key="target-flavor">presenter/work</configuration><configuration key="rewrite">false</configuration><configuration key="promiscuous-audio-muxing">true</configuration><configuration key="source-flavor">presenter/source</configuration></configurations><started>1429639787918</started><completed>1429639788625</completed><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" if="${trimHold}" fail-on-error="true" description="Preprocessing (3/4)" state="SKIPPED" job="7237" id="compose"><configurations><configuration key="target-flavor">presenter/preview</configuration><configuration key="encoding-profile">flash-preview.http</configuration><configuration key="source-flavor">presenter/work</configuration></configurations><started>1429639797038</started><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" if="${trimHold}" fail-on-error="true" description="Preprocessing (4/4)" state="SKIPPED" job="7238" id="trim"><configurations><configuration key="encoding-profile">trim.work</configuration><configuration key="target-flavor-subtype">trimmed</configuration><configuration key="source-flavor">*/work</configuration></configurations><started>1429639806196</started><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding video to mp4 (low quality)" state="SUCCEEDED" job="7239" id="compose"><configurations><configuration key="target-flavor">presenter/delivery</configuration><configuration key="encoding-profile">mp4-low.http</configuration><configuration key="target-tags">engage, quality-low</configuration><configuration key="source-flavor">presenter/trimmed</configuration></configurations><started>1429639815377</started><completed>1429639848060</completed><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding video to mp4 (medium quality)" state="SUCCEEDED" job="7242" id="compose"><configurations><configuration key="target-flavor">presenter/delivery</configuration><configuration key="encoding-profile">mp4-medium.http</configuration><configuration key="target-tags">engage, quality-medium</configuration><configuration key="source-flavor">presenter/trimmed</configuration></configurations><started>1429639861319</started><completed>1429639903997</completed><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding video to mp4 (high quality)" state="SUCCEEDED" job="7245" id="compose"><configurations><configuration key="target-flavor">presenter/delivery</configuration><configuration key="encoding-profile">mp4-high.http</configuration><configuration key="target-tags">engage, quality-high</configuration><configuration key="source-flavor">presenter/trimmed</configuration></configurations><started>1429639917211</started><completed>1429639983209</completed><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Applying access control rules" state="SUCCEEDED" job="7248" id="apply-acl"><configurations/><started>1429639992329</started><completed>1429639992950</completed><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="2" exception-handler-workflow="error" if="rtmp://localhost/vod" fail-on-error="true" description="Distributing desktop stream to server" state="SUCCEEDED" job="7249" id="distribute-streaming"><configurations><configuration key="source-tags">engage,-publish</configuration><configuration key="target-tags">publish, streaming</configuration></configurations><started>1429640001455</started><completed>1429640015683</completed><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Published" state="SUCCEEDED" job="7253" id="publish"><configurations><configuration key="source-tags">publish</configuration></configurations><started>1429640028982</started><completed>1429640044027</completed><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" fail-on-error="false" description="Cleaning up" state="SUCCEEDED" job="7255" id="cleanup"><configurations><configuration key="preserve-flavors"></configuration></configurations><started>1429640057371</started><completed>1429640058061</completed><time-in-queue>0</time-in-queue><execution-history/></operation></operations><configurations/><errors/></workflow>
@@ -0,0 +1,300 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <workflow xmlns="http://workflow.opencastproject.org" xmlns:ns2="http://org.opencastproject.security" xmlns:ns3="http://mediapackage.opencastproject.org" state="INSTANTIATED" id="8453">
3
+ <template>full</template>
4
+ <title>Encode, Analyze, and Distribute</title>
5
+ <description>
6
+ A simple workflow that transcodes the media into distribution formats, then sends the resulting distribution files,
7
+ along with their associated metadata, to the distribution channels.
8
+ </description>
9
+ <parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
10
+ <ns2:creator>
11
+ <ns2:userName>matterhorn_system_account</ns2:userName>
12
+ <ns2:roles>MATTERHORN_ADMINISTRATOR</ns2:roles>
13
+ <ns2:roles>ROLE_ADMIN</ns2:roles>
14
+ <ns2:roles>ROLE_ANONYMOUS</ns2:roles>
15
+ <ns2:roles>ROLE_OAUTH_USER</ns2:roles>
16
+ <ns2:roles>ROLE_USER</ns2:roles>
17
+ <ns2:organization>mh_default_org</ns2:organization>
18
+ </ns2:creator>
19
+ <ns2:organization id="mh_default_org">
20
+ <ns2:name>Opencast Project</ns2:name>
21
+ <ns2:servers>
22
+ <ns2:server port="8080" name="localhost"/>
23
+ </ns2:servers>
24
+ <ns2:adminRole>ROLE_ADMIN</ns2:adminRole>
25
+ <ns2:anonymousRole>ROLE_ANONYMOUS</ns2:anonymousRole>
26
+ <ns2:properties>
27
+ <ns2:property key="engageui.link_mobile_redirect.description">For more information have a look at the official site.</ns2:property>
28
+ <ns2:property key="engageui.link_mobile_redirect.url">http://opencast.org/matterhorn/</ns2:property>
29
+ <ns2:property key="engageui.annotations.enable">true</ns2:property>
30
+ <ns2:property key="adminui.series_prepopulate.enable">false</ns2:property>
31
+ <ns2:property key="adminui.i18n_tab_episode.enable">true</ns2:property>
32
+ <ns2:property key="avalon.stream_base">file:///home/cjcolvar/Code/avalon/avalon/red5/webapps/avalon/streams</ns2:property>
33
+ <ns2:property key="engageui.link_download.enable">false</ns2:property>
34
+ <ns2:property key="adminui.chunksize">2024</ns2:property>
35
+ <ns2:property key="logo_large">/engage/ui/img/mh_logos/MatterhornLogo_large.png</ns2:property>
36
+ <ns2:property key="adminui.i18n_tab_users.enable">false</ns2:property>
37
+ <ns2:property key="engageui.link_mobile_redirect.enable">false</ns2:property>
38
+ <ns2:property key="engageui.links_media_module.enable">true</ns2:property>
39
+ <ns2:property key="logo_small">/engage/ui/img/mh_logos/OpencastLogo.png</ns2:property>
40
+ </ns2:properties>
41
+ </ns2:organization>
42
+ <ns3:mediapackage start="2015-04-24T15:44:47Z" id="999d8d4f-b146-4f58-ae52-4053ea64d11e">
43
+ <ns3:title>Bars_512kb.mp4</ns3:title>
44
+ <ns3:media>
45
+ <ns3:track type="presenter/source" id="3a1748d6-f928-4437-80e8-72526c32ed32">
46
+ <ns3:tags/>
47
+ <ns3:url>http://localhost:8080/files/mediapackage/999d8d4f-b146-4f58-ae52-4053ea64d11e/3a1748d6-f928-4437-80e8-72526c32ed32/Bars_512kb.mp4</ns3:url>
48
+ </ns3:track>
49
+ </ns3:media>
50
+ <ns3:metadata>
51
+ <ns3:catalog type="dublincore/episode" id="3fd059a7-95be-400d-93b4-875ad89a3330">
52
+ <ns3:mimetype>text/xml</ns3:mimetype>
53
+ <ns3:tags/>
54
+ <ns3:url>http://localhost:8080/files/mediapackage/999d8d4f-b146-4f58-ae52-4053ea64d11e/3fd059a7-95be-400d-93b4-875ad89a3330/dublincore.xml</ns3:url>
55
+ </ns3:catalog>
56
+ </ns3:metadata>
57
+ <ns3:attachments/>
58
+ </ns3:mediapackage>
59
+ <operations>
60
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Applying access control rules" state="INSTANTIATED" id="apply-acl">
61
+ <configurations/>
62
+ <execution-history/>
63
+ </operation>
64
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" fail-on-error="true" description="Tagging source material for archival" state="INSTANTIATED" id="tag">
65
+ <configurations>
66
+ <configuration key="source-flavors">*/source,dublincore/*,security/*</configuration>
67
+ <configuration key="target-tags">+archive</configuration>
68
+ </configurations>
69
+ <execution-history/>
70
+ </operation>
71
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" fail-on-error="true" description="Tagging dublin core catalogs for publishing" state="INSTANTIATED" id="tag">
72
+ <configurations>
73
+ <configuration key="source-flavors">dublincore/*</configuration>
74
+ <configuration key="target-tags">+engage</configuration>
75
+ </configurations>
76
+ <execution-history/>
77
+ </operation>
78
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Inspecting the media package" state="INSTANTIATED" id="inspect">
79
+ <configurations/>
80
+ <execution-history/>
81
+ </operation>
82
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Preparing presenter audio and video work versions" state="INSTANTIATED" id="prepare-av">
83
+ <configurations>
84
+ <configuration key="target-flavor">presenter/work</configuration>
85
+ <configuration key="rewrite">false</configuration>
86
+ <configuration key="promiscuous-audio-muxing">true</configuration>
87
+ <configuration key="source-flavor">presenter/source</configuration>
88
+ </configurations>
89
+ <execution-history/>
90
+ </operation>
91
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Preparing presentation audio and video work version" state="INSTANTIATED" id="prepare-av">
92
+ <configurations>
93
+ <configuration key="target-flavor">presentation/work</configuration>
94
+ <configuration key="rewrite">false</configuration>
95
+ <configuration key="promiscuous-audio-muxing">true</configuration>
96
+ <configuration key="source-flavor">presentation/source</configuration>
97
+ </configurations>
98
+ <execution-history/>
99
+ </operation>
100
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" if="${videoPreview}" fail-on-error="true" description="Encoding presenter (camera) video for preview" state="INSTANTIATED" id="compose">
101
+ <configurations>
102
+ <configuration key="target-flavor">*/preview</configuration>
103
+ <configuration key="encoding-profile">flash-preview.http</configuration>
104
+ <configuration key="source-flavor">*/work</configuration>
105
+ </configurations>
106
+ <execution-history/>
107
+ </operation>
108
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" if="${trimHold}" fail-on-error="true" description="Waiting for user to review / trim recording" state="INSTANTIATED" id="trim">
109
+ <configurations>
110
+ <configuration key="encoding-profile">trim.work</configuration>
111
+ <configuration key="target-flavor-subtype">trimmed</configuration>
112
+ <configuration key="source-flavor">*/work</configuration>
113
+ </configurations>
114
+ <execution-history/>
115
+ </operation>
116
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" fail-on-error="true" description="Tagging trimmed media for archive" state="INSTANTIATED" id="tag">
117
+ <configurations>
118
+ <configuration key="source-flavors">*/trimmed</configuration>
119
+ <configuration key="target-tags">+archive</configuration>
120
+ </configurations>
121
+ <execution-history/>
122
+ </operation>
123
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" if="${captionHold}" fail-on-error="true" description="Waiting for user to upload captions" state="INSTANTIATED" id="caption">
124
+ <configurations>
125
+ <configuration key="target-tags">engage,archive</configuration>
126
+ </configurations>
127
+ <execution-history/>
128
+ </operation>
129
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding presenter (camera) to player preview image" state="INSTANTIATED" id="image">
130
+ <configurations>
131
+ <configuration key="target-flavor">presenter/player+preview</configuration>
132
+ <configuration key="source-tags"/>
133
+ <configuration key="time">1</configuration>
134
+ <configuration key="encoding-profile">player-preview.http</configuration>
135
+ <configuration key="target-tags">engage</configuration>
136
+ <configuration key="source-flavor">presenter/trimmed</configuration>
137
+ </configurations>
138
+ <execution-history/>
139
+ </operation>
140
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding presentation (screen) to player preview image" state="INSTANTIATED" id="image">
141
+ <configurations>
142
+ <configuration key="target-flavor">presentation/player+preview</configuration>
143
+ <configuration key="source-tags"/>
144
+ <configuration key="time">1</configuration>
145
+ <configuration key="encoding-profile">player-preview.http</configuration>
146
+ <configuration key="target-tags">engage</configuration>
147
+ <configuration key="source-flavor">presentation/trimmed</configuration>
148
+ </configurations>
149
+ <execution-history/>
150
+ </operation>
151
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding presenter (camera) video to Flash download" state="INSTANTIATED" id="compose">
152
+ <configurations>
153
+ <configuration key="target-flavor">presenter/delivery</configuration>
154
+ <configuration key="encoding-profile">flash.http</configuration>
155
+ <configuration key="target-tags">engage</configuration>
156
+ <configuration key="source-flavor">presenter/trimmed</configuration>
157
+ </configurations>
158
+ <execution-history/>
159
+ </operation>
160
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding presentation (screen) to Flash download" state="INSTANTIATED" id="compose">
161
+ <configurations>
162
+ <configuration key="target-flavor">presentation/delivery</configuration>
163
+ <configuration key="encoding-profile">flash-vga.http</configuration>
164
+ <configuration key="target-tags">engage</configuration>
165
+ <configuration key="source-flavor">presentation/trimmed</configuration>
166
+ </configurations>
167
+ <execution-history/>
168
+ </operation>
169
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="false" description="Encoding presenter (screen) to flash audio download" state="INSTANTIATED" id="compose">
170
+ <configurations>
171
+ <configuration key="target-flavor">presenter/delivery</configuration>
172
+ <configuration key="encoding-profile">flash-audio.http</configuration>
173
+ <configuration key="target-tags">engage</configuration>
174
+ <configuration key="source-flavor">presenter/trimmed</configuration>
175
+ </configurations>
176
+ <execution-history/>
177
+ </operation>
178
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="false" description="Extracting segments from presentation" state="INSTANTIATED" id="segment-video">
179
+ <configurations>
180
+ <configuration key="source-flavor">presentation/trimmed</configuration>
181
+ </configurations>
182
+ <execution-history/>
183
+ </operation>
184
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding presenter (camera) to search result preview image" state="INSTANTIATED" id="image">
185
+ <configurations>
186
+ <configuration key="target-flavor">presenter/search+preview</configuration>
187
+ <configuration key="source-tags"/>
188
+ <configuration key="time">1</configuration>
189
+ <configuration key="encoding-profile">search-cover.http</configuration>
190
+ <configuration key="target-tags">engage</configuration>
191
+ <configuration key="source-flavor">presenter/trimmed</configuration>
192
+ </configurations>
193
+ <execution-history/>
194
+ </operation>
195
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding presentation (screen) to search result preview image" state="INSTANTIATED" id="image">
196
+ <configurations>
197
+ <configuration key="target-flavor">presentation/search+preview</configuration>
198
+ <configuration key="source-tags"/>
199
+ <configuration key="time">1</configuration>
200
+ <configuration key="encoding-profile">search-cover.http</configuration>
201
+ <configuration key="target-tags">engage</configuration>
202
+ <configuration key="source-flavor">presentation/trimmed</configuration>
203
+ </configurations>
204
+ <execution-history/>
205
+ </operation>
206
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding to feed download formats" state="INSTANTIATED" id="compose">
207
+ <configurations>
208
+ <configuration key="target-flavor">*/delivery</configuration>
209
+ <configuration key="encoding-profiles">feed-m4a.http, feed-avi.http</configuration>
210
+ <configuration key="target-tags">rss, atom</configuration>
211
+ <configuration key="source-flavor">*/trimmed</configuration>
212
+ </configurations>
213
+ <execution-history/>
214
+ </operation>
215
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding presenter (camera) to feed preview image" state="INSTANTIATED" id="image">
216
+ <configurations>
217
+ <configuration key="target-flavor">presenter/feed+preview</configuration>
218
+ <configuration key="source-tags"/>
219
+ <configuration key="time">1</configuration>
220
+ <configuration key="encoding-profile">feed-cover.http</configuration>
221
+ <configuration key="target-tags">rss, atom</configuration>
222
+ <configuration key="source-flavor">presenter/trimmed</configuration>
223
+ </configurations>
224
+ <execution-history/>
225
+ </operation>
226
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding presentation (screen) to feed preview image" state="INSTANTIATED" id="image">
227
+ <configurations>
228
+ <configuration key="target-flavor">presentation/feed+preview</configuration>
229
+ <configuration key="source-tags"/>
230
+ <configuration key="time">1</configuration>
231
+ <configuration key="encoding-profile">feed-cover.http</configuration>
232
+ <configuration key="target-tags">rss, atom</configuration>
233
+ <configuration key="source-flavor">presentation/trimmed</configuration>
234
+ </configurations>
235
+ <execution-history/>
236
+ </operation>
237
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="false" description="Encoding presentation (screen) to segment preview image" state="INSTANTIATED" id="segmentpreviews">
238
+ <configurations>
239
+ <configuration key="target-flavor">presentation/segment+preview</configuration>
240
+ <configuration key="source-tags"/>
241
+ <configuration key="encoding-profile">player-slides.http</configuration>
242
+ <configuration key="reference-flavor">presentation/delivery</configuration>
243
+ <configuration key="target-tags">engage</configuration>
244
+ <configuration key="reference-tags">engage</configuration>
245
+ <configuration key="source-flavor">presentation/trimmed</configuration>
246
+ </configurations>
247
+ <execution-history/>
248
+ </operation>
249
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="false" description="Extracting text from presentation segments" state="INSTANTIATED" id="extract-text">
250
+ <configurations>
251
+ <configuration key="source-tags"/>
252
+ <configuration key="target-tags">engage,archive</configuration>
253
+ <configuration key="source-flavor">presentation/trimmed</configuration>
254
+ </configurations>
255
+ <execution-history/>
256
+ </operation>
257
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="2" exception-handler-workflow="error" fail-on-error="true" description="Distributing to progressive downloads" state="INSTANTIATED" id="distribute-download">
258
+ <configurations>
259
+ <configuration key="source-tags">engage,atom,rss,-publish</configuration>
260
+ <configuration key="target-tags">publish</configuration>
261
+ <configuration key="check-availability">true</configuration>
262
+ </configurations>
263
+ <execution-history/>
264
+ </operation>
265
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="2" exception-handler-workflow="error" if="rtmp://localhost/vod" fail-on-error="true" description="Distributing to streaming server" state="INSTANTIATED" id="distribute-streaming">
266
+ <configurations>
267
+ <configuration key="source-tags">engage,-publish</configuration>
268
+ <configuration key="target-tags">publish</configuration>
269
+ </configurations>
270
+ <execution-history/>
271
+ </operation>
272
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" fail-on-error="true" description="Removing archive tag from distributed material" state="INSTANTIATED" id="tag">
273
+ <configurations>
274
+ <configuration key="source-tags">publish</configuration>
275
+ <configuration key="target-tags">-archive</configuration>
276
+ </configurations>
277
+ <execution-history/>
278
+ </operation>
279
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" if="${archiveOp}" fail-on-error="true" description="Archiving" state="INSTANTIATED" id="archive">
280
+ <configurations>
281
+ <configuration key="source-tags">archive</configuration>
282
+ </configurations>
283
+ <execution-history/>
284
+ </operation>
285
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Publishing" state="INSTANTIATED" id="publish">
286
+ <configurations>
287
+ <configuration key="source-tags">publish</configuration>
288
+ </configurations>
289
+ <execution-history/>
290
+ </operation>
291
+ <operation retry-strategy="none" failed-attempts="0" max-attempts="1" fail-on-error="false" description="Cleaning up" state="INSTANTIATED" id="cleanup">
292
+ <configurations>
293
+ <configuration key="preserve-flavors"/>
294
+ </configurations>
295
+ <execution-history/>
296
+ </operation>
297
+ </operations>
298
+ <configurations/>
299
+ <errors/>
300
+ </workflow>
@@ -0,0 +1,2 @@
1
+
2
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?><job xmlns="http://job.opencastproject.org" version="4" status="FINISHED" type="org.opencastproject.distribution.streaming" id="8669" dispatchable="true"><args><arg>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;&lt;mediapackage start=&quot;2015-04-20T18:10:00Z&quot; id=&quot;4f104fef-a5dd-400e-a51c-241d00c440d6&quot; duration=&quot;4929&quot; xmlns=&quot;http://mediapackage.opencastproject.org&quot;&gt;&lt;title&gt;Bars_512kb.mp4&lt;/title&gt;&lt;media&gt;&lt;track type=&quot;presenter/source&quot; id=&quot;291dffe2-d542-4736-80a0-a3cd55a9df68&quot;&gt;&lt;mimetype&gt;video/mp4&lt;/mimetype&gt;&lt;tags/&gt;&lt;url&gt;http://localhost:8080/files/mediapackage/4f104fef-a5dd-400e-a51c-241d00c440d6/291dffe2-d542-4736-80a0-a3cd55a9df68/Bars_512kb.mp4&lt;/url&gt;&lt;checksum type=&quot;md5&quot;&gt;0db97fbaa44543ac03beb651860fbfaf&lt;/checksum&gt;&lt;duration&gt;4928&lt;/duration&gt;&lt;audio id=&quot;audio-1&quot;&gt;&lt;device/&gt;&lt;encoder type=&quot;AAC&quot;/&gt;&lt;channels&gt;2&lt;/channels&gt;&lt;bitrate&gt;31407.0&lt;/bitrate&gt;&lt;/audio&gt;&lt;video id=&quot;video-1&quot;&gt;&lt;device/&gt;&lt;encoder type=&quot;AVC&quot;/&gt;&lt;bitrate&gt;18504.0&lt;/bitrate&gt;&lt;framerate&gt;1.0&lt;/framerate&gt;&lt;resolution&gt;360x240&lt;/resolution&gt;&lt;scantype type=&quot;Progressive&quot;/&gt;&lt;/video&gt;&lt;/track&gt;&lt;track type=&quot;presenter/work&quot; id=&quot;track-2&quot;&gt;&lt;mimetype&gt;video/mp4&lt;/mimetype&gt;&lt;tags/&gt;&lt;url&gt;http://localhost:8080/files/mediapackage/4f104fef-a5dd-400e-a51c-241d00c440d6/291dffe2-d542-4736-80a0-a3cd55a9df68/Bars_512kb.mp4&lt;/url&gt;&lt;checksum type=&quot;md5&quot;&gt;0db97fbaa44543ac03beb651860fbfaf&lt;/checksum&gt;&lt;duration&gt;4928&lt;/duration&gt;&lt;audio id=&quot;audio-1&quot;&gt;&lt;device/&gt;&lt;encoder type=&quot;AAC&quot;/&gt;&lt;channels&gt;2&lt;/channels&gt;&lt;bitrate&gt;31407.0&lt;/bitrate&gt;&lt;/audio&gt;&lt;video id=&quot;video-1&quot;&gt;&lt;device/&gt;&lt;encoder type=&quot;AVC&quot;/&gt;&lt;bitrate&gt;18504.0&lt;/bitrate&gt;&lt;framerate&gt;1.0&lt;/framerate&gt;&lt;resolution&gt;360x240&lt;/resolution&gt;&lt;scantype type=&quot;Progressive&quot;/&gt;&lt;/video&gt;&lt;/track&gt;&lt;track ref=&quot;track:track-2&quot; type=&quot;presenter/trimmed&quot; id=&quot;track-3&quot;&gt;&lt;mimetype&gt;video/mp4&lt;/mimetype&gt;&lt;tags/&gt;&lt;url&gt;http://localhost:8080/files/mediapackage/4f104fef-a5dd-400e-a51c-241d00c440d6/291dffe2-d542-4736-80a0-a3cd55a9df68/Bars_512kb.mp4&lt;/url&gt;&lt;checksum type=&quot;md5&quot;&gt;0db97fbaa44543ac03beb651860fbfaf&lt;/checksum&gt;&lt;duration&gt;4928&lt;/duration&gt;&lt;audio id=&quot;audio-1&quot;&gt;&lt;device/&gt;&lt;encoder type=&quot;AAC&quot;/&gt;&lt;channels&gt;2&lt;/channels&gt;&lt;bitrate&gt;31407.0&lt;/bitrate&gt;&lt;/audio&gt;&lt;video id=&quot;video-1&quot;&gt;&lt;device/&gt;&lt;encoder type=&quot;AVC&quot;/&gt;&lt;bitrate&gt;18504.0&lt;/bitrate&gt;&lt;framerate&gt;1.0&lt;/framerate&gt;&lt;resolution&gt;360x240&lt;/resolution&gt;&lt;scantype type=&quot;Progressive&quot;/&gt;&lt;/video&gt;&lt;/track&gt;&lt;track ref=&quot;track:track-3&quot; type=&quot;presenter/delivery&quot; id=&quot;ab4e21cd-3402-42ad-8044-d6894c2c0edb&quot;&gt;&lt;mimetype&gt;video/mp4&lt;/mimetype&gt;&lt;tags&gt;&lt;tag&gt;engage&lt;/tag&gt;&lt;tag&gt;quality-low&lt;/tag&gt;&lt;/tags&gt;&lt;url&gt;http://localhost:8080/files/mediapackage/4f104fef-a5dd-400e-a51c-241d00c440d6/ab4e21cd-3402-42ad-8044-d6894c2c0edb/Bars_512kb.mp4&lt;/url&gt;&lt;checksum type=&quot;md5&quot;&gt;10bc3fadce2f81750c9c43f78f37b7c6&lt;/checksum&gt;&lt;duration&gt;4929&lt;/duration&gt;&lt;audio id=&quot;audio-1&quot;&gt;&lt;device/&gt;&lt;encoder type=&quot;AAC&quot;/&gt;&lt;channels&gt;2&lt;/channels&gt;&lt;bitrate&gt;66150.0&lt;/bitrate&gt;&lt;/audio&gt;&lt;/track&gt;&lt;track ref=&quot;track:track-3&quot; type=&quot;presenter/delivery&quot; id=&quot;31b9711a-028a-4c68-bde6-f6e4989833fd&quot;&gt;&lt;mimetype&gt;video/mp4&lt;/mimetype&gt;&lt;tags&gt;&lt;tag&gt;engage&lt;/tag&gt;&lt;tag&gt;quality-medium&lt;/tag&gt;&lt;/tags&gt;&lt;url&gt;http://localhost:8080/files/mediapackage/4f104fef-a5dd-400e-a51c-241d00c440d6/31b9711a-028a-4c68-bde6-f6e4989833fd/Bars_512kb.mp4&lt;/url&gt;&lt;checksum type=&quot;md5&quot;&gt;f2156bb6cbe468b23abc987f2479e369&lt;/checksum&gt;&lt;duration&gt;4929&lt;/duration&gt;&lt;audio id=&quot;audio-1&quot;&gt;&lt;device/&gt;&lt;encoder type=&quot;AAC&quot;/&gt;&lt;channels&gt;2&lt;/channels&gt;&lt;bitrate&gt;66150.0&lt;/bitrate&gt;&lt;/audio&gt;&lt;/track&gt;&lt;track ref=&quot;track:track-3&quot; type=&quot;presenter/delivery&quot; id=&quot;6fb388de-2713-43a0-868f-899e36f6f280&quot;&gt;&lt;mimetype&gt;video/mp4&lt;/mimetype&gt;&lt;tags&gt;&lt;tag&gt;engage&lt;/tag&gt;&lt;tag&gt;quality-high&lt;/tag&gt;&lt;/tags&gt;&lt;url&gt;http://localhost:8080/files/mediapackage/4f104fef-a5dd-400e-a51c-241d00c440d6/6fb388de-2713-43a0-868f-899e36f6f280/Bars_512kb.mp4&lt;/url&gt;&lt;checksum type=&quot;md5&quot;&gt;2a7fa52a4bedb0a0335ae947a1a406bc&lt;/checksum&gt;&lt;duration&gt;4929&lt;/duration&gt;&lt;audio id=&quot;audio-1&quot;&gt;&lt;device/&gt;&lt;encoder type=&quot;AAC&quot;/&gt;&lt;channels&gt;2&lt;/channels&gt;&lt;bitrate&gt;66150.0&lt;/bitrate&gt;&lt;/audio&gt;&lt;/track&gt;&lt;track ref=&quot;track:6fb388de-2713-43a0-868f-899e36f6f280&quot; type=&quot;presenter/delivery&quot; id=&quot;track-7&quot;&gt;&lt;mimetype&gt;video/mp4&lt;/mimetype&gt;&lt;tags&gt;&lt;tag&gt;engage&lt;/tag&gt;&lt;tag&gt;publish&lt;/tag&gt;&lt;tag&gt;quality-high&lt;/tag&gt;&lt;tag&gt;streaming&lt;/tag&gt;&lt;/tags&gt;&lt;url&gt;rtmp://localhost/vod/mp4:4f104fef-a5dd-400e-a51c-241d00c440d6/6fb388de-2713-43a0-868f-899e36f6f280/Bars_512kb&lt;/url&gt;&lt;checksum type=&quot;md5&quot;&gt;2a7fa52a4bedb0a0335ae947a1a406bc&lt;/checksum&gt;&lt;duration&gt;4929&lt;/duration&gt;&lt;audio id=&quot;audio-1&quot;&gt;&lt;device/&gt;&lt;encoder type=&quot;AAC&quot;/&gt;&lt;channels&gt;2&lt;/channels&gt;&lt;bitrate&gt;66150.0&lt;/bitrate&gt;&lt;/audio&gt;&lt;/track&gt;&lt;track ref=&quot;track:31b9711a-028a-4c68-bde6-f6e4989833fd&quot; type=&quot;presenter/delivery&quot; id=&quot;track-8&quot;&gt;&lt;mimetype&gt;video/mp4&lt;/mimetype&gt;&lt;tags&gt;&lt;tag&gt;engage&lt;/tag&gt;&lt;tag&gt;publish&lt;/tag&gt;&lt;tag&gt;quality-medium&lt;/tag&gt;&lt;tag&gt;streaming&lt;/tag&gt;&lt;/tags&gt;&lt;url&gt;rtmp://localhost/vod/mp4:4f104fef-a5dd-400e-a51c-241d00c440d6/31b9711a-028a-4c68-bde6-f6e4989833fd/Bars_512kb&lt;/url&gt;&lt;checksum type=&quot;md5&quot;&gt;f2156bb6cbe468b23abc987f2479e369&lt;/checksum&gt;&lt;duration&gt;4929&lt;/duration&gt;&lt;audio id=&quot;audio-1&quot;&gt;&lt;device/&gt;&lt;encoder type=&quot;AAC&quot;/&gt;&lt;channels&gt;2&lt;/channels&gt;&lt;bitrate&gt;66150.0&lt;/bitrate&gt;&lt;/audio&gt;&lt;/track&gt;&lt;track ref=&quot;track:ab4e21cd-3402-42ad-8044-d6894c2c0edb&quot; type=&quot;presenter/delivery&quot; id=&quot;track-9&quot;&gt;&lt;mimetype&gt;video/mp4&lt;/mimetype&gt;&lt;tags&gt;&lt;tag&gt;engage&lt;/tag&gt;&lt;tag&gt;publish&lt;/tag&gt;&lt;tag&gt;quality-low&lt;/tag&gt;&lt;tag&gt;streaming&lt;/tag&gt;&lt;/tags&gt;&lt;url&gt;rtmp://localhost/vod/mp4:4f104fef-a5dd-400e-a51c-241d00c440d6/ab4e21cd-3402-42ad-8044-d6894c2c0edb/Bars_512kb&lt;/url&gt;&lt;checksum type=&quot;md5&quot;&gt;10bc3fadce2f81750c9c43f78f37b7c6&lt;/checksum&gt;&lt;duration&gt;4929&lt;/duration&gt;&lt;audio id=&quot;audio-1&quot;&gt;&lt;device/&gt;&lt;encoder type=&quot;AAC&quot;/&gt;&lt;channels&gt;2&lt;/channels&gt;&lt;bitrate&gt;66150.0&lt;/bitrate&gt;&lt;/audio&gt;&lt;/track&gt;&lt;/media&gt;&lt;metadata&gt;&lt;catalog type=&quot;dublincore/episode&quot; id=&quot;a647bf80-5f53-4f65-8233-a4d3babd4bff&quot;&gt;&lt;mimetype&gt;text/xml&lt;/mimetype&gt;&lt;tags/&gt;&lt;url&gt;http://localhost:8080/files/mediapackage/4f104fef-a5dd-400e-a51c-241d00c440d6/a647bf80-5f53-4f65-8233-a4d3babd4bff/dublincore.xml&lt;/url&gt;&lt;/catalog&gt;&lt;/metadata&gt;&lt;attachments/&gt;&lt;/mediapackage&gt;</arg><arg>track-9</arg></args><context><properties/></context><createdHost>http://localhost:8080</createdHost><creator>matterhorn_system_account</creator><dateCompleted>2015-04-27T11:39:12.552-04:00</dateCompleted><dateCreated>2015-04-27T11:39:05.934-04:00</dateCreated><dateStarted>2015-04-27T11:39:12.544-04:00</dateStarted><operation>Retract</operation><organization>mh_default_org</organization><parentJobId>-1</parentJobId><payload>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;&lt;track ref=&quot;track:ab4e21cd-3402-42ad-8044-d6894c2c0edb&quot; type=&quot;presenter/delivery&quot; id=&quot;track-9&quot; xmlns=&quot;http://mediapackage.opencastproject.org&quot;&gt;&lt;mimetype&gt;video/mp4&lt;/mimetype&gt;&lt;tags&gt;&lt;tag&gt;engage&lt;/tag&gt;&lt;tag&gt;publish&lt;/tag&gt;&lt;tag&gt;quality-low&lt;/tag&gt;&lt;tag&gt;streaming&lt;/tag&gt;&lt;/tags&gt;&lt;url&gt;rtmp://localhost/vod/mp4:4f104fef-a5dd-400e-a51c-241d00c440d6/ab4e21cd-3402-42ad-8044-d6894c2c0edb/Bars_512kb&lt;/url&gt;&lt;checksum type=&quot;md5&quot;&gt;10bc3fadce2f81750c9c43f78f37b7c6&lt;/checksum&gt;&lt;duration&gt;4929&lt;/duration&gt;&lt;audio id=&quot;audio-1&quot;&gt;&lt;device/&gt;&lt;encoder type=&quot;AAC&quot;/&gt;&lt;channels&gt;2&lt;/channels&gt;&lt;bitrate&gt;66150.0&lt;/bitrate&gt;&lt;/audio&gt;&lt;/track&gt;</payload><processingHost>http://localhost:8080</processingHost><queueTime>6610</queueTime><rootJobId>-1</rootJobId><runTime>8</runTime><url>http://localhost:8080/services/job/8669.xml</url></job>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?><workflow xmlns="http://workflow.opencastproject.org" xmlns:ns2="http://org.opencastproject.security" xmlns:ns3="http://mediapackage.opencastproject.org" state="FAILED" id="failed-id"><template>error</template><title>Encode, Analyze, and Distribute (Avalon)</title><description>
2
+ A simple workflow that transcodes the media into distribution formats, then sends the resulting distribution files,
3
+ along with their associated metadata, to the distribution channels.
4
+ </description><parent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/><ns2:creator><ns2:userName>matterhorn_system_account</ns2:userName><ns2:roles>MATTERHORN_ADMINISTRATOR</ns2:roles><ns2:roles>ROLE_ADMIN</ns2:roles><ns2:roles>ROLE_ANONYMOUS</ns2:roles><ns2:roles>ROLE_OAUTH_USER</ns2:roles><ns2:roles>ROLE_USER</ns2:roles><ns2:organization>mh_default_org</ns2:organization></ns2:creator><ns2:organization id="mh_default_org"><ns2:name>Opencast Project</ns2:name><ns2:servers><ns2:server port="8080" name="localhost"/></ns2:servers><ns2:adminRole>ROLE_ADMIN</ns2:adminRole><ns2:anonymousRole>ROLE_ANONYMOUS</ns2:anonymousRole><ns2:properties><ns2:property key="engageui.link_mobile_redirect.description">For more information have a look at the official site.</ns2:property><ns2:property key="engageui.link_mobile_redirect.url">http://opencast.org/matterhorn/</ns2:property><ns2:property key="engageui.annotations.enable">true</ns2:property><ns2:property key="adminui.series_prepopulate.enable">false</ns2:property><ns2:property key="adminui.i18n_tab_episode.enable">true</ns2:property><ns2:property key="avalon.stream_base">file:///home/cjcolvar/Code/avalon/avalon/red5/webapps/avalon/streams</ns2:property><ns2:property key="engageui.link_download.enable">false</ns2:property><ns2:property key="adminui.chunksize">2024</ns2:property><ns2:property key="logo_large">/engage/ui/img/mh_logos/MatterhornLogo_large.png</ns2:property><ns2:property key="adminui.i18n_tab_users.enable">false</ns2:property><ns2:property key="engageui.link_mobile_redirect.enable">false</ns2:property><ns2:property key="engageui.links_media_module.enable">true</ns2:property><ns2:property key="logo_small">/engage/ui/img/mh_logos/OpencastLogo.png</ns2:property></ns2:properties></ns2:organization><ns3:mediapackage start="2015-04-09T16:12:00Z" id="43615813-220e-48ed-b828-0d02e28d2d7e" duration="6314"><ns3:title>avalon:23</ns3:title><ns3:media><ns3:track type="presenter/source" id="faa1520b-d5f1-4eaf-a290-b5ccdadfe210"><ns3:mimetype>video/mp4</ns3:mimetype><ns3:tags/><ns3:url>http://localhost:8080/files/mediapackage/43615813-220e-48ed-b828-0d02e28d2d7e/faa1520b-d5f1-4eaf-a290-b5ccdadfe210/videoshort.mp4</ns3:url><ns3:checksum type="md5">7ae24368ccb7a6c6422a14ff73f33c9a</ns3:checksum><ns3:duration>6314</ns3:duration><ns3:audio id="audio-1"><ns3:device/><ns3:encoder type="AAC"/><ns3:channels>2</ns3:channels><ns3:bitrate>171030.0</ns3:bitrate></ns3:audio><ns3:video id="video-1"><ns3:device/><ns3:encoder type="AVC"/><ns3:bitrate>74477.0</ns3:bitrate><ns3:framerate>23.719</ns3:framerate><ns3:resolution>200x110</ns3:resolution><ns3:scantype type="Progressive"/></ns3:video></ns3:track></ns3:media><ns3:metadata><ns3:catalog type="dublincore/episode" id="c5933501-6279-495c-b855-fd56ccb2d173"><ns3:mimetype>text/xml</ns3:mimetype><ns3:tags/><ns3:url>http://localhost:8080/files/mediapackage/43615813-220e-48ed-b828-0d02e28d2d7e/c5933501-6279-495c-b855-fd56ccb2d173/dublincore.xml</ns3:url></ns3:catalog></ns3:metadata><ns3:attachments><ns3:attachment type="archive/zip" id="attachment-1"><ns3:tags/><ns3:url>http://localhost:8080/files/collection/failed.zips/43615813_220e_48ed_b828_0d02e28d2d7e.zip</ns3:url><ns3:checksum type="md5">7522fe92b6efcdbb6529c9cd06029e39</ns3:checksum></ns3:attachment></ns3:attachments></ns3:mediapackage><operations><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Inspecting the media package" state="SUCCEEDED" job="5804" id="inspect"><configurations/><started>1428595985697</started><completed>1428595996825</completed><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="false" description="Preprocessing (1/4)" state="SUCCEEDED" job="5806" id="compose"><configurations><configuration key="target-flavor">presenter/source</configuration><configuration key="encoding-profile">epiphan.presenter</configuration><configuration key="source-flavor">multitrack/source</configuration></configurations><started>1428596001823</started><completed>1428596003003</completed><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Preprocessing (2/4)" state="SUCCEEDED" job="5807" id="prepare-av"><configurations><configuration key="target-flavor">presenter/work</configuration><configuration key="rewrite">false</configuration><configuration key="promiscuous-audio-muxing">true</configuration><configuration key="source-flavor">presenter/source</configuration></configurations><started>1428596007169</started><completed>1428596008002</completed><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" if="${trimHold}" fail-on-error="true" description="Preprocessing (3/4)" state="SKIPPED" job="5808" id="compose"><configurations><configuration key="target-flavor">presenter/preview</configuration><configuration key="encoding-profile">flash-preview.http</configuration><configuration key="source-flavor">presenter/work</configuration></configurations><started>1428596012739</started><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" if="${trimHold}" fail-on-error="true" description="Preprocessing (4/4)" state="SKIPPED" job="5809" id="trim"><configurations><configuration key="encoding-profile">trim.work</configuration><configuration key="target-flavor-subtype">trimmed</configuration><configuration key="source-flavor">*/work</configuration></configurations><started>1428596018120</started><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="1" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding video to mp4 (low quality)" state="FAILED" job="5810" id="compose"><configurations><configuration key="target-flavor">presenter/delivery</configuration><configuration key="encoding-profile">mp4-low.http</configuration><configuration key="target-tags">engage, quality-low</configuration><configuration key="source-flavor">presenter/trimmed</configuration></configurations><started>1428596023522</started><completed>1428596034240</completed><execution-history><execution-history-entry>5810</execution-history-entry></execution-history></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Cleaning up" state="SUCCEEDED" job="5812" id="cleanup"><configurations><configuration key="preserve-flavors">*/source,dublincore/*</configuration></configurations><started>1428596039684</started><completed>1428596040505</completed><time-in-queue>0</time-in-queue><execution-history/></operation><operation retry-strategy="none" execution-host="http://localhost:8080" failed-attempts="0" max-attempts="1" fail-on-error="true" description="Cleaning up after failure" state="SUCCEEDED" job="5813" id="zip"><configurations><configuration key="compression">false</configuration><configuration key="include-flavors">*/source,dublincore/*</configuration><configuration key="zip-collection">failed.zips</configuration></configurations><started>1428596045042</started><completed>1428596046231</completed><time-in-queue>0</time-in-queue><execution-history/></operation></operations><configurations/><errors><error>org.opencastproject.workflow.api.WorkflowOperationException: org.opencastproject.workflow.api.WorkflowOperationException: One of the encoding jobs did not complete successfully</error></errors></workflow>
@@ -0,0 +1,342 @@
1
+ <workflow state="STOPPED" id="purged-id">
2
+ <template>avalon</template>
3
+ <title>Encode, Analyze, and Distribute (Avalon)</title>
4
+ <description>
5
+ A simple workflow that transcodes the media into distribution formats, then sends the resulting distribution files,
6
+ along with their associated metadata, to the distribution channels.
7
+ </description>
8
+ <parent nil="true"/>
9
+ <creator>
10
+ <userName>matterhorn_system_account</userName>
11
+ <roles>MATTERHORN_ADMINISTRATOR</roles>
12
+ <roles>ROLE_ADMIN</roles>
13
+ <roles>ROLE_ANONYMOUS</roles>
14
+ <roles>ROLE_OAUTH_USER</roles>
15
+ <roles>ROLE_USER</roles>
16
+ <organization>mh_default_org</organization>
17
+ </creator>
18
+ <organization id="mh_default_org">
19
+ <name>Opencast Project</name>
20
+ <servers>
21
+ <server port="8080" name="localhost"/>
22
+ </servers>
23
+ <adminRole>ROLE_ADMIN</adminRole>
24
+ <anonymousRole>ROLE_ANONYMOUS</anonymousRole>
25
+ <properties>
26
+ <property key="engageui.link_mobile_redirect.description">For more information have a look at the official site.</property>
27
+ <property key="engageui.link_mobile_redirect.url">http://opencast.org/matterhorn/</property>
28
+ <property key="engageui.annotations.enable">true</property>
29
+ <property key="adminui.series_prepopulate.enable">false</property>
30
+ <property key="adminui.i18n_tab_episode.enable">true</property>
31
+ <property key="avalon.stream_base">file:///var/avalon/rtmp_streams</property>
32
+ <property key="engageui.link_download.enable">false</property>
33
+ <property key="adminui.chunksize">2024</property>
34
+ <property key="logo_large">/engage/ui/img/mh_logos/MatterhornLogo_large.png</property>
35
+ <property key="adminui.i18n_tab_users.enable">false</property>
36
+ <property key="engageui.link_mobile_redirect.enable">false</property>
37
+ <property key="engageui.links_media_module.enable">true</property>
38
+ <property key="logo_small">/engage/ui/img/mh_logos/OpencastLogo.png</property>
39
+ </properties>
40
+ </organization>
41
+ <mediapackage start="2015-03-26T19:01:00Z" id="7bbfd5f2-cde0-4320-bd52-8f2d9eb290c0" duration="6338">
42
+ <title>avalon:2114</title>
43
+ <media>
44
+ <track ref="track:428c9c8f-7618-416e-a32d-569582e908c2" type="presenter/delivery" id="track-7">
45
+ <mimetype>video/mp4</mimetype>
46
+ <tags>
47
+ <tag>engage</tag>
48
+ <tag>publish</tag>
49
+ <tag>quality-medium</tag>
50
+ <tag>streaming</tag>
51
+ </tags>
52
+ <url>rtmp://lancelot.dlib.indiana.edu/vod/mp4:7bbfd5f2-cde0-4320-bd52-8f2d9eb290c0/428c9c8f-7618-416e-a32d-569582e908c2/videoshort</url>
53
+ <checksum type="md5">e940317f396734748c2ad15296dd093d</checksum>
54
+ <duration>6338</duration>
55
+ <audio id="audio-1">
56
+ <device/>
57
+ <encoder type="AAC"/>
58
+ <channels>1</channels>
59
+ <bitrate>76477.0</bitrate>
60
+ </audio>
61
+ <video id="video-1">
62
+ <device/>
63
+ <encoder type="AVC"/>
64
+ <bitrate>1000000.0</bitrate>
65
+ <framerate>30.0</framerate>
66
+ <resolution>872x480</resolution>
67
+ <scantype type="Progressive"/>
68
+ </video>
69
+ </track>
70
+ <track ref="track:d76d5d86-af09-4fe3-bfa5-23561be9745e" type="presenter/delivery" id="track-8">
71
+ <mimetype>video/mp4</mimetype>
72
+ <tags>
73
+ <tag>engage</tag>
74
+ <tag>publish</tag>
75
+ <tag>quality-low</tag>
76
+ <tag>streaming</tag>
77
+ </tags>
78
+ <url>rtmp://lancelot.dlib.indiana.edu/vod/mp4:7bbfd5f2-cde0-4320-bd52-8f2d9eb290c0/d76d5d86-af09-4fe3-bfa5-23561be9745e/videoshort</url>
79
+ <checksum type="md5">55dfbedeb7e454a34b216a385fdc130e</checksum>
80
+ <duration>6338</duration>
81
+ <audio id="audio-1">
82
+ <device/>
83
+ <encoder type="AAC"/>
84
+ <channels>1</channels>
85
+ <bitrate>76477.0</bitrate>
86
+ </audio>
87
+ <video id="video-1">
88
+ <device/>
89
+ <encoder type="AVC"/>
90
+ <bitrate>529496.0</bitrate>
91
+ <framerate>30.0</framerate>
92
+ <resolution>654x360</resolution>
93
+ <scantype type="Progressive"/>
94
+ </video>
95
+ </track>
96
+ <track ref="track:ac61546a-c4fc-4fbb-b2cc-640515273839" type="presenter/delivery" id="track-9">
97
+ <mimetype>video/mp4</mimetype>
98
+ <tags>
99
+ <tag>engage</tag>
100
+ <tag>publish</tag>
101
+ <tag>quality-high</tag>
102
+ <tag>streaming</tag>
103
+ </tags>
104
+ <url>rtmp://lancelot.dlib.indiana.edu/vod/mp4:7bbfd5f2-cde0-4320-bd52-8f2d9eb290c0/ac61546a-c4fc-4fbb-b2cc-640515273839/videoshort</url>
105
+ <checksum type="md5">1dc9d5ccbc8ddedc768439c4b38f7194</checksum>
106
+ <duration>6338</duration>
107
+ <audio id="audio-1">
108
+ <device/>
109
+ <encoder type="AAC"/>
110
+ <channels>1</channels>
111
+ <bitrate>76477.0</bitrate>
112
+ </audio>
113
+ <video id="video-1">
114
+ <device/>
115
+ <encoder type="AVC"/>
116
+ <bitrate>2000000.0</bitrate>
117
+ <framerate>30.0</framerate>
118
+ <resolution>1308x720</resolution>
119
+ <scantype type="Progressive"/>
120
+ </video>
121
+ </track>
122
+ <track ref="track:428c9c8f-7618-416e-a32d-569582e908c2" type="presenter/delivery" id="track-10">
123
+ <mimetype>application/x-mpegURL</mimetype>
124
+ <tags>
125
+ <tag>engage</tag>
126
+ <tag>hls</tag>
127
+ <tag>publish</tag>
128
+ <tag>quality-medium</tag>
129
+ <tag>streaming</tag>
130
+ </tags>
131
+ <url>http://lancelot.dlib.indiana.edu/streams/7bbfd5f2-cde0-4320-bd52-8f2d9eb290c0/428c9c8f-7618-416e-a32d-569582e908c2/videoshort.mp4.m3u8</url>
132
+ <checksum type="md5">e940317f396734748c2ad15296dd093d</checksum>
133
+ <duration>6338</duration>
134
+ <audio id="audio-1">
135
+ <device/>
136
+ <encoder type="AAC"/>
137
+ <channels>1</channels>
138
+ <bitrate>76477.0</bitrate>
139
+ </audio>
140
+ <video id="video-1">
141
+ <device/>
142
+ <encoder type="AVC"/>
143
+ <bitrate>1000000.0</bitrate>
144
+ <framerate>30.0</framerate>
145
+ <resolution>872x480</resolution>
146
+ <scantype type="Progressive"/>
147
+ </video>
148
+ </track>
149
+ <track ref="track:d76d5d86-af09-4fe3-bfa5-23561be9745e" type="presenter/delivery" id="track-11">
150
+ <mimetype>application/x-mpegURL</mimetype>
151
+ <tags>
152
+ <tag>engage</tag>
153
+ <tag>hls</tag>
154
+ <tag>publish</tag>
155
+ <tag>quality-low</tag>
156
+ <tag>streaming</tag>
157
+ </tags>
158
+ <url>http://lancelot.dlib.indiana.edu/streams/7bbfd5f2-cde0-4320-bd52-8f2d9eb290c0/d76d5d86-af09-4fe3-bfa5-23561be9745e/videoshort.mp4.m3u8</url>
159
+ <checksum type="md5">55dfbedeb7e454a34b216a385fdc130e</checksum>
160
+ <duration>6338</duration>
161
+ <audio id="audio-1">
162
+ <device/>
163
+ <encoder type="AAC"/>
164
+ <channels>1</channels>
165
+ <bitrate>76477.0</bitrate>
166
+ </audio>
167
+ <video id="video-1">
168
+ <device/>
169
+ <encoder type="AVC"/>
170
+ <bitrate>529496.0</bitrate>
171
+ <framerate>30.0</framerate>
172
+ <resolution>654x360</resolution>
173
+ <scantype type="Progressive"/>
174
+ </video>
175
+ </track>
176
+ <track ref="track:ac61546a-c4fc-4fbb-b2cc-640515273839" type="presenter/delivery" id="track-12">
177
+ <mimetype>application/x-mpegURL</mimetype>
178
+ <tags>
179
+ <tag>engage</tag>
180
+ <tag>hls</tag>
181
+ <tag>publish</tag>
182
+ <tag>quality-high</tag>
183
+ <tag>streaming</tag>
184
+ </tags>
185
+ <url>http://lancelot.dlib.indiana.edu/streams/7bbfd5f2-cde0-4320-bd52-8f2d9eb290c0/ac61546a-c4fc-4fbb-b2cc-640515273839/videoshort.mp4.m3u8</url>
186
+ <checksum type="md5">1dc9d5ccbc8ddedc768439c4b38f7194</checksum>
187
+ <duration>6338</duration>
188
+ <audio id="audio-1">
189
+ <device/>
190
+ <encoder type="AAC"/>
191
+ <channels>1</channels>
192
+ <bitrate>76477.0</bitrate>
193
+ </audio>
194
+ <video id="video-1">
195
+ <device/>
196
+ <encoder type="AVC"/>
197
+ <bitrate>2000000.0</bitrate>
198
+ <framerate>30.0</framerate>
199
+ <resolution>1308x720</resolution>
200
+ <scantype type="Progressive"/>
201
+ </video>
202
+ </track>
203
+ </media>
204
+ <metadata/>
205
+ <attachments/>
206
+ </mediapackage>
207
+ <operations>
208
+ <operation retry-strategy="none" execution-host="http://lancelot.dlib.indiana.edu:18080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Inspecting the media package" state="SUCCEEDED" job="18172" id="inspect">
209
+ <configurations/>
210
+ <started>1427396506579</started>
211
+ <completed>1427396519104</completed>
212
+ <time-in-queue>0</time-in-queue>
213
+ <execution-history/>
214
+ </operation>
215
+ <operation retry-strategy="none" execution-host="http://lancelot.dlib.indiana.edu:18080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="false" description="Preprocessing (1/4)" state="SUCCEEDED" job="18174" id="compose">
216
+ <configurations>
217
+ <configuration key="target-flavor">presenter/source</configuration>
218
+ <configuration key="encoding-profile">epiphan.presenter</configuration>
219
+ <configuration key="source-flavor">multitrack/source</configuration>
220
+ </configurations>
221
+ <started>1427396529513</started>
222
+ <completed>1427396531744</completed>
223
+ <time-in-queue>0</time-in-queue>
224
+ <execution-history/>
225
+ </operation>
226
+ <operation retry-strategy="none" execution-host="http://lancelot.dlib.indiana.edu:18080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Preprocessing (2/4)" state="SUCCEEDED" job="18175" id="prepare-av">
227
+ <configurations>
228
+ <configuration key="target-flavor">presenter/work</configuration>
229
+ <configuration key="rewrite">false</configuration>
230
+ <configuration key="promiscuous-audio-muxing">true</configuration>
231
+ <configuration key="source-flavor">presenter/source</configuration>
232
+ </configurations>
233
+ <started>1427396545420</started>
234
+ <completed>1427396549354</completed>
235
+ <time-in-queue>0</time-in-queue>
236
+ <execution-history/>
237
+ </operation>
238
+ <operation retry-strategy="none" execution-host="http://lancelot.dlib.indiana.edu:18080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" if="${trimHold}" fail-on-error="true" description="Preprocessing (3/4)" state="SKIPPED" job="18176" id="compose">
239
+ <configurations>
240
+ <configuration key="target-flavor">presenter/preview</configuration>
241
+ <configuration key="encoding-profile">flash-preview.http</configuration>
242
+ <configuration key="source-flavor">presenter/work</configuration>
243
+ </configurations>
244
+ <started>1427396559008</started>
245
+ <time-in-queue>0</time-in-queue>
246
+ <execution-history/>
247
+ </operation>
248
+ <operation retry-strategy="none" execution-host="http://lancelot.dlib.indiana.edu:18080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" if="${trimHold}" fail-on-error="true" description="Preprocessing (4/4)" state="SKIPPED" job="18177" id="trim">
249
+ <configurations>
250
+ <configuration key="encoding-profile">trim.work</configuration>
251
+ <configuration key="target-flavor-subtype">trimmed</configuration>
252
+ <configuration key="source-flavor">*/work</configuration>
253
+ </configurations>
254
+ <started>1427396593668</started>
255
+ <time-in-queue>0</time-in-queue>
256
+ <execution-history/>
257
+ </operation>
258
+ <operation retry-strategy="none" execution-host="http://lancelot.dlib.indiana.edu:18080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding video to mp4 (low quality)" state="SUCCEEDED" job="18178" id="compose">
259
+ <configurations>
260
+ <configuration key="target-flavor">presenter/delivery</configuration>
261
+ <configuration key="encoding-profile">mp4-low.http</configuration>
262
+ <configuration key="target-tags">engage, quality-low</configuration>
263
+ <configuration key="source-flavor">presenter/trimmed</configuration>
264
+ </configurations>
265
+ <started>1427396606516</started>
266
+ <completed>1427396635425</completed>
267
+ <time-in-queue>0</time-in-queue>
268
+ <execution-history/>
269
+ </operation>
270
+ <operation retry-strategy="none" execution-host="http://lancelot.dlib.indiana.edu:18080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding video to mp4 (medium quality)" state="SUCCEEDED" job="18181" id="compose">
271
+ <configurations>
272
+ <configuration key="target-flavor">presenter/delivery</configuration>
273
+ <configuration key="encoding-profile">mp4-medium.http</configuration>
274
+ <configuration key="target-tags">engage, quality-medium</configuration>
275
+ <configuration key="source-flavor">presenter/trimmed</configuration>
276
+ </configurations>
277
+ <started>1427396639252</started>
278
+ <completed>1427396670040</completed>
279
+ <time-in-queue>0</time-in-queue>
280
+ <execution-history/>
281
+ </operation>
282
+ <operation retry-strategy="none" execution-host="http://lancelot.dlib.indiana.edu:18080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Encoding video to mp4 (high quality)" state="SUCCEEDED" job="18184" id="compose">
283
+ <configurations>
284
+ <configuration key="target-flavor">presenter/delivery</configuration>
285
+ <configuration key="encoding-profile">mp4-high.http</configuration>
286
+ <configuration key="target-tags">engage, quality-high</configuration>
287
+ <configuration key="source-flavor">presenter/trimmed</configuration>
288
+ </configurations>
289
+ <started>1427396675116</started>
290
+ <completed>1427396726615</completed>
291
+ <time-in-queue>0</time-in-queue>
292
+ <execution-history/>
293
+ </operation>
294
+ <operation retry-strategy="none" execution-host="http://lancelot.dlib.indiana.edu:18080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Applying access control rules" state="SUCCEEDED" job="18187" id="apply-acl">
295
+ <configurations/>
296
+ <started>1427396734031</started>
297
+ <completed>1427396735345</completed>
298
+ <time-in-queue>0</time-in-queue>
299
+ <execution-history/>
300
+ </operation>
301
+ <operation retry-strategy="none" execution-host="http://lancelot.dlib.indiana.edu:18080" failed-attempts="0" max-attempts="2" exception-handler-workflow="error" if="rtmp://lancelot.dlib.indiana.edu/vod" fail-on-error="true" description="Distributing desktop stream to server" state="SUCCEEDED" job="18188" id="distribute-streaming">
302
+ <configurations>
303
+ <configuration key="source-tags">engage,-publish</configuration>
304
+ <configuration key="target-tags">publish, streaming</configuration>
305
+ </configurations>
306
+ <started>1427396747157</started>
307
+ <completed>1427396761738</completed>
308
+ <time-in-queue>0</time-in-queue>
309
+ <execution-history/>
310
+ </operation>
311
+ <operation retry-strategy="none" execution-host="http://lancelot.dlib.indiana.edu:18080" failed-attempts="0" max-attempts="2" exception-handler-workflow="error" if="/var/avalon/hls_streams/" fail-on-error="true" description="Distributing mobile stream to server" state="SUCCEEDED" job="18192" id="distribute-hls">
312
+ <configurations>
313
+ <configuration key="source-tags">engage,-publish</configuration>
314
+ <configuration key="target-tags">publish, hls, streaming</configuration>
315
+ </configurations>
316
+ <started>1427396769301</started>
317
+ <completed>1427396781414</completed>
318
+ <time-in-queue>0</time-in-queue>
319
+ <execution-history/>
320
+ </operation>
321
+ <operation retry-strategy="none" execution-host="http://lancelot.dlib.indiana.edu:18080" failed-attempts="0" max-attempts="1" exception-handler-workflow="error" fail-on-error="true" description="Published" state="SUCCEEDED" job="18196" id="publish">
322
+ <configurations>
323
+ <configuration key="source-tags">publish</configuration>
324
+ </configurations>
325
+ <started>1427396789769</started>
326
+ <completed>1427396801867</completed>
327
+ <time-in-queue>0</time-in-queue>
328
+ <execution-history/>
329
+ </operation>
330
+ <operation retry-strategy="none" execution-host="http://lancelot.dlib.indiana.edu:18080" failed-attempts="0" max-attempts="1" fail-on-error="false" description="Cleaning up" state="SUCCEEDED" job="18198" id="cleanup">
331
+ <configurations>
332
+ <configuration key="preserve-flavors"/>
333
+ </configurations>
334
+ <started>1427396808214</started>
335
+ <completed>1427396809621</completed>
336
+ <time-in-queue>0</time-in-queue>
337
+ <execution-history/>
338
+ </operation>
339
+ </operations>
340
+ <configurations/>
341
+ <errors/>
342
+ </workflow>