package nodebox.movie; import java.util.ArrayList; public class AppleVideoFormat extends AbstractVideoFormat { public static final int DEFAULT_WIDTH = 480; public static final int DEFAULT_HEIGHT = 320; public static final int IPAD_WIDTH = 1024; public static final int IPAD_HEIGHT = 768; public static final AppleVideoFormat DefaultFormat = new AppleVideoFormat("iPhone/iPod", DEFAULT_WIDTH, DEFAULT_HEIGHT); public static final AppleVideoFormat IpadFormat = new AppleVideoFormat("iPad", IPAD_WIDTH, IPAD_HEIGHT); private AppleVideoFormat(String displayName, int width, int height) { super(displayName, "mp4", width, height); } public ArrayList<String> getArgumentList(Movie movie) { ArrayList<String> argumentList = new ArrayList<String>(); argumentList.add("-strict"); argumentList.add("experimental"); if (movie != null) { String sizeArg = getSizeArgument(movie.getWidth(), movie.getHeight()); if (sizeArg != null) { argumentList.add("-s"); argumentList.add(sizeArg); } } argumentList.add("-vcodec"); argumentList.add("libx264"); argumentList.add("-fpre"); argumentList.add(getPresetLocation("slow")); argumentList.add("-fpre"); argumentList.add(getPresetLocation("ipod640")); argumentList.add("-b"); argumentList.add("1200k"); argumentList.add("-f"); argumentList.add("mp4"); argumentList.add("-threads"); argumentList.add("0"); return argumentList; } }