in src/backend/transcriber/src/main/java/com/amazonaws/transcriber/Encoder.java [64:102]
InputStream start() throws IOException {
List<String> args = new ArrayList<>(Arrays.asList(
path,
"-hide_banner",
"-loglevel", "level+" + convertLogLevel(),
"-i", input,
"-vn",
"-ac", "1",
"-ar", "16000",
"-c:a", "pcm_s16le",
"-f", inputFormat,
"-" //output to stdout
));
if (process != null) {
throw new IllegalStateException("Already running");
}
logger.info("Starting with %s", args);
ProcessBuilder processBuilder = new ProcessBuilder(args);
process = processBuilder.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
stderrReaderThread = new Thread(() -> {
Thread.currentThread().setName(logger.getName());
this.error = reader.lines().reduce("", (err, line) -> {
if (printFilter.matcher(line).matches()) {
logger.info(line);
}
err += line;
return err;
});
logger.info("Completed with errors.");
});
stderrReaderThread.start();
stdinWriter = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
return process.getInputStream();
}