J’ai utilisé la xuggle library
dans mon projet pour xuggle library
la vidéo de mp4 to flv
. J’ai également utilisé des slf4j libraries
pour prendre en charge la fin de la journalisation.
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 Ssortingng inputFilename = "E:\\VIDEO\\Facebook.mp4"; private static final Ssortingng outputFilename = "E:\\VIDEO\\Facebook.flv"; public static void main(Ssortingng[] 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) ; } }
Ici je reçois une erreur
"Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError.".
J’ai utilisé les deux fichiers jar en tant que bibliothèques pour résoudre des problèmes de journalisation. Quelqu’un a-t-il fait face au même problème. Si vous écrivez avec bonté une suggestion ou une solution pour sortir de ce pésortingn. Merci d’avance.
Vous devez donc exclure les dépendances de conflit. Essaye ça:
org.slf4j slf4j-log4j12 log4j log4j
Cela a résolu le même problème avec slf4j et Dozer.
J’ai la solution
téléchargez Xuggler 5.4 ici
et quelques bocaux supplémentaires pour que ça marche …
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
Vous pouvez vérifier quelles dépendances xuggler a besoin d’ici:
Ajoutez ces jars et xuggle-xuggler-5.4.jar au chemin de génération de votre projet et il est prêt.
** les numéros de version peuvent changer
Vous avez demandé s’il était possible de modifier la vérification de dépendance circulaire dans ces classes slf4j.
La réponse simple est non.
static
… vous ne pouvez donc pas remplacer l’implémentation et vous ne pouvez pas l’empêcher de se produire. La seule façon de changer cela serait de télécharger le code source, de modifier les classes principales pour les “réparer”, de les construire et de les utiliser. C’est probablement une mauvaise idée (en général) et probablement pas de solution dans ce cas; c’est-à-dire que vous risquez de déclencher le problème de dépassement de capacité de la stack que le message vous avertit.
Référence:
La vraie solution (comme vous l’avez identifié dans votre réponse) est d’utiliser les bons JAR. Je crois comprendre que la circularité détectée est réelle et potentiellement problématique… et inutile.
essayez de charger tous ces fichiers jar
les rechercher sur google
pas besoin de log4j
pour xuggle
Pour gradle
comstack('org.xxx:xxx:1.0-SNAPSHOT'){ exclude module: 'log4j' exclude module: 'slf4j-log4j12' }