画像とオーディオファイルを組み合わせてビデオ出力を作成します。 私はコマンドラインから実行できます: ffmpeg -loop 1 -i /tmp/image.jpeg -i /tmp/audiot.mp3 -vf 'scale = 320:trunc(ow/a/2)* 2 '-acodec libvo_aacenc -b:a 192k -shortest /tmp/output.mp4ffmpeg-cli-wrapper:画像とオーディオ(mp3)の入力をビデオ出力(mp4)にマージできません
しかし、私がffmpeg-cli-wrapper javaを使用して同じ動作を実装しようとしているとき、progamは無期限に実行し続けます。 Raised issue on GitHub too.
このオンラインの例は見つかりませんでした。誰かが同じまたは他のフレームワークを使用してこの動作を実装する方法を知っている場合は、私に知らせてください。 ここに私のサンプルテスト用のJavaプログラムがあります。
FFmpeg ffmpeg = new FFmpeg("/usr/bin/ffmpeg/ffmpeg");
FFprobe ffprobe = new FFprobe("/usr/bin/ffprobe");
FFmpegBuilder builder = new FFmpegBuilder()
.setInput("/tmp/image.jpeg")// Filename, or a FFmpegProbeResult
.addInput("/tmp/audio.mp3")
.addExtraArgs("-loop","1")
.overrideOutputFiles(true) // Override the output if it exists
.addOutput("/tmp/output.mp4") // Filename for the destination
.setFormat("mp4") // Format is inferred from filename, or can be set
//.setTargetSize(250_000) // Aim for a 250KB file
//.disableSubtitle() // No subtiles
//.setAudioChannels(1) // Mono audio
.setAudioCodec("aac") // using the aac codec
.setAudioSampleRate(48_000) // at 48KHz
.setAudioBitRate(32768) // at 32 kbit/s
.setVideoCodec("libx264") // Video using x264
.setVideoFrameRate(24, 1) // at 24 frames per second
.setVideoResolution(640, 480) // at 640x480 resolution
//.setComplexVideoFilter("scale=320:trunc(ow/a/2)*2")
.setStrict(FFmpegBuilder.Strict.EXPERIMENTAL) // Allow FFmpeg to use experimental specs
.done();
FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);
// Run a one-pass encode
executor.createJob(builder).run();