首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用java-ffmpeg包装器,还是简单地使用java运行时来执行ffmpeg?

使用java-ffmpeg包装器,还是简单地使用java运行时来执行ffmpeg?
EN

Stack Overflow用户
提问于 2009-08-15 06:59:24
回答 8查看 86.1K关注 0票数 52

我对Java非常陌生,需要编写一个程序来监听视频转换指令,并在新指令到达时转换视频(指令存储在Amazon SQS中,但与我的问题无关)

我面临一个选择,要么使用Java RunTime来执行' ffmpeg‘转换(就像从命令行那样),要么使用inJava http://fmj-sf.net/ffmpeg-java/getting_started.php编写的ffmpeg包装器

我更喜欢使用Java Runtime来直接执行ffmpeg,并且避免使用java-ffmpeg包装器,因为我必须学习这个库。所以我的问题是,使用java-ffmpeg包装器比直接使用运行时的exec ffmpeg有什么好处吗?我不需要ffmpeg来播放视频,只需转换视频

谢谢

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-08-15 08:19:35

如果我没记错的话,您链接到的"ffmpeg wrapper“项目已经过期,并且没有维护。ffmpeg是一个非常活跃的项目,总是有很多变化和发布。

您应该看看Xuggler项目,它为您提供了一个Java API来完成您想要做的事情,并且它们与ffmpeg紧密集成。

http://www.xuggle.com/xuggler/

如果您选择沿着Runtime.exec()路径进行操作,则此Red5线程将非常有用:

http://www.nabble.com/java-call-ffmpeg-ts15886850.html

票数 37
EN

Stack Overflow用户

发布于 2015-08-26 23:03:30

我也在寻找在Java中包装FFMPEG的东西。在搜索过程中,我发现了这个:https://github.com/bramp/ffmpeg-cli-wrapper

到今天为止,它似乎在一个月前被修改过。所以,希望它能持续一段时间。

他们文档中的一个样本:

代码语言:javascript
复制
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();
票数 23
EN

Stack Overflow用户

发布于 2016-08-08 21:51:43

有很多Java库提供了FFMPEG包装器。然而,不幸的是,这些库中的大多数都过时了,使用的是旧的FFMPEG版本,这些版本缺少一些重要的编解码器(例如,Xuggler、humble、JavaAV、JavaAVC和jave)。因此,在使用这些项目时要小心!

但是,有一个FFMPEG包装器仍然是积极开发的,并支持FFMPEG 4

完全捆绑的maven人工制品

或者,您可以对FFMPEG的命令行界面使用包装器,比如ffmpeg-cli-wrapper。然后,您可以手动更新ffmpeg,而不必等待包装器库的新版本。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1281353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档