„Offline work mode! How we enabled offline work possibilities in our browser-based video editor….”

The base: Web Render Engine
VidiEditor, being a browser-based application, running in a centralized Media Asset Management System, by design is already suitable for remote work. An offline work mode is a great extension of those possibilities to decouple from the needs for a stable internet connection. Combining this thought with the Web Render Engine possibilities the offline work mode concept was realized in 2024.
The Architecture Change

-
VidiStream API’s for Source and Timeline Preview
-
VidiCoder and Animation Render service for final HiRes conforming
-
VidiCore as Project, Media and Metadata repository
-
Media needed to be download by the user before going Offline, preview can then be done based on downloaded streams and Web Render Engine technology
-
Search of media needed to be limit to offline media only in offline mode.
-
Persistence of projects, metadata and autosave needed to work against a client-side data store
-
HiRes Publish must be disabled as the needed Transcoder is not available client side
But how does the architecture of Figure 1 change then. Well, it simply looks as illustrated in Figure 2 where basically all media used for preview is load from cache including not only preview streaming but also trickplay functionalities such as trimming, seeking and scrubbing. Also, the work done by the user somehow must be remembered so the latest state of the project is persisted. Last but not least it is essential to also cache the VidiEditor frontend itself being able to load the webpage while being offline.

The User side of things
-
Downloading media from central system storage
-
Indicator and filtering of download media
-
Switch to enter/leave offline mode
-
Disabling GUI elements such as Animated Graphics and Publish

But one point is not answered yet. The offline mode opens the potential of working on the same project offline and online with different users at the same time which easily creates conflicts when trying to merge it to one state again. Therefore, a hard decision must be made by the user when switching back online. VidiEditor will ask the user if the offline copy or the online version of the project should be used from that point on. After selecting the wanted choice VidiEditor will mange that data accordingly.

The Future of it
The clear answer: It depends. For example, a publish without the centrally used transcoder would be implementable when limiting quality to a standard web video format such as MP4 / H.264 which would be also used as preview then. This could be sufficient when using FullHD media depending on the needed use case but not for a traditional linear TV production probably. Another idea could be running a transcoder locally, but this contradicts the idea of using low performance office PCs for video editing quiet a bit.
Also, usage of animated graphics and markers was out of scope here and would require additional thoughts and implementations but possibilities exist to improve here too.
Furthermore, it should be evaluated how big the user need is to work offline in VidiEditor even more. Watch out for more news around this or other feature based on Web Render Engine and other Vidispine technologies on upcoming blog posts.