gpt4 book ai didi

ffmpeg-cli 包装器 : Unable to merge image and audio (mp3) input to an video output (mp4)

转载 作者:行者123 更新时间:2023-12-04 23:26:24 25 4
gpt4 key购买 nike

我想结合图像和音频文件来创建视频输出。
我可以从命令行做到这一点:
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/输出.mp4

但是,当我尝试使用 ffmpeg-cli-wrapper java 实现相同的行为时,程序只会无限期地运行。
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();

最佳答案

您的示例命令和代码中的命令似乎不同。

您的图像输入使用 -loop 1 连续循环。输入选项(或者至少我假设它正在被应用,但很难说),但是您的代码缺少 -shortest输出选项导致命令无限期运行。

关于ffmpeg-cli 包装器 : Unable to merge image and audio (mp3) input to an video output (mp4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45194314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com