在Java中使用FFMPEG(在Mac上开发)

时间:2012-04-29 13:22:49

标签: java playframework ffmpeg

我试图直接在我的Java代码中唤起FFMPEG(在Playframework下运行!)。 最终产品将在Linux / Debian发行版上运行,但我首先需要在我的Mac上进行测试(我不知道它是否适用于Debian)。

我尝试执行简单的代码:

Process pr = Runtime.getRuntime().exec(new String[]{"bash","-c", "ffmpeg"});

或更简单:

Process pr = Runtime.getRuntime().exec("ffmpeg")

或使用ProcessBuilder:

Process pr = new ProcessBuilder("/opt/local/bin/ffmpeg").start();

我得到的是错误代码133,但我找不到这意味着什么。 在终端中,命令给出正常输出。我也可以用例如'ffmpeg'替换'ffmpeg' 'ls -la'并获取目录列表。但我不知道ffmpeg不起作用的问题是什么。

有人有任何线索吗? 谢谢!

更新: 我查看了错误流。这些是我得到的错误。它在终端中是如何工作的,而不是在使用Java?

14:43:19,619 DEBUG ~ FFMPEG: dyld: Library not loaded: /opt/local/lib/libogg.0.dylib
14:43:19,619 DEBUG ~ FFMPEG:   Referenced from: /opt/local/bin/ffmpeg
14:43:19,619 DEBUG ~ FFMPEG:   Reason: Incompatible library version: ffmpeg requires version 9.0.0 or later, but libogg.0.dylib provides version 6.0.0

1 个答案:

答案 0 :(得分:2)

我使用Xuggle进行视频编码,它恰好包含了旧版本并且在类路径中。即使显示的链接来自较新的链接,它也使用较旧的链接。