Allow using alternate formats for proxies: ProRes
I've been trying out git master with the proxy editing feature lately, and it seems to work fairly well, which is cool. However, what prevents me from considering it for more than testing/demo purposes is the humongous amounts of space the proxies consume.
I mean look at this, proxies are on average 3-6 times bigger than in the originals, but in some cases the proxies they are 20 times bigger! In cases where the originals are more than a few megabytes, you end up with proxies weighing 1.9 GB and 2.4 GB each:
There are two ways to optimize this. The first is to reduce significantly the resolution of the video proxies. Currently, they have the same image resolution as the original asset, yet there is absolutely no reason why we need them to be the same resolution as the original; they should be SD rather than HD or 4K or more. Why?
- Much lighter filesizes (possibly 2x to 5x smaller, I'm just guessing)
- Potentially faster proxies encoding (?)
- Even faster decoding for low-specs machines, in theory
- In the Pitivi UI, the viewer is essentially never bigger than a quarter of the screen (because the user still needs reasonable space for the timeline and media library UI areas), as you can see in the screenshot below. On a 1920x1080 computer monitor, this means that, as you can see in the screenshot, the viewer is barely 1000x560 for widescreen video.
What I suggest then is for Pitivi to cap the proxies to 1000px wide and 600px high (do a "rule of 3" to figure out which resolution defines the other to keep the aspect ratio when encoding the proxy). Even with 4K footage it would not negatively impact the user experience for editing, unless they're using a HiDPI (4K) monitor, in which case maybe there could be an option to set the max proxy resolutions in the preferences, though I would tend to avoid having a setting for this if possible.
The second (complementary) way to optimize proxy filesizes is to use a codec other than MJPEG, but I presume there's a reason why you didn't use, say, OGG Theora?