2

似乎所有方法都需要文件或 url。我看到一些与 OutputStream 一起使用的方法,但我还没有设法使用其中一种方法打开 IContainer;我总是得到一个无效的返回值。

4

2 回答 2

1

创建您自己的 IURLProtocolHandler 接口并传递给 IContainer.open(...) 以打开您想要的任何类型的媒体类型。

于 2010-10-02T04:41:49.397 回答
0

你可以看看我在另一个问题上发布的这个答案,写给一个OutputStream(很容易是一个ByteArrayOutputStream)。

它的要点是用于com.xuggle.xuggler.io.XugglerIO从一个映射OutputStream到一种特殊类型的文件 URL,以便 FFMPEG 可以访问流。

IMediaWriter writer = ToolFactory.makeWriter(XugglerIO.map(outputStream));

请记住,您现在必须手动设置格式(因为它无法从文件名中检测到它)。例如:

IContainerFormat containerFormat = IContainerFormat.make();
containerFormat.setOutputFormat("ogg", null, "application/ogg");
writer.getContainer().setFormat(containerFormat);
于 2014-05-29T19:16:44.813 回答