In order to improve performance it is useful to enable building proxies for added movie and image strips by default.
Even with highly optimized ffmpeg implementation, some video files are not encoded for good scrubbing performance.
UI can be simplified to use fractional sizes only (from 25% to 100%) with option to use proxies globally
Proxies will be built for current preview size. When preview size is changed, proxies will be built to new size.
Proxy building is very slow and doesn't use all available CPU resources. This should be optimized.
Movies are expected to have alpha channel, but images are often used for compositing. Here it would be better to use disk cache instead of proxy system. This is also necessary to preserve colorspace of the source.
- Simplify UI for using proxies
- Automatic proxy building for added strips
- Automatic building when changing preview size
- Optimize proxy building speed
Here we may need to use more complicated workflow than just enable multithreading as there may be other limitations on ffmpeg side. Goal is to use as much system resources as possible to do transcoding. So this is more related to proxy task than ffmpeg task.
- Add job for building disk cache
- Use Disk cache for image strips instead of proxies
- Use faster compression method for disk cache, gzip is not multithreaded
- Make sure disk cache has similar performance as proxies