我在我的项目中使用了xuggle library
来转换来自mp4 to flv
的视频。我也使用了slf4j libraries
来支持日志记录端。
import com.xuggle.mediatool.IMediaReader;
import com.xuggle.mediatool.IMediaViewer;
import com.xuggle.mediatool.IMediaWriter;
import com.xuggle.mediatool.ToolFactory;
public class TranscodingExample {
private static final String inputFilename = "E:\\VIDEO\\Facebook.mp4";
private static final String outputFilename = "E:\\VIDEO\\Facebook.flv";
public static void main(String[] args) {
// create a media reader
IMediaReader mediaReader =
ToolFactory.makeReader(inputFilename);
// create a media writer
IMediaWriter mediaWriter =
ToolFactory.makeWriter(outputFilename, mediaReader);
// add a writer to the reader, to create the output file
mediaReader.addListener(mediaWriter);
// create a media viewer with stats enabled
IMediaViewer mediaViewer = ToolFactory.makeViewer(true);
// add a viewer to the reader, to see the decoded media
mediaReader.addListener(mediaViewer);
// read and decode packets from the source file and
// and dispatch decoded audio and video to the writer
while (mediaReader.readPacket() == null) ;
}
}
我在这里得到一个错误
"Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError.".
为了解决日志问题,我使用了这两个jar文件作为库。
如何解决这个问题呢?
7条答案
按热度按时间qmelpv7a1#
所以你必须排除冲突的依赖关系。试试这个:
这解决了slf4j和推土机的相同问题。
hkmswyz62#
遇到了类似的错误,这是我如何解决它:
1.访问Netbeans IDE 8.2上的“项目资源管理器”视图。在“依赖关系”下继续您的项目,将光标悬停在log4j-over-slf4j.jar上以查看间接导入了哪些依赖关系,如下所示。x1c 0d1x
1.右键单击导入jar文件,然后选择“排除依赖关系
1.要确认,请打开您的pom.xml文件,您将注意到如下所示的exclusion元素。
4.启动maven clean安装并运行您的项目,祝您好运!
jfewjypa3#
对于SBT:第一个月
j0pj023g4#
我有办法了
在此下载Xuggler 5.4
再加些jar让它工作。
commons-cli-1.1.jar
commons-lang-2.1.jar
logback-classic-1.0.0.jar
logback-core-1.0.0.jar
slf4j-api-1.6.4.jar
您可以从这里查看xuggle需要哪些依赖项:
将这个jar和xuggle-xuggler-5.4.jar添加到项目的构建路径中,就可以了。
**版本号可能会更改
liwlm1x95#
对于Gradle
sauutmhj6#
上述SBT解决方案对我不起作用。对我起作用的是排除
slf4j-log4j12
kmynzznz7#
您需要排除
log4j-over-slf4j