We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Plone 6 as part of video capability

00:00

Formal Metadata

Title
Plone 6 as part of video capability
Title of Series
Number of Parts
44
Author
License
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production PlaceNamur, Belgium

Content Metadata

Subject Area
Genre
Abstract
Presentation of video platform modernization effort in University of Jyväskylä where Plone is a vital part of the solution and why it is technologically good fit for the purpose.
VideoconferencingUniverse (mathematics)Computer architectureVideoconferencingComputer fileSlide ruleArithmetic progressionTouchscreenService (economics)Software developerPhysical systemWorkstation <Musikinstrument>Uniform resource locatorMathematical analysisMereologyHypermediaType theoryPoint (geometry)Data managementSocial classProjective planeExecution unitMultiplication signMessage passingNetwork-attached storageCloningMiniDiscWebsiteCodeSoftwareSemiconductor memoryProcess (computing)Computer hardwarePerspective (visual)Server (computing)Streaming mediaRevision controlVideo gameDisk read-and-write headCASE <Informatik>Row (database)Propositional formulaWeb browserMotion captureMathematicsOpen sourceSquare numberUtility softwareEnterprise architectureCloud computingSoftware testingLaptopEndliche ModelltheorieBiostatisticsStudent's t-testLattice (order)DebuggerIdentity managementDifferent (Kate Ryan album)Functional (mathematics)Cartesian coordinate systemFront and back endsPosition operatorRepresentational state transferOcean currentWeb 2.0InformationMobile appMachine visionSpeicherbereinigungDigitizingComputer programmingAuthorizationDescriptive statisticsTangentTrailBitDatabasePressureHookingYouTubeFaculty (division)Field (computer science)Data storage deviceError messageObservational studyRoutingStack (abstract data type)State of matterLoginSelf-organizationVolume (thermodynamics)Level (video gaming)Fitness functionIntegrated development environmentGUI widgetInternet service providerContext awarenessConnected spaceEmbedded systemQuicksortReverse engineeringComputing platformSynchronizationReading (process)Film editingCodierung <Programmierung>MetadataStructural loadEscape characterWeb pageInstance (computer science)Associative propertySheaf (mathematics)Perfect groupBuildingResultantPresentation of a groupToken ringAxiom of choiceData structureContent (media)Exterior algebraInterface (computing)MultimediaEncryptionProduct (business)Open setPoint cloudInstallation artBlock (periodic table)Mechanism designWebcamHecke operatorGroup actionDemosceneObject (grammar)Proper mapMP3Formal languageFile systemView (database)Natural numberEmailProfil (magazine)Proof theoryFunction (mathematics)Parameter (computer programming)HierarchySpacetimeForm (programming)Moment (mathematics)Single-precision floating-point formatNumberSimilarity (geometry)Link (knot theory)RandomizationDirectory serviceConnectivity (graph theory)Flow separationSoftware frameworkDatei-ServerProgrammer (hardware)LengthData compressionCycle (graph theory)LastteilungCountingFile formatSource codeGeometryWindowReal numberIterationStandard deviationINTEGRALRight angleFocus (optics)Scaling (geometry)Information securityStatement (computer science)Communications protocolAlpha (investment)Human migrationStaff (military)Virtual universityVideo game consolePlanningInformation systemsDirection (geometry)WordFeedbackComputer animation
Hill differential equationStaff (military)BitUniverse (mathematics)Context awarenessOpen setLecture/Conference
Hill differential equationSelf-organizationSoftware testingVideoconferencingSystem programmingMachine visionIntegrated development environmentUniverse (mathematics)VideoconferencingSoftware testingPhysical systemExecution unitMachine visionProcess (computing)WordLecture/ConferenceComputer animation
System programmingSoftware testingVideoconferencingVirtual realityMachine visionHill differential equationWebsiteOpen setMultiplication signComputer hardwareWeb browserPhysical systemUniverse (mathematics)Streaming mediaServer (computing)Projective planeSlide ruleVirtual universityWebsiteLaptopIdentity managementBiostatisticsTouchscreen
Hill differential equationOpen setSystem programmingSoftware testingVideoconferencingMachine visionVirtual realityWebsiteDigital signalService (economics)Maß <Mathematik>Workstation <Musikinstrument>Computer networkServer (computing)Computer programmingSinc functionPosition operatorUniverse (mathematics)Physical systemOpen sourceExecution unitFlow separationService (economics)Software developerWorkstation <Musikinstrument>MereologyCartesian coordinate systemSelf-organizationServer (computing)Lecture/ConferenceComputer animation
Server (computing)Computer networkService (economics)Maß <Mathematik>Digital signalWorkstation <Musikinstrument>Maxima and minimaPhysical systemDigitizingSelf-organizationProduct (business)VideoconferencingComputer programmingOpen sourceDigitizingInformation systemsElement (mathematics)InformationProjective planeOcean currentMereologyCASE <Informatik>Execution unitUniverse (mathematics)Physical systemSoftware developerSoftwarePosition operatorCountingData managementMoment (mathematics)Heegaard splittingComputer animation
VideoconferencingRevision controlServer (computing)Human migrationContent (media)VideoconferencingHypermediaPropositional formulaMoment (mathematics)Server (computing)WindowPosition operatorStandard deviationPoint (geometry)Human migrationFocus (optics)Real numberRevision controlCommunications protocolFile formatWebsiteAlpha (investment)Type theoryInformation securityWeb pageMultiplication signStreaming mediaLecture/ConferenceComputer animation
Hill differential equationRevision controlHuman migrationFront and back endsContent (media)Server (computing)VideoconferencingPoint (geometry)Type theorySocial classBlogMultiplication signMessage passingINTEGRALFront and back endsSoftwareLecture/ConferenceComputer animation
Hill differential equationContent (media)Server (computing)WordRevision controlHuman migrationFront and back endsVideoconferencingCodeServer (computing)SoftwarePresentation of a groupCloningVideoconferencingPhysical systemLecture/ConferenceComputer animation
Revision controlHuman migrationFront and back endsWordVideoconferencingContent (media)Server (computing)Hill differential equationSlide ruleMultiplication signPerspective (visual)VideoconferencingDisk read-and-write headCASE <Informatik>Computer animationLecture/Conference
AdditionVideoconferencingINTEGRALMP3Row (database)Projective planeUtility softwareOpen sourceSoftware developerMeeting/InterviewComputer animation
VideoconferencingDisintegrationAdditionLattice (order)Student's t-testRow (database)Different (Kate Ryan album)Multiplication signDigitizingMathematicsUniverse (mathematics)Computer animation
AdditionVideoconferencingArchitectureUniform resource locatorDirection (geometry)Web 2.0VideoconferencingComputer architectureUniform resource locatorMereologyLecture/ConferenceComputer animation
Uniform resource locatorVideoconferencingClique-widthArchitectureMathematical analysisHill differential equationNetwork-attached storageBit rateFile systemMultiplication signSource codeIterationMP3MereologyMessage passingPhysical systemInformationHypermediaVideoconferencingMoment (mathematics)File formatComputer fileServer (computing)LengthMathematical analysisBitGeometryScaling (geometry)Standard deviationConnectivity (graph theory)Engineering drawing
VideoconferencingMathematical analysisNetwork-attached storageComputer fileTape driveStreaming mediaClique-widthUniform resource locatorArchitectureHill differential equationService (economics)HookingWeb 2.0Phase transition
Hill differential equationRoutingService (economics)VideoconferencingPoint cloudBitLecture/Conference
Physical systemContext awarenessService (economics)VideoconferencingDifferent (Kate Ryan album)Process (computing)Reading (process)BuildingLoginLecture/Conference
VideoconferencingHill differential equationFunction (mathematics)Self-organizationEndliche ModelltheoriePresentation of a groupVideoconferencingEscape characterTerm (mathematics)Computing platformEnterprise architecturePhysical systemSelf-organizationService (economics)Data structureFunctional (mathematics)Process (computing)Endliche ModelltheorieDifferent (Kate Ryan album)Lecture/ConferenceComputer animation
Hill differential equationVideoconferencingSelf-organizationEndliche ModelltheorieWebcamVideoconferencingUniverse (mathematics)Structural loadData structureComputing platformDifferent (Kate Ryan album)Physical systemHypermediaGroup actionMechanism designLecture/ConferenceComputer animation
Propositional formulaVideoconferencingSelf-organizationPurchasingProduct (business)Service (economics)Physical systemEndliche ModelltheorieData structurePhysical systemFitness functionComputing platformVideoconferencingEnterprise architectureLevel (video gaming)Endliche ModelltheorieLecture/ConferenceComputer animation
VideoconferencingDifferent (Kate Ryan album)Projective planeVideoconferencingComputing platformMereologyLevel (video gaming)Open sourcePhysical systemReal numberBitFitness functionComputer animationLecture/Conference
VideoconferencingBlock (periodic table)Web pageMachine visionMultimediaFront and back endsPlane (geometry)DebuggerMultimediaVideoconferencingMachine visionPhysical systemMobile appPoint (geometry)Front and back endsWeb pageComputer animationLecture/Conference
VideoconferencingWeb pageMultimediaMachine visionFront and back endsMultimediaVideoconferencingFunctional (mathematics)Presentation of a groupBlock (periodic table)Arithmetic progressionTouchscreenMotion captureUniform resource locatorService (economics)Computer filePhysical systemYouTubeLecture/ConferenceComputer animation
Front and back endsVideoconferencingWeb pageMachine visionBlock (periodic table)Content management systemFunction (mathematics)MereologySlide ruleRepresentational state transferService (economics)Data managementFunctional (mathematics)Universe (mathematics)Level (video gaming)Faculty (division)HierarchyPhysical systemEndliche ModelltheorieIntegrated development environmentExecution unitComputer animation
MultimediaMachine visionFunction (mathematics)Content management systemVideoconferencingExecution unitFaculty (division)Data modelFront and back endsWeb pageBlock (periodic table)VideoconferencingSelf-organizationSet (mathematics)Computer animation
Hill differential equationVideoconferencingWeb pageMultimediaMachine visionBlock (periodic table)Content management systemFunction (mathematics)HypermediaProcess (computing)SynchronizationFront and back endsFaculty (division)Data modelExecution unitMoment (mathematics)Cartesian coordinate systemHypermediaData storage deviceSpeicherbereinigungMiniDiscMultiplication signVideoconferencingDirected graphDatabaseLecture/ConferenceComputer animation
ArchitectureSoftwareData managementData storage deviceArithmetic progressionStack (abstract data type)MetadataVideoconferencingDatabaseComputer architectureMultiplication signSoftwareQuicksortAuthorizationContent (media)Data managementPhysical systemIdentity managementConnected spaceInternet service providerDebuggerOpen sourceOpen setLecture/ConferenceComputer animation
ArchitectureSoftwareData managementSelf-organizationIdentity managementPhysical systemInstance (computer science)Key (cryptography)Universe (mathematics)Integrated development environmentVideoconferencingData storage deviceSoftware developerPattern languageComputer animationLecture/Conference
SoftwareArchitectureSoftware developerService (economics)Datei-ServerLaptopData storage deviceProduct (business)Point cloudIntegrated development environmentInterface (computing)EncryptionComputer animationLecture/Conference
ArchitectureSoftwareData storage deviceData managementPoint cloudSet (mathematics)Different (Kate Ryan album)Multiplication signRandomizationPhysical systemDemosceneCodierung <Programmierung>Presentation of a groupService (economics)Level (video gaming)CloningEndliche ModelltheorieLecture/ConferenceMeeting/Interview
SoftwareArchitectureFront and back endsData managementMultiplication signError messageTrailProcess (computing)Endliche ModelltheorieMessage passingData compressionInstallation artExterior algebraAxiom of choiceVolume (thermodynamics)BitKernel (computing)Lecture/ConferenceComputer animation
Hill differential equationCodierung <Programmierung>Computer fileParameter (computer programming)Source codeComplex (psychology)Process (computing)Natural numberProduct (business)Server (computing)SpacetimeLecture/Conference
SoftwareArchitectureData managementStreaming mediaProcess (computing)Computer fileLevel (video gaming)Process (computing)Form (programming)Web 2.0NumberCodierung <Programmierung>Uniform resource locatorData storage deviceTrailMoment (mathematics)BitStreaming mediaPhysical systemEngineering drawing
Process (computing)VideoconferencingDisintegrationData managementLTI system theoryPhysical systemLine (geometry)Hill differential equationMetadataSystem programmingVideoconferencingUtility softwareCASE <Informatik>MetadataQuicksortConnectivity (graph theory)PressureField (computer science)Descriptive statisticsTangentLastteilungComputer fileFlow separationDebuggerInformationObservational studyMultiplication signReverse engineeringData compressionPoint (geometry)Data storage deviceRow (database)HypermediaBitProper mapProcess (computing)Codierung <Programmierung>MereologyData managementPhysical systemStructural loadGUI widgetWebsiteEmbedded systemSingle-precision floating-point formatForm (programming)State of matterDirectory serviceProfil (magazine)Link (knot theory)Computer animation
VideoconferencingComputer fileSlide ruleSheaf (mathematics)Process (computing)ResultantLecture/Conference
Process (computing)Software developerPhysical systemMultiplication signPerfect groupAxiom of choiceCodeComputer animation
Chi-squared distributionFeedbackInformationPoint (geometry)Lecture/Conference
InformationDirection (geometry)Proof theoryMultiplication signPerfect groupVideoconferencingView (database)BitLecture/Conference
Service (economics)VideoconferencingComputing platformMultiplication signUniverse (mathematics)Lecture/ConferenceMeeting/Interview
PressureVideoconferencingStudent's t-testProduct (business)Data structureQuicksortLecture/ConferenceMeeting/Interview
VideoconferencingFormal languagePhysical systemLecture/Conference
Formal languageVideoconferencingCodierung <Programmierung>Profil (magazine)Revision controlLecture/ConferenceMeeting/Interview
Data storage deviceFaculty (division)VideoconferencingSelf-organizationComputer fileEmailLoginContent (media)Physical systemCodierung <Programmierung>Meeting/InterviewLecture/Conference
Lecture/Conference
Transcript: English(auto-generated)
Okay, you can hear me everyone Cool. I was asked to ask you that if you any questions Please use these right and most button in the front of you in the console
Testing. Yes, that one and after you ask the question, please turn off the mic after that. Okay. Thank you Hello everyone, I'm Youssou Talaskry from University of Jyvaskula New person to the Plonkonfresse been using Zope since 2003 and Plonk from 2004. So I know something little bit about it from the olden days at least
First few words on on our University of Jyvaskula It's not the largest university in Finland by far. It's like third or fourth largest
14,000 if we count in the the open university student, it's something of 30,000. So decent amount of people at least We got some money and we got a little staff for doing doing things How many from you are from university context or something higher education? Okay, I feel for you people
Always nice to be in such a relaxing environment in some Some things and I'll also or from the University of Jyvaskula also comes a couple of other superstars Ask us all kind of a cox and also Michael colleagues in the in the university We are all in the same same unit there a
few few words about myself Give me my career in the university in 2001 one and my first jobs what I was doing is kind of a Testing video conferencing systems and maintaining it rad vision MCU. I don't know if MCU says anything about anyone MCU's are
With those old kind of H H dot three two three video conferencing systems video conferencing units where you can multiply multiple stream to that single system that they were hardware devices and they cost like Two cars or something to to have nowadays you just have a server and use teams or whatever and do the same thing
I was involved the National Virtual University project. That was actually the project where I got the money for my first first years in the university and they Basically did the things that we are not trying to do again So things will go forward in like some time around 2004 and five me and Rico back
We did the university website with blown Kind of for the first time that was kind of strange project because the mandate was something like, okay We need a CMS for our website. Does anybody know how to use anything? Okay, and we mean me and Rico back. I had done the virtual University project With blown and we just said, okay, we have done something. Okay. Okay, here you go. And then we just did the university website
Times were different back then One other interesting project I was involved in 2016 and 19 was this This Tesla project I think if I can do I can get any
Any browser looking here or not? No, this is actually not my my laptop because my laptop had a purple screen there so it didn't really want to work the correct way, but but Okay, the browsers don't like to work, but it's an it's an interesting Biometric
Identity system so so when you get the slides you can check this out Release as an open source It has an facial detection and and voice detection mainly used for exams and things like that in university surrounding so Check that out also And my current position has been working as systems architect since
2018 About our our unit we are we have a centralized IT services about hundred people We have a three separate Organization units we have the customer service people who take care of workstations applications work on the service They scale this kind of things
We are an infrastructure guys who take care of the network servers and there it is development services Which I'm part of and there are a couple of coding teams something two to five people for each team and We also do LMS support elements in these cases learning management system like Moodle is Moodle Nobody anybody knows about Moodle. Yeah, if you're from university
Yeah, also great open source project and also our unit does some Chris support like increases our current research information systems like where all the publications and Project research projects are being being kind of at least I do ministratively kept kept the information. Yeah
and One of one of things that we are doing nowadays is we are running a digitalization program Not the program like in software but program as an as an university initiative would call it called do and it's based on scaled agile framework and
If you want about the want to ask more information about Rebecca is the perfect guy to ask about that because he's the release train engineer for that for this whole whole Safe thing and me and Oscar so kind of the systems architect and engineering roles If you look at this picture here here, we can see the
Count the positions that we are in pickle pick ice this this guy here and me and Oscar are kind of the first people couple of people here and that the main idea about what does the safe is that Kind of development effort is in split in the three month cycles, which we kind of Kind of a design beforehand what we're going to do in the next three months
What are the priorities and then get the our customers to get their input and get our customers to do this to have a fight with each other that what is actually all important for us to do and Things things will go smoothly after that. So there's a little part about the background the background about our University and things look there now in the real subject of the talk about the video capability. So
What do we have in this moment in time? Well, we have a We have a money best in this our current current video portal its First version was written by myself and recoup a cup
using soap and army streams ever in 2003 and Darwin streaming server might have been kind of a Risky proposition at the time the kind of the real media media was was a strong back then so everybody is in Windows Windows media server or or
Real video server but but our kind of main focus and that point was okay What's kind of the standards what the standards are going to be? Okay MP4 Was kind of the new thing that was was coming and the Darwin streaming server was pretty much the only one that actually supported The mp4 format at that point. So we went with that
We streamed it with real-time streaming protocol and using QuickTime because the QuickTime was the only player at that moment That actually worked with it. We went a couple of years with that and then we migrated to Blown 2.1 in 2007. Nothing really fancy about that step in particular. It was
The soap version was horrible written completed through the ZMI With horrible security actually, I don't know most people would delete pages. I Didn't know a thing about doing anything securely. That's why perhaps I'm in the architect position. No but anyway
We did blown for migration to that site into 2010 that's actually quite early and that that thing uses dextra the content types. Would you believe it? Yeah, that the extra T was something like alpha at that point when we started using it Yeah, that's kind of the main idea and how we develop things because we have guys like Oscar and we we can do strange
things Well, actually we didn't use the dextra the quite the way we kind of like in hearing that the dexterity Classes for our own Own types. It might not be the correct way to do it, but we didn't know back then
So so great about that So but if I believe correctly you might be able to use it that way my crisis might be Painful, so we don't go there at that point. So well, I'll go later what we're going to do next for that but One things which we do did in the
2012 we kind of did the back back end Modification or whole and we did they used asynchronous messaging with the rabbit MQ and In that time if you look at some of the packages that came out like collectives it MQP and stuff like that. They were kind of the things we figure out that point. How do we
Do MQP message messaging in such a way that we can actually get the message to look like an HTTP request in a blog site we did those kind of cool things back then and It's still useful today if you want to integrate rabbit MQ to
Blow not to collect the the MQP is a good way to do that and rabbit MQ is a cool piece of software You just install it have it running and it will not fail if you have some problems It's most about your code. I think the server itself is a reliable as hell. It's a great piece of software
If you just keep it fit with this kind of memory, okay If you have that those it will just run And We had a presentation in the world clone day in the 2013 about our money based in ten years old and have a image for that which I I
Really like this as an inception idea that I'm giving a presentation this this money based in system in 2022 looking at an image where me and recoup a car looking at the Money based inside that 2003 so when this video comes out It will be really great because then we have kind of a 20 years of time span in a single single slide
So I think it's very cool too bad 2023 because it would have been nice 10 years, but This kind of thing. Yeah Okay, I've been talking about being a video portal, but what about audio I
Don't do and try to go talk anything about audio But in my technical perspective is audio is a video without the image. So it just moving it at the technical side of things. So Okay, the use case and things are different with audio you can actually listen it with your headphones when you're talking video is not
So great You will hand bang your head on a wall on kind of lampposts and stuff like that if you try to do it Some people can actually watch them with their cell phones when they're walking. I don't know but anyway What I'm thinking it's basically, okay There's an mp3 files which are kind of being with the audio world, but more or less is pretty much the same thing
Technically to manage it one of the later developments which which we did was was integrating Integration for galley cast a lecture recorder
it's also an open source project because lecture lecture recording is a kind of big thing kind of the what I'm describing as an Vampire way of doing utilization of all the for the education because okay that the lectures are already happening How do we kind of use that to create a new digital content?
okay, but you just put the lecture recorder in the in the lecture hall and Captured that recording that the lecture that the teacher is giving out and have that as a recorder and this has become a kind of a assumption for all the All the lectures in our University
Of course, they are available online after they have been kept and we decided to kind of change also the way our teachers Use these recordings state they kind of may take their own lectures kind of they do them beforehand as a recording and don't even Have the normal lectures for the students and have them kind of a doing
Face-to-face meetings in another time before for kind of different students and use the time more more efficiently Yeah, one thing that came in 2020 was the Europe European Union as Web Accessibility Directive Which gave the mandate that you actually do need to have an? Captioning for your videos in two weeks after after it has been published
So that kind of led us to wing us to doing automated captioning system for for our money wasting And we have now like 30 terabytes of video accumulated during the 20 years, so It's like that
Basically what happens when we upload a video we now becomes the more the technical part of this thing In our architecture we have a kind of shared secret with one on Bone and one of our microservices called entry upload where we have the we were signed the URL from from clone so that the the upload
upload component will accept the file actually to be invalid of our file and It gets posted to the system It will be notified by rabbit MQ to the there's new video, and it gets through a little bit analysis That what's the length of the file? What's the geometry of the file and
After we get that information we'll get it In a rabbit MQ as a message well We don't actually move the media through the Arabic MQ it's just a file in the file system in an in an NS NFS mount where we just point that okay. There's the file and you you should now encode this thing and we will encode it as an
1080p and 720p and 360p and mp3 formats so here comes the video without the Image part which is now the mp3 file as the audio Which we are pulling out there, and we are just storing him to to an NAS system I think it's Dell EMC is Elon or something like that at the moment
it has gone through a couple of iterations of NAS systems in this time source also and We are streaming it with HTTP live streaming, and we are using wolves a streaming engine. It's not an open-source project, but it's Completely wonderful streaming server if you want to use it it is almost
It is very well kept kept in time it supports latest latest standards And it's quite performant up it is written in Java, but you wouldn't believe it It's quail scales quite nicely, and it's not too expensive So it has been a pretty good for us because we also do live streaming and and video on demand
So we also meet that Capability there, so that's one of the reason we also use this Wow Yeah, and and how the captioning is being done is kind of triggered with them Web hook from from blown to Jenkins, I don't know if ever anybody's using the web hook
Web hook I done for blown. I don't did we actually publish it or anything It's nice thing you can attach it kind of that when when there is a state change in in blown You can then trigger and web hook somewhere else that have have things happening with that And that's kind of a sweet way to integrate long just about anything with just a web hook
Stuff so it's it's pretty cool simple, but cool Okay, that's the stuff that we be doing thus far in the next neck past 20 years and now we're kind in a Crossroads that what should we do now and okay? There has been these talks that should we actually dump the whole thing and just buy from a use and
Ready to build service that we will upload our videos to that and go that route That's one of the possibilities we might go, but then we stay we go in situation Okay, we are 30 terabytes of video. Do we really want to migrate those things to some cloud service? How long is that's going to take and how much it's going to cost to actually host a month of video
It's not going to be cheap and with that money and our experience I think we can we can still make a competitive video service For for for the future also and we kind of started thinking a little bit differently about the video
Not just this simple service where you share the video as more as an as an capability in a way that that How how does the video work in different kind of context in the university? I do how do we build a system that can support these different kind of? Context is I have an example here for for kind of the
learning learning context is like the question is How do you learn to build a log house, how do you do the learning process on how to build a log house? The the old days you just hit a book and read about read about how to build a log house
That's how how is it traditionally been done in the in the learning learning sector, but nowadays more and more It's looking the video about the how to build a log house And actually we could we could look at here how we actually could build a log house We have a nice video here about building a log house here
So after you have watched this whole 25 minutes of this video, you would know how to build a log house everyone
Actually, this might not be the newest video in the in the business of building log houses But but I don't think the log houses even are the one of the newest inventions. So I think it's appropriate you have this done
Kind of presentations for it But but you get the idea Idea how the learning has kind of kind of changed if I just can't escape this video Okay Now we get into subject what I what I mean when I talk about video capability and the capability term
kind of comes to the the enterprise Architecture things anybody familiar with enterprise architecture mumbo-jumbo Okay There are different kind of models on on how to kind of structure your enterprise and how to lead it efficiently and what kind of what kind of
structures do you need to have there and looking at through the capability is one way kind of kind of looking at it and What I see as a capability as these the organizes ability to utilize video occurs across different processes and functions to add value to customers kind of how I try to Kind of summarize what mine what I mean by it and
How the capability would manifest itself is like what we have nowadays quite a lot online means video only manned live-streaming plus the service models that support those things because that's the service models is probably the thing that Quite the many organizations will fail. They will buy some platform
Okay, and they put Start the platform and then start to think. Oh, they're what what the heck? Why doesn't anything happen? We should should be we have this very expensive system We should be now be a top of the world and do video and things but what they usually miss Miss is that they need kind of service structures around those
those services kind kind of teaching how to use those tools and how to support those situations and Also just technology how the people should get the webcams and things like that. They actually can use the thing for that purposes So includes the technology some people's ability to use them and that's kind of important thing one of the things why have you actually
Survived with our old blown video system so many years that we have an support mechanism beside the system. We have a Kind of media media support group of video support group that can actually support the teachers for for creating the videos and lectures and have the support structure around and that that kind of we have a lot loads of
kind of universe same kind of universe in Finland Which don't have this kind of aspects and they have gone through so many different video platforms I always wonder why this doesn't work and Always the thing is they don't create the kind of support structure for that for the system They buy the thing and then they don't create the support structure for for using it and I just find it very silly
Here's kind of what what Gardner has to say about About these capabilities how it kind of fits into this whole whole whole image if you want to look at it The capability models is something to to
Look further if you're going to find one wonderful find the kind of largest largest object on On an enterprise level how it how it would fit but basically this is what I mean when I'm talking about capability It's it's also the people the technology and support for the system And now we get to the
The main main topic of this particular conference. Why is blown a good fit for a video platform Platform and also as a part of this video capability and one thing There may nowadays. I'm not that much of a blonde guy. I'm a ten different project kind of guy looking different kind of
Open-source projects and systems and things like that and blown is one of those things on that in the map Which I'm looking at Okay It might be my one of my first lovers in the system because one of my earlier career things was about long So I can look at it a bit more closely But they are genuinely real things white white's a good fit in a video platform
when one basically is the vault the front end and The page will reload at some point because it will cut the video and start playing again You need a front end That will is a one-page app that will remain there and the video will keep playing and other things will happen there and basically
What I'm thinking about the technology available Volto is the pretty much the best thing to have around there so it is really a kind of one-page app the magic happens most on the front end, but then you have the the The back end API's for doing stuff
and that's really How it now fits in this our our video picture at this vault the front end this is kind of vital apart for us to have working here and What we have the kind of vision of the original Monetization system which kind of multimedia publishing you can have a text there and video there and audio there and what I think now that
With volto and it blocks system. We can actually now get there. We can really make these multimedia Presentation publishing what we thought about in a 20 20 years ago in a way and how it was look like would basically be an Video upload block with upload functionality there now there's you can paste a copy pasty YouTube URL for that for the block
But what if you just push your file they all say that okay capture my screen and put it there Have it worked on this magical way that all the magic would happen in the background on the service Kind of disclaim also this whole system is kind of work in progress. Oh my my I might actually invent something up right now
So please keep notes that we can get these these things done if I say something meaningful this in these slides And the rest API is more also important here so that you're all the management functionality is available We are the API That is also vital vital
Part of it Because in this if this new all this Streaming environment. It's something that you just can't do with blown itself It doesn't have all the necessary pieces for the do the streaming because you need the streaming service You need to encoding systems and stuff like that to make it actually happened
Also the hierarchical hierarchical permission model is is quite nice for University We have the faculty level department level or as a unit unit level and the blown's way of looking at it as a hierarchy Makes it quite easy to do to handle those those kind of permission requirements
Other otherwise it would just cannot be linked to a certain person and her or his permissions on the video but usually when we are talking about an organization, there's some other aspect that will kind of Set what what got the permissions need to be and who owns this video the video might not be owned by a person but the piece of organization somewhere and also
What the quote the quotes from the olden days? I think it was me caught them up was who said something like that is a single feature that it can do anything So I put it also here. So we also know that okay, we can make it we can
We can make it to do anything if we actually wanted to do so We know that there's no kind of restrictions there if we really want to Couple things to reconsider 30 terabytes of video data. I probably wouldn't want to put them in a blob storage and Who put that whole stuff through the the the soap application server?
I I think there are better solutions for that in the moment moment of time and What that causes when the media is kind of outside of the of the blob storage is How do we handle the deletion of the video? We probably don't want to delete right away when we press delete because We now have the transactional history and we can undo the stuff. Okay, it's gone from the disk
What do we do now? So it's kind of have to be in the bar But kind of garbage collection we mark it for deletion and when we do the packing for the database We will actually then delete the data. So it's kind of sink even if it's an external Storage where we store those videos We will want to happen at the same time when we pack the database where the metadata is kind of collected connected to the data
Here's the New software stack for the new architecture to be a reveal. No This is still work in progress. Also, what kind of piece do we use? Well, we'll plumb is obviously there
That's not going to change What the world kind of does is the front end stuff the content managed cement and the authorization things who can access what? Who can see what who can upload where and those sorts of things? And blown is blown is good for that But then we have other other pieces which are equally good at what they do
But I think one of these is a key cloak It's an open source Are the management solution which does open ID connect. It's the summer to Its a lot of connectors whole bunch of stuff for For using as an identity provider for the system. We can also
in University environments we have a couple of big summer to federations like edu gain and national systems where we federate identities between Universities and so that somebody from other other university can log in to our system with their own organizations
organizations Credentials, so we're using that and we can also use click key clock for doing that. We have our own Key clock instance where we in which we can federate identities from from ours from our own main identity management system and from other organizations or the management systems and provide the necessary tokens for
The new video streaming pattern to work for storage We are using Mineo at least at the development desktop Mineo is Is an s3 compatible Storage server so s3 is the stuff that the AWS actually uses for for its own
Blob storage kind of thing and Mineo is the thing that we can run locally one of our kind of development Development Goals is that we want the whole thing to be able to run in our own laptop all the services requires We want to have it available in the in a laptop for the developer. So that's why we use Mineo here
I'm not sure we might actually use Mineo in production too because me what Mineo has is is Encryption for the data and it might be something that our own nest which also has an s3 interface don't provide so we might actually To use Mineos also also in the environment one thing about we are not doing this in a cloud
We are doing this completely on-premise which kind of Set certain requirements what we need to do because if we would go in the cloud then the things might be a little bit different but we are doing this on-premise because Things what we want to store there might be a research data Which have some which might have some requirements that we actually need to encrypt it
We need to say that okay The research data is actually physically there certain place and that's need to be written in the in the documents that are Required when we are getting the funding for the research. So that's why we are even thinking that doing this System and use doing it on-premise Okay, then we have this
Kambunda system if anybody wants to know about Kambunda ask us. Oh, he knows everything He has a presentation for also Kambunda in this conference Look at that. What the Kambunda does is is the encoding and captioning workflows all the all the technical works Workflows that happens behind the scenes are handled with Kambunda
What Kambunda does it use BPM and modeling for the for the processes? Where it's excellent and kind of better for for workflows than what clone has it has excellent Excellent support for time for example You can say that okay, this stage should last like 30 days and after 30 days It will do its next step and call the next service and do things the kind of randomizer
Blown is not very good about time So do something at particular time You need to kind of move around and await the request to happen and then check out the time and do the stuff But Kambuda actually can do stuff at that per certain time If you have a waiting time for some piece of process that wait here for 30 days
It will then ask the next thing to happen also where it's excellent is keeping track of that stuff will actually happened There is a very clear model and that these days if there's some error that happens It will capture that error and it allows you to kind of kind of repeat the same thing again and try it again I have to have the extra thing so you can't miss any stuff that you've actually supposed to happen
What was kind of problem with the rabbit amplitude at monitoring? It's in a Enough kernel way is a bit difficult to have it Certainly know that what happens at what point in in a certain way, but with Kambuda and a BPMR model it's very clear that you can track stuff in a very detailed level and also the volume of
messages in the In the video encoding is not so huge if you have a messaging problem that requires thousands of messages per second I wouldn't use Kambuda for that rabbit amplitude is perfect for that kind of situation But if you have a kind of a fewer things but you really need to be a track of things what's going to happen where Then Kambuda is a pretty good choice for that to actually know that
Then orchestrating the whole thing together is hashicop nomad That is actually something that we are able to run as ourselves other kind of the alternative for that would be Kubernetes But I'm the same person and wouldn't want to install Kubernetes by myself
So if somebody installs Kubernetes and maintains it for me, thank you I'll take that Greatfully, but if we maintain ourselves hashicop nomad is something that the human being is still able to somehow maintain an update So that's for that and I did not mention it here
But with nomad we also use other hashicop products like vault and conasul for some of the other things But hashicop stack is pretty nice for things in that nature and all the ideology of the companies that have had Simple pieces that do well that one particular thing and you can pick and choose the pieces
Which you actually want to use and they will integrate the encoding jobs And what the encoding job here is basically just an ffmpeg command line with the search and things This is the source file. These are the parameters. This is the target file of what you're going to output. Encoding is nothing that to Do more complex FFmpeg command line, there you have your file
That's basically happens and we will control that with the nomad and it will do load balancing like Okay, this server has more space than that server. Let's give that the ffmpeg to run And for the streaming we will still use the Web streaming engine because it has been very reliable for us for many years
We don't need to and it also has the the the s3 API support that we can stream directly from the from through the s3 API In a process wise it goes Goes a little bit like this. This is little a little bit rough at the moment
But what we basically do is when we're logging in we're getting the token from the key clock for the user We To that the user then uses the token to access the the upload form in the in the long side to Volto and
When the file has been Uploaded It will get notified to come under will track the process Okay, this is now to upload stage and will notify then the nomad Okay Here's the file you need to encode these things and will keep track on what happens and what stages and the encoding will the resulting files will be pushed to the
s3 oh the fun thing about here to notice is that This number 7 the upload will go directly through the s3 API We will what will happen is that we will create the kind of pre signed URL for the upload for the for the user So that they can directly upload the data to the storage one thing in the streaming systems
All the media pressing it. You don't want to move the data You want to keep the movement of data as little as possible you want to put it somewhere and use it there don't can copy it some other place and do stuff there because when the file starts to be gigabytes the Moving will mean waiting
So put it in one place and do stuff there and then create the file to another place and then it stays there and don't try to do copying too much if it's that's all possible and This also means that only the data will just come from the user and goes directed to the to the storage and nowhere else in The system we only have enough links for today that okay
The data is now there and the process that says that okay data is now there and you can the next piece can process it further So it goes something like that And the encoding processes is kind of similar Come on that tells tales of command. Okay, here's the stuff to stuff to encode and it launches the
Impact nice thing about that of impact it can access stuff directly from HTTP and it can also push stuff Directly to HTTP. You can basically do the whole encoding with just a single single command line And no need to store the data, you know in any temporary directory and stuff like that. I find that very very nice
Here's some how it would You look through the with a BPMN We're kind of some kind of waiting state that happens when the form loads then we have a
upload processing part and we have a the different different Profiles for the video will happen simultaneously at the same time, which will which will get Separate load balance to a different service and make the front end note
Okay, the file has to be uploaded into it. We watched stuff like that and The idea behind is we want to make it as API driven as possible So that the blown is good component. They would also want to use the system completely with with through API's
They sort of need to use the portal Directly one of the use cases is like this learn use these learning management systems that you could upload the video directly from learning tools Inoperability which you can use to
Create kind of tools and call those tools from other systems something weird happened to my sound, but I don't care We have these 20 files here and we want to upload them directly the portal
So have the tools to kind of use that and that will require some kind of API Utilized and to make it make it easy to easy to do that one of the problems about this Batch-loading scenarios is usually the metadata
I don't know if I want to call the tangent on metadata and the difficulties of getting the correct kind of metadata because when you put the first kind of the Put the title of the video here people First put the video one and then you will put the description field under it Then we'll they will copy paste the same video one there It's very difficult to get people to actually fill in some kind of meaningful
Meta-information even if it's just a title of the video One thing that you do manages to do with the some through the money so that they can get the videos on more Visibility that it has some better metadata and they got it that way But when we are dealing with kind of lecture videos
We don't have that kind of pressure that we need to present them that you need to do a proper metadata So that's a bit tricky to actually what kind of metadata do we can get to these videos and it's always been meaningful One thing what I'm thinking about what we could do is kind of use the with the lecture recording situation If we know that okay, it has been this lecture hall here and it's happened at this time
Okay, then we could use that information and go to our study management system Which have the information about the lecture and fetch that information and then put it on the metadata For the video file because we knew that it happened at this point and hope that they hadn't researched stuff like that, but But maybe something like that
One of the ideas which I'm also kind of thinking is what if we have kind of this kind of reverse video embed thing you have you can embed video through iframe to other sites and stuff like that what it would work in kind of way that you would you would embed a video upload widget on somewhere and you could then Upload video that featured and then transform itself as the video player
Would that be cool don't know happen to occur to me. That's might be funny thing to do Kind of have a embed that also takes the video with it. There's gonna be loads of course fun there I know how the course is going to like that. Okay, this was a clip what I mentioned earlier
Using the system to get the metadata for the for the video and also video encoding might not actually be the Thing that we want at all. We might not actually be any interested about the video. It might be something completely different What if we are just interested about the transcription of the data what was actually said there?
We are not interested anything on what happens in the in the in the video. Just touch the text that people actually sit there So what we are now thinking that okay, we much we would probably want to do some kind of a more generic way Processing the video the encoding is kind of one a part of it
But what we other things we would like to do is like this transcription Do we want to do more editing like before cutting end of the Start of the video at the end of the video to cut down the middle section for it that might be on Do some text extraction from the video you can see slides from the screening extract the data out of it
That's the one a piece of processing we do or more AI things We could do post detection for the video if I'm doing some kind of these movements there we could get the data out of the video and Have it in that as a JSON file as a result and then it starts to get pretty interesting what we could do things like that Kind of generic more generic processing for the for the video
Then what kind of a How we're doing things how we're going to do these things and I were broke progressing on this development thing we have these kind of two things that are in the
opposite of each other with something is Kind of doing things right or doing the right thing and this kind of talks also things like technical debt and Time to market and stuff like that So do we want the perfection that actually does everything the most perfect way? But are you sure that it's actually the thing that we're needing to do
Is it the correct the thing that the people actually requiring it might be perfectly implemented documented everything but completely wrong thing So what the value is for the system at that point, so I'm not saying that you should write a crappy code or document badly but
Understand kind of way that it's a choice on how I using your time Do you want to try to iterate something very fast for people to look at and have an opinion or is this actually the correct? Thing that you're trying to do That has its own value one of the saying which I'm which I'm using is If you want to do something really good
You actually have to do it twice You have to do it fast and then you have to do it. Well and usually can't do them at the same time So accept it that you will do with first fast and get the feedback from people Are you actually doing the right thing? And then when you know that you can probably try to do it. Well
Unfortunately quite a many things will end up on the first stage that it's been done fast Because in the funding is a little bit different But if you tell that from the get-go that okay This is kind of the the point where we try to get the information about this this thing that are we always going in the correct? direction or not and Accept the things that okay. It's not going to be perfectly done
It's going to be a little crappy at the place, but we will get the information to get the ball kind of rolling And what we are doing right now is kind of the proof of concept kind of things We are not trying to do stuff perfect at the at the first time kind of Stretching our legs and trying your stuff out. Is this something that we that the our unique University would actually
Require a need and kind of looking a little bit kind of me wider view of the whole video video thing so that's kind of the Then the idea which we're having so, thank you. You have any questions for me
Press the button and please talk First press the button on the on the right side. Oh it worked now Hey, I suppose it's a service that you use in the university
The platform the service that you the video service it's used in the universities. Yeah Challenges during kovid Time. Oh, yeah. Yeah Yeah, the uses use it went through the roof when the COVID started What problem did you had well not really problems we had pretty well
Kind of prepared for technically for the for the COVID and we had also the support structures in place for supporting this video production So kind of the COVID didn't in in this kind of a lecture situations didn't harm us that much Okay students they they feel the pressure because they need to be home and can't see each other and that sort of things
But in our support role, which we are kind of representing we were technically pretty well prepared for for handling all the video video stuff Also used before quite often before the
Pandemic. Yeah There was increase in usage but nothing nothing huge Yeah Yeah, thank you for your talk You have said that you do automatic captioning of videos
What languages do you do it in and what do you use for it? We are now using first we used a small Finnish company called Sun ellos which have their own custom Captioning service, but then they kind of went over and they Ported their system to use other as their captioning system for that
But the latest thing which I just found out a couple of days ago is the open as whisper Which looks very good. I'm really thinking about using it. It looks absolutely great Or even finish language finish Yeah, we also do English and Finnish as the two languages
But but the but the whisper would actually support like 90 languages or something that would be huge Is the great thank you very much for the talk. Is there the 30 terabytes of video that you have around does that include your renditions the
Encoded renditions or have you figured out a way to like remove those encoded renditions when they're not being used or What we basically do we encode the different profiles of the video that depending on what's the original material is if it's over 1080p will scale it down to 1080p if it's under 1080p will just encode the 720p and
The profiles under that and we will always throw away the original version Okay Do you store those forever? What is the lifetime of a rendition? we have Some of the stuff is pretty much forever. We just we just kind of have the or the organizations
Kind of wheel for the content that's stored on the department the faculties and things like that If it's a personal video, we have a personal side of things that has a lifetime of only Was it like six months after the last login in the system Then it start to delete the videos of the person that hasn't logged in
It will first warn with the email that okay We're going to delete your files after this this time if you don't And the reason I'm asking is because I have the same problem with the storage problem but we were thinking on the side of holding on to our original files and cleaning up renditions
Encoded renditions if the video is not being used Problem the original file is that we might actually get something like a pro