Added Encoding Presets to GuiRenderSettings and removed Checkbox for Custom Resolution

This commit is contained in:
CrushedPixel
2015-07-15 16:50:51 +02:00
parent 8889f3c340
commit 936f242b4c
5 changed files with 136 additions and 45 deletions

View File

@@ -0,0 +1,46 @@
package eu.crushedpixel.replaymod.settings;
import eu.crushedpixel.replaymod.holders.GuiEntryListEntry;
import lombok.AllArgsConstructor;
import lombok.Getter;
import net.minecraft.client.resources.I18n;
@AllArgsConstructor
public enum EncodingPreset implements GuiEntryListEntry {
MP4DEFAULT("replaymod.gui.rendersettings.presets.mp4.default",
"-f rawvideo -pix_fmt argb -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -preset ultrafast -pix_fmt yuv420p %FILENAME%.mp4", "mp4"),
MP4CUSTOM("replaymod.gui.rendersettings.presets.mp4.custom",
"-f rawvideo -pix_fmt argb -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -b:v %BITRATE% -pix_fmt yuv420p %FILENAME%.mp4", "mp4"),
MP4POTATO("replaymod.gui.rendersettings.presets.mp4.potato",
"-f rawvideo -pix_fmt argb -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -preset ultrafast -crf 51 -pix_fmt yuv420p %FILENAME%.mp4", "mp4"),
MKVLOSSLESS("replaymod.gui.rendersettings.presets.mkv.lossless",
"-f rawvideo -pix_fmt argb -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libx264 -preset ultrafast -qp 0 %FILENAME%.mkv", "mkv"),
WEBMCUSTOM("replaymod.gui.rendersettings.presets.webm.custom",
"-f rawvideo -pix_fmt argb -s %WIDTH%x%HEIGHT% -r %FPS% -i - -an -c:v libvpx -b:v %BITRATE% %FILENAME%.webm", "webm");
private String name;
@Getter
private String commandLineArgs;
@Getter
private String fileExtension;
public boolean hasBitrateSetting() {
return commandLineArgs.contains("%BITRATE%");
}
@Override
public String getDisplayString() {
return getI18nName();
}
public String getI18nName() {
return I18n.format(name);
}
}

View File

@@ -27,9 +27,7 @@ public final class RenderOptions {
// Highly advanced
private String exportCommand = "ffmpeg";
private String exportCommandArgs = "-f rawvideo -pix_fmt argb -s %WIDTH%x%HEIGHT% -r %FPS% -i - " +
"-an " +
"-c:v libvpx -b:v %BITRATE% %FILENAME%";
private String exportCommandArgs = "";
public int getFps() {
return fps;