Compression?
@jasonjmcghee have you thought about doing any sort of compression?
Rewind touts some "tradesecret" compression algo that they use.
Some simple ideas that come to mind:
sqlite's zipvfs extension - this would compress the overall db but not the frames themselves
Swift's Compression package for basic data-level compression.
I am sure there are other – and much better – ways to go about this.
I feel like they are mostly describing what ffmpeg does for you, but they could easily have made cool proprietary stuff.
Text compression is definitely interesting.
You can see my very sophisticated algorithm here
- remove certain things
- Don’t include a line if it’s already been seen in the current text. And this is only useful for “copy recent context” currently. But a small tweak could be to check the previous frame’s text and add only a diff. I’m sure there are way better ways to do this
In general, I think optimizing the ffmpeg videos (e.g. hevc_videotoolkit stuff, bitrate settings, etc.) is going to give us more in terms of space savings than anything else. The sqlitedb is ~1-2 orders of magnitude smaller than the sum total of their equivalent videos