sheepman4267 / OpenShow

A flexible, extensible, open-source presentation system
MIT License
2 stars 0 forks source link

Separate media file management from slides #7

Closed sheepman4267 closed 2 weeks ago

sheepman4267 commented 3 months ago

OpenShow's current approach of using FileFields to manage images and video is far too brittle. We need a separate media management section for many reasons.

  1. Deduplication of media files.
  2. Simplification of the SlideElement model.
  3. The ability to convert and transcode media on import (important - videos must be in a very specific format to work properly in Firefox and OBS' Browser source).
  4. Decoupling media from SlideElements will allow the AOML spec to be extended with media attributes.
  5. A compressed "Media Bundle" file spec can be created to go with (or contain) AOML. Maybe .aomb? This would allow for fully portable Decks from one OpenShow instance to another, and could be extended to Shows as well.
sheepman4267 commented 1 month ago

Implementation detail: Store a (short) hash of the file, and make it possible to look up the media object by that hash. When hand-writing AOML to include media, we can have the author write a [v] tag (or something - syntax undecided). This can show as a "Missing Media" element in the editor. Exported AOML after that should use syntax like [v:abc123hash]. This way, the media object can be easily re-associated with the slide element when it is imported into a different OpenShow instance.

Media objects should, on a related note, be easy to export to (upcoming) .aomb files.