Je suis nouveau à l'affichage RTSP-Streams et Xuggler, donc je ne sais vraiment pas quoi faire.Affichage de RTSP-Stream en utilisant Xuggler: org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 34 60, bytestream (td)
Je suis en train d'afficher le Main-Stream de mon appareil photo-IP dans une fenêtre Java-Swing et obtenez ceci:
Je reçois aussi ces erreurs:
13: 21: 45.941 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 8 7, bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 34 60, bytestream (td)
17: 47: 04.192 [principal] Erreur org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 8 36, bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 68 62, bytestream (td)
17: 47: 04,192 [main] eRREUR org.ffmpeg - erreur [h264 @ 15AC7660] lors du décodage MB 118 38, bytestream (td)
17: 47: 04,192 [ principal] ERROR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 60 62, bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] cabac décode de qscale diff échoué à 1 7
13: 21: 46.940 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 1 7, bytestream (td)
17: 47: 04.192 [principal] ERROR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 28 37, bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 18 35, bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 17 41, bytestream (td)
17: 47: 04.192 [ principal] ERROR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 53 32, bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 31 29, bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 21 29, bytestream (td)
17: 47: 0 4.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] bloc gauche indisponible pour le mode intra demandé à 0 35
13: 21: 49.902 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 0 35 , bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 17 21, bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 46 10, bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 109 28, bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 60 10, bytestream (td)
17:47:04 .192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 11 14, bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 101 9, bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 76 9, bytestream (td)
17: 47: 04.192 [principal] ERROR org .ffmpeg - [h264 @ 15AC7660] erreur lors du décodage MB 86 11, bytestream (td)
17: 47: 04.192 [principal] ERREUR org.ffmpeg - [H264 @ 15AC7660] Erreur lors du décodage MB 60 24, bytestream (td)
Cela fait partie du code que j'utilise:
private IMediaListener mediaListener = new MediaListenerAdapter() {
@Override
public void onVideoPicture(IVideoPictureEvent event) {
try {
BufferedImage bi = event.getImage();
if (bi != null)
updateWindow(bi);
} catch (Exception ex) {
LOG.error("Error getting Image from IVideoPictureEvent: " + ex);
}
}
};
public DisplayWindow() {
display();
}
private void display() {
IMediaReader mediaReader = ToolFactory
.makeReader("rtsp://user:[email protected]:554/Streaming/Channels/1");
mediaReader
.setBufferedImageTypeToGenerate(BufferedImage.TYPE_3BYTE_BGR);
mediaReader.setQueryMetaData(false);
mediaReader.addListener(mediaListener);
openWindow();
while (true) {
IError error = null;
if(mediaReader != null){
error = mediaReader.readPacket();
if(error != null){
LOG.error("Error at mediaReader.readPacket(): " + error);
}
}
}
}
Affichage du sous-Stream (qui a résolution inférieure) fonctionne bien. J'utilise Xuggler 5.4 avec Maven.
Il y a probablement une solution simple à ce problème, mais j'ai cherché l'Internet entier et n'ai pas trouvé un, ainsi j'apprécierais n'importe quelle aide. Je vous remercie!
MISE À JOUR: Je serais également heureux de (gratuit!) Des alternatives à Xuggler.
je aurais pu trouver une solution: mettre mediaReader.readPacket() dans un nouveau fil. Malheureusement, je ne peux pas le tester atm. – Wenonah