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:
CrushedPixel
2015-07-23 13:09:56 +02:00
parent e80d71db93
commit eb57e7be2c
2 changed files with 6 additions and 8 deletions

View File

@@ -18,7 +18,6 @@ import net.minecraft.client.gui.GuiErrorScreen;
import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraftforge.fml.client.FMLClientHandler; import net.minecraftforge.fml.client.FMLClientHandler;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.FilenameUtils;
import org.lwjgl.input.Keyboard; import org.lwjgl.input.Keyboard;
import org.lwjgl.util.Point; import org.lwjgl.util.Point;
@@ -417,7 +416,6 @@ public class GuiRenderSettings extends GuiScreen implements GuiReplayOverlay.NoO
File outputFile = outputFileChooser.getSelectedFile(); File outputFile = outputFileChooser.getSelectedFile();
outputFile = new File(outputFile.getParent(), FilenameUtils.getBaseName(outputFile.getAbsolutePath())); outputFile = new File(outputFile.getParent(), FilenameUtils.getBaseName(outputFile.getAbsolutePath()));
if(outputFile.exists()) FileUtils.deleteQuietly(outputFile);
options.setOutputFile(outputFile); options.setOutputFile(outputFile);
if(enableGreenscreen.isChecked()) { if(enableGreenscreen.isChecked()) {

View File

@@ -9,22 +9,22 @@ import net.minecraft.client.resources.I18n;
public enum EncodingPreset implements GuiEntryListEntry { public enum EncodingPreset implements GuiEntryListEntry {
MP4CUSTOM("replaymod.gui.rendersettings.presets.mp4.custom", 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", 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", 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", 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", 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", 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; private String name;