Opencast Summit 2024 — Opencast: Quo Vadis? – Time for an overhaul?

MatthiasNeugebauer1 17 views 25 slides Jul 12, 2024
Slide 1
Slide 1 of 25
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25

About This Presentation

Discussion slides about the future of Opencast presented during the Opencast Summit 2024.


Slide Content

© Uni Münster
–Jan Lehmann
Opencast: Quo Vadis? –Time for an overhaul?
Matthias Neugebauer

2
Why this session?
•Opencast is > 10 years old
•Technologies and requirements changed
•Time for a reflection?
•Goal: identify potentials for improvement
•Open discussion →take part!
•Our focus is primarily technical
•Complement with didactical aspects

3
Infrastructure
On-Premises, Cloud
Capture Agents
Video
owner
Video
consumer
Admin
Opencast

4
On-PremPismiP,
On-Premises, Cloud
Capture Agents
Video
owner
Video
consumer
Admin
Cl,oudaa
Studio, Tobira, OAT
p,t,A,mPg
Logging, Metrics, Tracing
V,rPsw
crnrS,A,nm
TPonm,nl
Admin UI, Editor
bcV
Moodle, ILIAS,
Stud.IP
Ltrg,P
Paella, ...
VmoPrS,
NFS, cephfs, S3
MrmrUre,
MariaDB,
PostgreSQL
dimw,nmCsrmCon
DB, Shibboleth, LDAP, LTI, OIDC, ...
dimwoPCIrmCon
JWT, LTI, OAuth, ...
oMuOnS,em
ViUmCmt,e
bCE,uOnS,em
dLO
External API, Search,
OAI-PMH, ...
V,rPswu.nSCn,
OpenSearch, Solr
Cl,ouM,tCE,Pg
c,lCruLPos,eeCnS
Vsw,lit,P
NoPFhof
3M,DnCmConB
dee,mucrnrS,P MCemPCUimConcrnrS,A,nm b,rPnCnSudnrtgmCsec,lCrudnrtgmCse

5
•HTTP pseudo-streaming as default? Really?
•Video delivery through Opencast? Overhead. Scaling.
•“But don’t we need a streaming server?”–No
•State-of-the-art:
•Common Media Application Format (CMAF) (ISO/IEC 23000-19:2020)
•HLS / MPEG-DASH manifests
•HTTP caching infrastructure
•URL signing using JWTs (RFC 9246 as inspiration?)

6
•Opencast Ingest API
•“Tried and tested”
•Works well
•Implement alternative APIs for more integrations?
•Panopto?
•Kaltura?
•…

7
•Livestreaming in Opencast is a “crutch”
•Activated through a workflow parameter. Really?
•Livestreaming without a recording?
•CAs implementations often stream with every recording
•No visibility in the Opencast Admin UI
•No direct implementation in Opencast
•What are good open source setups?
Wowza| nginx-rtmp| SRS | …
•SRT / RIST / DASH-IF Live Media Ingest Protocol as alternatives to RTMP?

8
•New Admin UI
•State-of-the-art technology
•Who are the intended users?
•Usability problems / performance?
•Bugs
•New editor
•State-of-the-art technology

9
•Tobira
•Newest major project; State-of-the-art technology
•Increases the attractivity of Opencast
•Studio
•State-of-the-art technology
•OAT
•Let us leave this discussion for a later time…
•Strong focus from the OC board on frontend applications (time for a new focus !?)

10
•Attempt of educast.nrwfor feature parity between Moodle and ILIAS plugins
•Stud.IPplugin seems to differ strongly (?)
•How much of the Admin UI is implemented again and again?
•Why don’t all plugins work similarly? → also marketing problem
•Authorization out of the LMS? → When LMS approves access, Opencast should allow it
•(Why) must a user be authenticated in Opencast?
•Authorization for OC services through JWTs as modern approach
•LTI + cookies are problematic in certain scenarios (third-party cookies)

11
•Who uses the player delivered by Opencast?
•Player embedding of private videos?
•Embedding code from the Admin UI? Why these resolutions?
•Reimplemented/-configured again and again in video applications
•May be necessary, but often only a result of a difficult to embed player
•Back to iFrames?
•Authorization through JWTs?

12
•External API
•Many problems; many ideas (s. earlier summits)
•Search API
•Tobira reimplements search. A problem of the OC implementation? Why not implement one
standardized search service?
•OAI-PMH
•Used seldomly. Works for now?

13
•Implement only JWT/OIDC within Opencast?
•All other authentication methods through generic OIDC Identity Provider?
•Advantages
•Leaner codebase
•Potentially more authentication methods
•No more „my LDAP doesn’t work anymore after an Opencast update“

14
•Where is an authorization sufficient? Many tools outside of Opencast authenticate the user (e.g. LMS)
Player | Studio | Editor | OAT | …
•Delivery of static files should only require authorization → URL signing

15
•Parallel processing
•Scheduling is slow
•Opencast can “choke” on a large number of simultaneously running workflows
•Default workflows
•I never understood the structure of the workflows
•Not optimized for fast publication
•HLS
•…

16
•S3 as storage location (s. later slide)

17
•Common search implementation for all downstream services?

18
•Data model
•Good new approach
•How to best migrate old mediapackages?
•Automatic generation
•Good number of commercial / open source integrations
•Editor
•Good base implementation
•Delivery
•Include subtitles in HLS manifest?

19
•Matomoworks, but …
•How to efficiently provide exports / dashboards for instructors?
•QoE/QoS questions answered? Not really.
•Orient on standards?
•Server and Network Assisted DASH (SAND) (ISO/IEC 23009-5)
•Common Media Client Data (CMCD)(CTA-5004)
•CTA-2066

20
•No special technical support within Opencast (xAPI, LRS, …)
•No concepts from Opencast?
•A requirement?

21
•Opencast has no special requirements for the DB –„dumb DB“
•Retry mechanism allows use of SERIALIZABLE as transaction isolation level (e.g. with CockroachDB)
•DB schema drift with transition to auto DDL?

22
•S3 is _the_ mass storage for media
•Implementation works, but it feels like a second-class citizen
•Often ignored during development
•Inefficient metadate/ACL changes
•Very slow index rebuild
•IMO it should be the recommended / standard asset store in the future

23
•Solr
•SPOF
•Good news: Opencast 16 will replace Solrwith OpenSearch
•OpenSearch / Elasticsearch
•Single-Node (Replication) hard-coded. Really?
•Easy fix

24
•We already have a Prometheus metrics endpoint
•Metrics sufficient for a deep look into state of Opencast?
•Recommend (Grafana) dashboards / alerting rules?
•Do we need HTTP tracing?

25
•Improve support for Cloud (maybe more attractive to American adopters)
•Autoscaling (of the workers)
•Reliability / HA –admin with scheduler SPOF. Really?
•Make developers aware of operational concerns, e.g. when choosing dependencies