package net.knarcraft.ffmpegconverter.converter; import net.knarcraft.ffmpegconverter.container.FFMpegCommand; import net.knarcraft.ffmpegconverter.container.StreamProbeResult; import net.knarcraft.ffmpegconverter.converter.module.ConverterModule; import net.knarcraft.ffmpegconverter.converter.module.DebugModule; import net.knarcraft.ffmpegconverter.converter.module.ModuleExecutor; import net.knarcraft.ffmpegconverter.converter.module.hardwarecoding.HardwareDecodeModule; import net.knarcraft.ffmpegconverter.converter.module.mapping.MapAllModule; import net.knarcraft.ffmpegconverter.converter.module.output.CopyAudioModule; import net.knarcraft.ffmpegconverter.converter.module.output.CopySubtitlesModule; import net.knarcraft.ffmpegconverter.converter.module.output.ScaleModule; import net.knarcraft.ffmpegconverter.converter.module.output.SetOutputFileModule; import net.knarcraft.ffmpegconverter.converter.module.output.SetQualityModule; import net.knarcraft.ffmpegconverter.streams.StreamObject; import net.knarcraft.ffmpegconverter.streams.VideoStream; import net.knarcraft.ffmpegconverter.utility.FFMpegHelper; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; /** * A converter for converting video files */ public class DownScaleConverter extends AbstractConverter { private final int newWidth; private final int newHeight; /** * Instantiates a new video converter * * @param ffprobePath
Path/command to ffprobe.
* @param ffmpegPathPath/command to ffmpeg.
* @param newWidthThe new width of the video
* @param newHeightThe new height of the video
*/ public DownScaleConverter(String ffprobePath, String ffmpegPath, int newWidth, int newHeight) { super(null); this.ffprobePath = ffprobePath; this.ffmpegPath = ffmpegPath; this.newHeight = newHeight; this.newWidth = newWidth; } @Override public FFMpegCommand generateConversionCommand(@NotNull String executable, @NotNull StreamProbeResult probeResult, @NotNull String outFile) { List