From eb57e7be2c534d7adf087a1827b1bb1171bc9da1 Mon Sep 17 00:00:00 2001 From: CrushedPixel Date: Thu, 23 Jul 2015 13:09:56 +0200 Subject: [PATCH] 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. --- .../replaymod/gui/GuiRenderSettings.java | 2 -- .../replaymod/settings/EncodingPreset.java | 12 ++++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java index 6514ddc1..6ab84830 100644 --- a/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiRenderSettings.java @@ -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()) { diff --git a/src/main/java/eu/crushedpixel/replaymod/settings/EncodingPreset.java b/src/main/java/eu/crushedpixel/replaymod/settings/EncodingPreset.java index cb37c23c..a614bd30 100644 --- a/src/main/java/eu/crushedpixel/replaymod/settings/EncodingPreset.java +++ b/src/main/java/eu/crushedpixel/replaymod/settings/EncodingPreset.java @@ -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;