Java LGPL Xuggle:ConverterFactory.createConverter不受支持

Java LGPL Xuggle:ConverterFactory.createConverter不受支持,java,ffmpeg,xuggler,xuggle,Java,Ffmpeg,Xuggler,Xuggle,我正在使用Xugle创建mpeg ts流。 一切都很顺利,直到我意识到我使用的是ffmpeg的GPL版本,而我不能 所以我重新编译了整个库,并从ffmpeg中删除了--enable nonfree和--enable gpl标志 问题是,现在我的代码会向我抛出一个错误 所涉及的线路是: image = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); IVideoPicture outFrame = ConverterF

我正在使用Xugle创建mpeg ts流。 一切都很顺利,直到我意识到我使用的是ffmpeg的GPL版本,而我不能

所以我重新编译了整个库,并从ffmpeg中删除了--enable nonfree和--enable gpl标志

问题是,现在我的代码会向我抛出一个错误

所涉及的线路是:

image = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
IVideoPicture outFrame = ConverterFactory.createConverter(image, IPixelFormat.Type.YUV420P).toPicture(image, timeStamp);
我得到的错误是

java.lang.UnsupportedOperationException: Converter class com.xuggle.xuggler.video.BgrConverter constructor failed with: java.lang.IllegalArgumentException: IVideoResampler not supported in this build
    at com.xuggle.xuggler.video.ConverterFactory.createConverter(ConverterFactory.java:347)
问题是,我们在3.3版本的Xuggle中使用了相同的代码,尽管ffmpeg向我们发出警告说我们没有硬件加速,但一切都正常

那么这些版本之间有什么重要的变化吗? 我怎样才能克服这个问题呢?我在档案中搜索了一下,但到目前为止还没有找到相关的问题


谢谢

问题在于Xuggle 3.x中与FFmpeg捆绑的颜色空间转换器仅在GPL模式下处于活动状态。我不知道为什么要这样做。但这意味着如果您不能使用FFmpeg的GPL版本,那么您就不能在Xugle中使用颜色空间转换器(因为这就是我们所使用的)。

谢谢您的回答。这确实是我所担心的。那么,可以采用什么样的变通方法呢?在这种情况下,Xugle用户通常怎么做?我找不到任何相关信息:sI甚至在构建Xuggler jar文件的LGPL版本时都遇到了问题。你有一个可以分享@jlengrand的吗?很抱歉回复晚了。我的LGPL版本包含一些补丁,但我会尽快为您提供一个补丁,这将非常有用!谢谢@jlengrand!嘿迟做总比不做好:)。这是一个包含LGPL版本的Xuggle的zip。您希望使用最大的jar,因为它包含dll。希望这有帮助:)