2016-04-08 13 views
1

RTSP Akışı ve Xuggler'ı görüntülemenin yeni yanı sıra, gerçekten ne olduğunu bilmiyorum yapmak.Xuggler kullanarak RTSP Akışını görüntüleme: org.ffmpeg - [h264 @ 15AC7660] MB 34 60 kodu çözülürken hata oluştu, bytestream (td)

Bir Java Salıncak Pencere benim IP Kamera Main-Akış görüntülemek ve almaya çalışıyorum bu:

enter image description here

Ben de bu hataları alıyorum:

13: 21: 45.941 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] hata ayıklanırken hata 8 MB, bytestream (td)
17: 47: 04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] hatası MB 34 60 kodu çözülürken, bytestream (td)
17: 47: 04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660], MB 8 36'nın kodu çözülürken hata oluştu, bytestream (td)
17: 47: 04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] MB 68 (62), bytestream (td)
17: 47: 04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] hatası, MB 118 38'in kodu çözülürken hata oluştu, bytestream (td)
17: 47: 04.192 [ main] ERROR org.ffmpeg - [h264 @ 15AC7660] MB 60 62'nin kodu çözülürken hata oluştu, bytestream (td)
17: 47: 04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] qscale diff'in cabac kod çözümü başarısız oldu 1 7
13: 21: 46.940 [main] ERROR org.ffmpeg - [h264 @ 15AC7660], MB 1 7'nin kodu çözülürken hata oluştu, bytestream (td)
17: 47: 04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660], MB 28 37'nin kodu çözülürken hata oluştu, bytestream (td)
17: 47: 04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] MB 18 35'in kodu çözülürken hata oluştu, hata: MB 17 41, bytestream (td)

17: 47: 04.192 [kod çözme sırasında hata: ERROR org.ffmpeg - [h264 @ 15AC7660] hata: 17: 47: 04.192 [ana] main] ERROR org.ffmpeg - [h264 @ 15AC7660], MB 31 29'un kodu çözülürken hata oluştuğunda, hata ayıklama (MB) 31 32, bytestream (td)
17: 47: 04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] hatası bytestream (td)
17: 47: 04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] MB 21 29'un kodu çözülürken hata oluştu, bytestream (td)
17: 47: 0 4.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] MB 0 35'in kodu çözülürken, istenen iç mod için 0 35
13: 21: 49.902 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] hatası oluştu. 17: 47: 04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] hata kodu MB 17 21'in kodu çözülürken bir hata oluştu, bytestream (td)
17: 47: 04.192 [main] ERROR org.ffmpeg - MB 46 (10), bytestream (td) 17: 47: 04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] kod çözme hatası, MB 109 28'in kodu çözülürken hata oluştuğunda hata (td)

17: 47: 04.192 [ana] ERROR org.ffmpeg - [h264 @ 15AC7660] MB 60 10'un kodu çözülürken hata oluştu, bytestream (td)
17:47:04 .192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] MB kod çözme sırasında hata 14, bytestream (td)
17: 47: 04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] hata kodu çözülürken hata oluştu 101 9, bytestream (td)
17: 47: 04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660], MB 76 9'un kodu çözülürken hata oluştu, bytestream (td)
17: 47: 04.192 [main] ERROR org .ffmpeg - [h264 @ 15AC7660], MB 86 11'in kodu çözülürken hata oluştu, bytestream (td)
17: 47: 04.192 [main] ERROR org.ffmpeg - [H264 @ 15AC7660] hata ise kod çözme MB 60 24, Bytestream (td)

Bu kullandığım kod parçasıdır: sahip

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); 
      } 
     } 
    } 
} 

Alt Akış görüntülenmesi (düşük çözünürlük) iyi çalışıyor.

Maug ile Xuggler 5.4 kullanıyorum.

Muhtemelen bu sorun için basit bir çözüm var, ancak tüm interneti aradım ve bir tane bulamadım, bu yüzden herhangi bir yardımı takdir ediyorum. Teşekkür ederim!

GÜNCELLEME: Ben de Xuggler'a (ücretsiz!) Alternatiflerden memnun olurum.

+0

ben bir çözüm bulmuş olabilir: Yeni Thread mediaReader.readPacket() koyun. Ne yazık ki, bunu test edemem. – Wenonah

cevap

1

Bu hatayı TCP aktarımını zorlayarak bir HIKVision kamerayla düzelttim. TCP zorlamak için el IContainer oluşturmak ve bir IMetaData ayarı geçmesi gerekir:

IMetaData im = IMetaData.make(); 
    im.setValue("rtsp_transport", "tcp"); 

    IContainer streamContainer = IContainer.make();   
    int result = streamContainer.open("rtsp://user:[email protected]:554/Streaming/Channels/1", IContainer.Type.READ, null, true, false, im, null); 

    if (result < 0) { 
     // Error 
    } 

    IMediaReader mediaReader = ToolFactory.makeReader(streamContainer);