Since we can't determine the file extension without parsing the actual ffmpeg arguments, we don't manually delete the destination video file when rendering but instead tell FFmpeg to overwrite this file if it already exists using the -y parameter.
This commit is contained in:
@@ -18,7 +18,6 @@ import net.minecraft.client.gui.GuiErrorScreen;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraftforge.fml.client.FMLClientHandler;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.util.Point;
|
||||
@@ -417,7 +416,6 @@ public class GuiRenderSettings extends GuiScreen implements GuiReplayOverlay.NoO
|
||||
File outputFile = outputFileChooser.getSelectedFile();
|
||||
outputFile = new File(outputFile.getParent(), FilenameUtils.getBaseName(outputFile.getAbsolutePath()));
|
||||
|
||||
if(outputFile.exists()) FileUtils.deleteQuietly(outputFile);
|
||||
options.setOutputFile(outputFile);
|
||||
|
||||
if(enableGreenscreen.isChecked()) {
|
||||
|
||||
@@ -9,22 +9,22 @@ import net.minecraft.client.resources.I18n;
|
||||
public enum EncodingPreset implements GuiEntryListEntry {
|
||||
|
||||
MP4CUSTOM("replaymod.gui.rendersettings.presets.mp4.custom",
|
||||
"-f rawvideo -pix_fmt rgb24 -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -b:v %BITRATE% -pix_fmt yuv420p \"%FILENAME%.mp4\"", "mp4"),
|
||||
"-y -f rawvideo -pix_fmt rgb24 -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -b:v %BITRATE% -pix_fmt yuv420p \"%FILENAME%.mp4\"", "mp4"),
|
||||
|
||||
MP4HIGH("replaymod.gui.rendersettings.presets.mp4.high",
|
||||
"-f rawvideo -pix_fmt rgb24 -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -preset ultrafast -qp 1 -pix_fmt yuv420p \"%FILENAME%.mp4\"", "mp4"),
|
||||
"-y -f rawvideo -pix_fmt rgb24 -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -preset ultrafast -qp 1 -pix_fmt yuv420p \"%FILENAME%.mp4\"", "mp4"),
|
||||
|
||||
MP4DEFAULT("replaymod.gui.rendersettings.presets.mp4.default",
|
||||
"-f rawvideo -pix_fmt rgb24 -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -preset ultrafast -pix_fmt yuv420p \"%FILENAME%.mp4\"", "mp4"),
|
||||
"-y -f rawvideo -pix_fmt rgb24 -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -preset ultrafast -pix_fmt yuv420p \"%FILENAME%.mp4\"", "mp4"),
|
||||
|
||||
MP4POTATO("replaymod.gui.rendersettings.presets.mp4.potato",
|
||||
"-f rawvideo -pix_fmt rgb24 -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -preset ultrafast -crf 51 -pix_fmt yuv420p \"%FILENAME%.mp4\"", "mp4"),
|
||||
"-y -f rawvideo -pix_fmt rgb24 -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -preset ultrafast -crf 51 -pix_fmt yuv420p \"%FILENAME%.mp4\"", "mp4"),
|
||||
|
||||
WEBMCUSTOM("replaymod.gui.rendersettings.presets.webm.custom",
|
||||
"-f rawvideo -pix_fmt rgb24 -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libvpx -b:v %BITRATE% \"%FILENAME%.webm\"", "webm"),
|
||||
"-y -f rawvideo -pix_fmt rgb24 -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libvpx -b:v %BITRATE% \"%FILENAME%.webm\"", "webm"),
|
||||
|
||||
MKVLOSSLESS("replaymod.gui.rendersettings.presets.mkv.lossless",
|
||||
"-f rawvideo -pix_fmt rgb24 -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -preset ultrafast -qp 0 \"%FILENAME%.mkv\"", "mkv");
|
||||
"-y -f rawvideo -pix_fmt rgb24 -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -preset ultrafast -qp 0 \"%FILENAME%.mkv\"", "mkv");
|
||||
|
||||
private String name;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user