This release makes it possible to encode video files with no audio. It also will predefine the output path using the input path, and change the output extension to .webm. What’s more, is that if you manually type the input path, the output path will be dynamically adjusted too!
This new version adds support for tiles. It allows you to encode a video using rav1e’s multithreading. When Tiles are enabled, rav1e GUI will not split the video files into segments. Rather, it will use a single rav1e instance but it will utilize the amount of threads specified, which is passed as an argument to rav1e.
The Advanced Options window was updated to include the tiles row and column options:
This version also fixed a bug with the Low Latency option, and it is adjusted for how the option now works with the newer versions of rav1e. Also, the Speed setting was adjusted from speed level 3 to 5, which is now the default speed level in rav1e.
Lastly, Opusenc is no longer needed and the audio will now be encoded using ffmpeg, by using the libopus library. This reduces a step and saves a couple of megabytes of space.
I’m very happy to inform that the latest rav1e source code fixed the issue where the encoding would get stuck. Because of this, I was able to successfully test my Graphical User Interface for rav1e and the encodes were successful.
Today, I spent the afternoon programming my rav1e GUI software. It’s been about a month since I last released a rav1e GUI update, and rav1e itself has improved by then.
While I still haven’t released a new GUI version, I did some programming to it to add some of the new rav1e features. Unfortunately, the tests were not successful and I believe this has to do to some changed in the encoder itself. Don’t worry, I’ve opened an issue and I hope to hear back. If this bug is fixed in the encoder, I’ll release the new rav1e GUI version 😁.
Now, let’s talk about the new GUI features:
First, I placed the temporary folder location below the Output video path. I did this to have the text boxes easily accessible and to allow the path to be easily set.
Second, you can see that I moved the quantizer setting and also added a bitrate setting along with 2 radio buttons that allow you to switch between quality control modes. When the Quantizer radio button is checked, the Bitrate text box will get greyed and you can only specify the quantizer value. When the Bitrate radio button is checked, the quantizer value is greyed out and the bitrate textbox is enabled, allowing you to specify the video bitrate in kilobits/second (kb/s or kbps).
Third, I added a 2-Pass option which at the moment does nothing. rav1e added this option but as far as I know, it’s not yet actually implemented. Testing the encoder using its limit function didn’t showed extended encoding times.
Finally, I renamed the “Advanced Encoder Options” button to just “Advanced Options”. It was redundant as it was placed in the Encoder Options group box.
When we press the Advanced Options button, we get shown some more parameters:
There, I added 2 new arguments that rav1e now accepts:
Also, due to some default arguments that rav1e changed, I also did some default option changes in the GUI.
Low Latency is now disabled by default.
Quality Tuning is now set to Psychovisual (In the above image, I manually changed it back to Psnr).
And with that, I conclude this post. The above changed will be released soon, when rav1e starts working again and I can fully test them. I’ll let you all know when I release it. In the meantime, you can go to the rav1e GUI repo and try running the latest source code.
This release adds a pause/resume button that allows you to pause and resume the encoding session right from the GUI. It also allows you to resume a previous session if the software is closed or a system crash occurs.
When there’s an interrupted session, say, your machine crashed, those hours wasted encoding the video are not entirely lost, because now, when you open the software again, it will recognize that there was an unfinished encoding and will prompt you to resume it:
If you accept, the GUI will load and the encoding will continue:
What the software actually does is that it will encode those .y4m files that are present in the temporary folder. The software will now delete the .y4m files on-demand as soon as the segment encode finishes, so shall a crash occur, only those files that are left will be put on the queue and start encoding in parallel depending on the number of threads that are set in the GUI.
Once the files finish encoding, then they will be concatenated and the audio will be encoded to Opus and it will be merged along with the concatenated video to generate the final file.