似乎所有方法都需要文件或 url。我看到一些与 OutputStream 一起使用的方法,但我还没有设法使用其中一种方法打开 IContainer;我总是得到一个无效的返回值。
问问题
1386 次
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 回答