usa il wrapper java-ffmpeg o semplicemente usa il runtime java per eseguire ffmpeg?
Se non sbaglio, il progetto "involucro ffmpeg" a cui ti sei collegato non è aggiornato e non viene mantenuto. ffmpeg è un progetto molto attivo, con molte modifiche e rilasci in continuazione.
Dovresti guardare il progetto Xuggler, questo fornisce un'API Java per quello che vuoi fare e hanno una stretta integrazione con ffmpeg.
http://www.xuggle.com/xuggler/
Se dovessi scegliere di percorrere il percorso Runtime.exec(), questo thread di Red5 dovrebbe essere utile:
http://www.nabble.com/java-call-ffmpeg-ts15886850.html
Anch'io sto cercando qualcosa per avvolgere FFMPEG in Java. Durante la ricerca, ho trovato questo:https://github.com/bramp/ffmpeg-cli-wrapper.
Ad oggi, sembra essere stato modificato un mese fa. Quindi, si spera che rimanga per un po'.
Un esempio dai loro documenti:
FFmpeg ffmpeg = new FFmpeg("/path/to/ffmpeg");
FFprobe ffprobe = new FFprobe("/path/to/ffprobe");
FFmpegBuilder builder = new FFmpegBuilder()
.setInput(in)
.overrideOutputFiles(true)
.addOutput("output.mp4")
.setFormat("mp4")
.setTargetSize(250000)
.disableSubtitle()
.setAudioChannels(1)
.setAudioCodec("libfdk_aac")
.setAudioRate(48000)
.setAudioBitrate(32768)
.setVideoCodec("libx264")
.setVideoFramerate(Fraction.getFraction(24, 1))
.setVideoResolution(640, 480)
.setStrict(FFmpegBuilder.Strict.EXPERIMENTAL)
.done();
FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);
executor.createTwoPassJob(builder).run();
Esistono molte librerie Java che forniscono wrapper FFMPEG. Tuttavia, la maggior parte di queste librerie sono purtroppo obsolete e utilizzano vecchie versioni di FFMPEG prive di alcuni codec importanti (ad es. Xuggler, modest video, JavaAV, JavaAVC e jave). Quindi fai attenzione quando usi quei progetti!
Tuttavia, esiste un wrapper FFMPEG che è ancora sviluppato attivamente e supporta FFMPEG 4 :
- JavaCPP FFMPEG - con manufatti per esperti completamente in bundle
In alternativa puoi usare un wrapper per l'interfaccia della riga di comando di FFMPEG, come ffmpeg-cli-wrapper. Quindi sta a te aggiornare manualmente ffmpeg senza dover attendere una nuova versione della libreria wrapper.