Docker ffmpeg

to make Docker use ffmeg audioconvert:

docker run \
  -v ${PWD}:/srv \
  -w /srv \
  jrottenberg/ffmpeg \
  -i hjh-text.wav hjh-text.mp3

Java 25 cli implementation

#!/usr/bin/env java --source 25

import java.io.IOException;

public class ConvertAudio {

    public static void main(String[] args) throws IOException, InterruptedException {

        if (args.length < 2) {
            System.out.println("Usage: ConvertAudio <input.wav> <output.mp3>");
            return;
        }

        String input = args[0];
        String output = args[1];

        // Build docker command
        String[] cmd = {
                "docker", "run",
                "-v", System.getenv("PWD") + ":/srv",
                "-w", "/srv",
                "jrottenberg/ffmpeg",
                "-i", input,
                output
        };

        System.out.println("Running Docker FFmpeg...");
        ProcessBuilder pb = new ProcessBuilder(cmd);
        pb.inheritIO(); // forward stdout+stderr to console

        Process p = pb.start();
        int exit = p.waitFor();

        if (exit == 0) {
            System.out.println("Conversion done: " + output);
        } else {
            System.out.println("FFmpeg failed with exit code: " + exit);
        }
    }
}
Tags: