- private void constructCodecParamsString(final EncodingOptions options,
- final int videoBitrate, final int audioBitrate,
- final StringBuffer codecParams, final String videoCodec,
- final String audioCodec) {
+ private String constructCodecParamsString(final EncodingOptions options,
+ final int videoBitrate, final int audioBitrate,
+ final String videoCodec, final String audioCodec) {
+
+ final StringBuilder codecParams = new StringBuilder();
+
+ if (audioCodec == null)
+ codecParams.append("-an ");
+ else
+ codecParams.append("-acodec " + audioCodec + " ");
+
+ codecParams.append("-vcodec " + videoCodec + " ");
+
+ if (videoBitrate != -1)
+ codecParams.append("-b " + videoBitrate + "k ");
+
+ if (audioBitrate != -1)
+ codecParams.append("-b:a " + audioBitrate + "k ");
+
+ if (options.isDeinterlace())
+ codecParams.append("-filter:v yadif ");
+
+ if (options.getTargetFps() != null)
+ codecParams.append("-r " + options.getTargetFps() + " ");
+
+ return codecParams.toString();
+ }
+
+ private int getAudioBitrateValue(final Bitrate bitRate) {
+ switch (bitRate) {
+ case LOW:
+ return 128;
+
+ case MEDIUM:
+ return 160;