ADD cap for AudioBitrate

This commit is contained in:
2025-05-08 22:51:45 +02:00
parent 81426a2fb2
commit bb57330bb5
2 changed files with 9 additions and 2 deletions

View File

@@ -55,6 +55,5 @@ public class Job implements Runnable {
this.status = JobStatus.FINISHED; this.status = JobStatus.FINISHED;
file.delete(); file.delete();
logger.info("Job {} finished", uuid); logger.info("Job {} finished", uuid);
} }
} }

View File

@@ -31,6 +31,7 @@ public class FfmpegService {
private Float fileSize; private Float fileSize;
private static final float AUDIO_RATIO = 0.15f; private static final float AUDIO_RATIO = 0.15f;
private static final float MAX_AUDIO_BITRATE = 128f;
private static final float BITRATE_MULTIPLIER = 0.9f; private static final float BITRATE_MULTIPLIER = 0.9f;
private Pattern timePattern = Pattern.compile("time=([\\d:.]+)"); private Pattern timePattern = Pattern.compile("time=([\\d:.]+)");
@@ -77,8 +78,15 @@ public class FfmpegService {
float length = endPoint - startPoint; float length = endPoint - startPoint;
float bitrate = ((fileSize * 8) / length) * BITRATE_MULTIPLIER; float bitrate = ((fileSize * 8) / length) * BITRATE_MULTIPLIER;
float video_bitrate = bitrate * (1 - AUDIO_RATIO);
float audio_bitrate = bitrate * AUDIO_RATIO; float audio_bitrate = bitrate * AUDIO_RATIO;
float video_bitrate;
if (audio_bitrate > MAX_AUDIO_BITRATE) {
audio_bitrate = MAX_AUDIO_BITRATE;
video_bitrate = bitrate - MAX_AUDIO_BITRATE;
} else {
video_bitrate = bitrate * (1 - AUDIO_RATIO);
}
command.add("-b:v"); command.add("-b:v");
command.add(video_bitrate + "k"); command.add(video_bitrate + "k");