I am so excited to release this new version as a new exciting technology named Segmental Video Encoding (SVE) was introduced in after a long time of thinking and implementation.
The idea of SVE is straight-forward. On systems with a lot of processor cores or processors, a single instance of video encoding cannot utilize all the computation power of the systems, though modern encoders like x264 already has good support for multi-threading. This also happens when doing GPU-based encoding, whereas the GPU is quite often under-loaded. SVE is basically the mechansim of encoding of a video in temporal segmentations, by loading 1~2 minutes video frames into memory and dispatch the frames to multiple encoder instances. A series of encoded video segments will be generated and they are concatenated seamlessly in the muxing stage together with the audio. This improves paralellization regardless of the encoder’s support for multi-threading, so those encoders without good multi-threading implementation (Xvidcore, MPEG 1/2 encoder etc.) will benefit. Please be noted that SVE is still experimental.
If you experience problem with it, please report to me in the forum. I also need some more testings on cutting-edge computer systems which I don’t have a chance to test on.
MediaCoder working with Segmental Video Encoding technology
In this new release, distributive encoding is also fixed and improved. MediaCoder Agent now comes in both x86 and x64 versions. The interesting thing when distributive encoding meets SVE is that it is now easily to off-load the encoding to your spare computer, by running MediaCoder Agent on it setting up its IP address in MediaCoder. If SVE is disabled, this the remote computer running the Agent will do all the encoding. If SVE is enabled, the remote computer and the host computer will encode one video together with increased speed. As a restriction for the moment, only one encoding agent can be used. For guidance about using distributive encoding, please refer to this previous post.
Another note is that MEncoder is removed from muxers as it does a poor job in muxing. This will affect previous created preset files which alter the remuxer option (not the muxer). You may need to load the preset, make change to the remuxer option and export the preset again.
There are a couple of other changes in this release and please check out the changelog for more details.