At the University of Jyväskylä, Finland, we have been running a Plone-based video streaming platform called Moniviestin for over 20 years. This year we are building a next generation video sharing platform for researchers' purposes. The demand is for a very secure but easy to use platform. For this we use several open source tehcnologies, from Camunda, Nomad, Keycloak and Plone 6. In this presentation I will demonstrate the preview version of the new video service for research purposes and talk about the development process, what we aim for, and why Plone 6 is a good choise for us
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
Building a next generation video sharing platform with Plone 6
1. Building a Next Generation Video Sharing Hiding
Platform Using Plone 6
Case Researchvideo 2.0
17.11.2023
JYU SINCE 1863. 1
Rikupekka Oksanen
Digital Services
University of Jyväskylä JYU SINCE 1863.
2. Summary
University of Jyväskylä, Finland
Building a secure video
streaming platform on Plone 6
Live demo
17.11.2023
JYU SINCE 1863. 2
3. Rikupekka Oksanen,
Plone stuff since 2004
My background is in IT, web development,
communications, and pedagogy. My work has
consisted of lots of customer collaboration,
support, training, and a fair share of CSS
tricks.
17.11.2023
JYU SINCE 1863. 3
4. University of Jyväskylä
and video streaming
University of Jyväskylä has over 20 year of
experience on running our own video streaming
platfom, Moniviestin. We have over 60 000 videos
(combining watching material for 3 years).
Moniviestin has an integral role in study and
communication. It’s based on open-source
solutions and has no licence costs for us. Remote
work and remote learning is everyday business for
us.
But there has been demand for storing and using
sensitive video material and utilising new
technologies like AI, mobile devices and digital
workflows. How can we make that happen cost-
effectively for the next 20+ years?
17.11.2023
JYU SINCE 1863. 4
5. We need to renew our video capability at
University of Jyväskylä
1. Current video streaming platform
Moniviestin
has to be renewed during 2024 or acquire
something to replace it. Python 2 detected.
- Critical service for studies and communication,
35 000 users per month, 66 000+ videos
2. Research data needs and possibilities
- Need to store sensitive video and audio
- video processing and analysis
3. Renewing video capability would allow new
innovations
- Organizing hybrid events, utilizing AI,
integrating with digital workflow management
17.11.2023
JYU SINCE 1863. 5
6. Finding a new solution in
2022
After giving it a thought and some research, we
realised that commercial solutions don’t
provide us the answer that would suit our
needs and our visions for different video use
cases -> expensive licenses, future possibilities
unclear
Now we are creating a new platform for
video, utilising our knowledge about digital
workflows, running our own servers and
building complex websites and mobile services.
17.11.2023
JYU SINCE 1863. 6
8. Dev team
17.11.2023
JYU SINCE 1863. 8
Team of 8 -> 7 have been working on this at some point
Lots of experience
DevOps
System architects
UX design
Plone development
9. Video Content for Plone – easy?
17.11.2023
JYU SINCE 1863. 9
• PS. Also check Michael
McFadden in Plone
Conference 2023 with
Video Content for Plone
https://www.youtube.com/w
atch?v=0LV5Lj12HkI
10. First: Technical PoC, vertical
slice
Proof of Concept first
– Vertical slice to prove the tech stach works
Integrating a lot of technologies that we already
use
– Plone, Nomad, Camunda, Wowza
Integrating some new parts
– Keycloak, S3, Min.io
After PoC, it was decided that we can continue
to first production service
Build Researchvideo 2.0 during 2023
17.11.2023
JYU SINCE 1863. 10
11. 17.11.2023
JYU SINCE 1863. 11
Backend (media, servers)
API’s (processing, Plone 6)
Study/Co
mmunicati
on
(Renew
current
Moniviesti
n, Plone
6)
Researc
hvideo
2.0
(Plone 6)
Hybrid
events
(New
service,
Plone 6)
Vasara
(Research
for JYU
Mobile)
Moodle-
API, LTI
(Plone 6)
uMove
case
New
service
XYX
New UI
POC 2022
Case 1,
2023
12. Software stack for the new architecture
Plone 6
– Frontend, content management
– Authorization
Keycloak
– Authentication, users, groups
Min.io, Amazon S3
– Media storage, local servers
Camunda
– Encoding and captioning workflows
Nomad
– Encoding jobs with FFMpeg
Wowza Streaming Engine
– HTTP Live Streaming (or Dash)
WhisperX
– Automatic Speech Recognition with Word-level Timestamps (& Diarization)
VideoJS player
GPU encoding and text processing for speed
Keywords: Open source, licence
free
13. Encoding Process in Camunda, BPMN
17.11.2023
JYU SINCE 1863. 14
• Ability to see where a user is in the process
• Process transaction history
• Retries
• Visualize problem areas in the process
• When planning, easier to discuss the process details with
visual presentation
14. Keycloak
17.11.2023
JYU SINCE 1863. 15
Authentication, users, groups
Integration to multiple login
services (HAKA, Azure AD, IDM,
Google etc.) using Keycloak
16. API driven solution
Video platform should be available from any context with simple integration APIs
People shouldn’t need to use the video portal directly
– Upload video from Moodle (Learning Management System) via LTI (Learning Tools
– Upload bunch of videos from command-line
What if embedded video is actually an upload widget what shows the video that was
previously uploaded?
Lecture Recording Systems
– Upload automatically after lecture has ended
– Fill in course metadata automatically from Course Management System to video
17. Why is Plone 6 a good fit for a
video platform?
Volto frontend
– No page reloads. Video players really don’t like when
the page reloads!
– Can really fulfil the original Moniviestin vision of
multimedia publishing
– Video Upload Block possibility
Plone REST API
– All content management functionality available via API
Hierarchical permission model is good for a university
(faculty, department, organisational unit, detailed
permissions)
”Plone has a single feature: It can do anything!”
17.11.2023 JYU SINCE 1863.
19
18. JYU SINCE 1863.
Plone 6 as part of video capability
– Jussi Talaskivi
• For more technically oriented look in
to the technology stack and reasons
behind it, check out Jussi
Talaskivi’s presentation from the
Plone Conference 2022
• https://2022.ploneconf.org/schedule/t
alks/plone-as-part-of-video-capability
19. Research video situation and
requirements
Already existing services, e.g.
– https://researchvideo.jyu.fi (Plone 4.3) and
– Next Cloud –https://nextcloud.jyu.fi/
– Good security, local servers
– Upload, view and share video to certain people
But that is not enough. There are more requirements
– Really sensitive video and audio
– Sharing material to other users (from other
– Video transcription and diarisation
– Modern user experience
– Utilising AI possibilities
– Using AtlasTI for analysis
17.11.2023
JYU SINCE 1863. 21
20. Building process
Requirements:
– We know what a good video platform needs
– Research needs also listed – power users participating
UX/visual design using Figma tool
Test site on day 1. Even if it does nothing yet
Core technical things first
– Camunda process for encoding
– Using S3 buckets for files
– Upload and encoding UI
– New video player
Lots of learning on the new components
Fine tuning the theme and rough edges comes last
Internal testing
No definite deadline = good+bad
17.11.2023
JYU SINCE 1863. 22
23. Topics
1. Frontpage (unauthorized)
2. Login
3. Frontpage (as a researcher)
4. Own project
5. Upload media
6. Trim, subtitles
7. Encoding
8. Media page view
9. Editing media page
10.Editing subtitles
11.Editing video player options
17.11.2023
JYU SINCE 1863. 25
1. Frontpage (as admin)
2. Editing main pages
3. Sharing permissions
4. Bonus: Building a faceted search
view with Volto blocks
24. Easy upload
The new Researchvideo 2.0 allows easy uploads
• New upload process with quick access
• Additionally, you can navigate to project structure
and add videos from there
• Upload process is streamlined and makes adding
metadata worthwhile
• Video trimming and automatic subtitle options
available
17.11.2023
JYU SINCE 1863. 26
25. New video player
The new VideoJS player with:
• Playback speed selection
• Audio only mode
• Autoplay setting
• Show/hide controls
• Loop setting
• Live playback
• Editable watermark
• Editable subtitles
17.11.2023
JYU SINCE 1863. 27
26. Security and sensitivity
Security is a key factor here:
• Granular role and permission management
• User permissions have time limits
• New object storage on local secure servers
using Amazon S3
• All transactions are logged with high detail
• Login integration with Keycloak
• Orchestration with Nomad
17.11.2023
JYU SINCE 1863. 28
27. Modern content editing
Researchvideo 2.0 uses Plone 6 for content
management
• Next generation easy to use editing
experience that is super-fast
• Modern interface with WYSIWYG (What You
See Is What You Get) -functionality built on
React
• Clear hierarchical page structure
• Secure enterprise-level content management
system
17.11.2023
JYU SINCE 1863. 29
28. Multimedia pages
Not just videos
• Content can be videos, audio, images, files, text
and dynamic features like HTML embeds,
maps, listings and search functionalities and
more.
• Plone 6 enables editors to enhance every page
with flexible components called blocks.
• Editors can build visually impressive pages
with multiple columns and distinctive layouts
17.11.2023
JYU SINCE 1863. 30
29. Responsive & accessible
Built with two must have features in mind
• Accessibility. By making the site accessible as
required in the law, the site becomes more usable to
every user in various situations
• Mobile responsiveness. Users can watch and even
edit content with their phones and tablets.
17.11.2023
JYU SINCE 1863. 31
30. Subtitles and
diarisation
17.11.2023
JYU SINCE 1863. 32
Video and audio can be subtitled
with speaker diarization
Huge time saver for researchers
Using Whisper X large language
model from local servers
31. Feedback from the test
users so far
“Clear, clean interface”
“Easy, simple”
“WYSIWYG editing of the media page almost
in real time”
“Seems simple, but there is possibility to add
more features to the page”
“Adding new blocks to the page could be more
clear?”
“Clear instructions”
“Granting user and group permissions seems
clear”
17.11.2023
JYU SINCE 1863. 33
32. AI possibilities
Transcription - OK
Translations?
Automatic metadata extraction?
Face blurring for more sensitivity?
Pose detection?
Object classification?
Something else?
17.11.2023
JYU SINCE 1863. 34
33. Security
Core idea of not moving video files
from server to local machines
Local servers, S3 buckets
Keycloak, time limits on permissions
Plone 6, good UX
External security audit in October
2023
17.11.2023
JYU SINCE 1863. 35
34. Challenges
Timetable
Priorisation and resources
Technical complexity
Lots of own work
Needs experienced developers
How to make this a service
17.11.2023
JYU SINCE 1863. 36
35. What next?
Production release of Researchvideo 2.0
in December 2023
Next year:
– More AI features to Researchvideo?
– Renewing Moniviestin video service –
massive migration or a fresh start?
– Building a hybrid event platform on this
tech stack?
– What could we share?
17.11.2023
JYU SINCE 1863. 37
36. Summary
Complex problem, complex solution +
lots of work for an easy user experience
Looking for long life span
Open source public sector
Software is not enough, you will need a
service
This is one way to do it
Excited about the possibilities
17.11.2023
JYU SINCE 1863. 38