Java >> Programma Java >  >> Java

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.


Etichetta Java