2016-04-08 16 views
1

RTSP-StreamsとXugglerを表示するのが初めてです。する。Xugglerを使用してRTSPストリームを表示する:MB 34 60、bytestream(td)をデコード中にorg.ffmpeg - [h264 @ 15AC7660]エラーが発生しました

私は、Java-Swingのウィンドウで、私のIP-カメラのメインストリームを表示し、これを取得しようとしている:

enter image description here

私はまた、これらのエラーを取得:

13:21:45.941 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] MBをデコード中にエラーが発生しました8 7、bytestream(td)
17:47:04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] error MB34 60をデコードしながら、バイトストリーム(td)
17:47:04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] MB 8をデコード中にエラーが発生しました36、bytestream(td)
17:47:04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660]エンコード中にエラーが発生しました。MB 68 38、bytestream(td)
17:47:04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] MB 118 38、バイトストリーム(td)をデコード中にエラーが発生しました
17:47:04.192 [ main]エラーorg.ffmpeg - [h264 @ 15AC7660] MB 60 62、bytestream(td)
17:47:04.192 [main]エラーorg.ffmpeg - [h264 @ 15AC7660]のデコード中にエラーが発生しましたqscale diffのcabacデコードが失敗しました1 7
13:21:46.940 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] MBのデコード中にエラーが発生しました7、bytestream(td)
17:47:04.192 [main]エラーorg.ffmpeg - [h264 @ 15AC7660] MB 28 37、bytestream(td)
17:47:04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660]エンコード中にエラーが発生しました。MB 17 41、bytestream(td) 17:47:04.192 [ main]エラーMBeanをデコード中にエラーが発生しました。org.ffmpeg - [h264 @ 15AC7660] MB 53 32、bytestream(td)
17:47:04.192 [main] bytestream(td)
17:47:04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] MB 21のデコード時にエラーが発生しました。
17:47:0 4.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660]左のブロックが要求されたイントラモードで利用不可能になった0 35
13:21:49.902 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] 、bytestream(td)
17:47:04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] MB 17 21、bytestream(td)
17:47:04.192 [main]エラーorg.ffmpegをデコード中にエラーが発生しました。 - [h264 @ 15AC7660] MBをデコード中にエラーが発生しました10、bytestream(td)
17:47:04.192 [main]エラーMB1128、バイトストリームをデコード中にエラーが発生しました
17:47:04.192 [main]エラーorg.ffmpeg - [h264 @ 15AC7660] MB 60をデコード中にエラーが発生しました。bytestream(td)
17:47:04 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] MBをデコード中にエラーが発生しました14、bytestream(td)
17:47:04.192 [main]エラーMBeanをデコード中にエラーが発生しました101,9、bytestream(td)
17:47:04.192 [main] ERROR org.ffmpeg - [h264 @ 15AC7660] MB 76 9、bytestream(td) 17:47:04.192 [main] ERROR org .ffmpeg - [h264 @ 15AC7660]のデコード時にエラーが発生しました。MB 86 11、bytestream(td)
17:47:04.192 [main] ERROR org。ffmpegの - [H264 @ 15AC7660]エラーながら復号MB 60 24、バイトストリーム(TD)

これは私が使用するコードの一部である:有し

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

サブストリームの表示(低解像度)はうまくいきます。

私はMavenでXuggler 5.4を使用します。

おそらく、この問題の単純な解決策がありますが、インターネット全体を検索して見つけていないので、助けていただければ幸いです。ありがとうございました!

アップデート:Xugglerの代替案(無料!)にも満足しています。

+0

私は解決策を見つけたかもしれない。新しいスレッドでmediaReader.readPacket()を置きます。残念ながら、私はatmをテストすることはできません。 – Wenonah

答えて

1

このエラーは、TCP転送を強制してHIKVisionカメラで解決しました。 TCPを強制するには、手動でいるIContainerを作成し、IMetaDataの設定を渡す必要があります。

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); 
関連する問題