我们正在使用JavaFx和JavaCv开发视频流应用, 在将Stream播放到gridPane(8X8)时,我们偶尔会遇到白屏问题并且它是连续的。 细节: -
sudo
我们在jdk-8中没有得到任何异常,但在jdk-9中我们得到以下异常。但我不确定它是否与白屏问题有关。
new Thread(new Runnable() {
@Override
public void run() {
frameGrabber = new FFmpegFrameGrabber(Url);
frameGrabber.setVideoOption("preset","ultrafast");
frameGrabber.setOption("rtsp_transport","tcp");
frameGrabber.setOption("stimeout" , "60000");
frameGrabber.setAudioChannels(0);
frameGrabber.setAudioCodec(0);
try {
frameGrabber.start();
} catch (Exception e) {
e.printStackTrace();
}
JavaFXFrameConverter jconverter=new JavaFXFrameConverter();//converting frame to javafx Image
while(true){
try {
Frame frame = frameGrabber.grab();
frame.clone();
if(frame.image!=null){
updateUi(im,jconverter.convert(frame));//im->ImageView
}
} catch (FrameGrabber.Exception e) {
}
}
}
}
}).start();
//updateui explanation
updateUi(ImageView im,Image image){
Platform.runLater(new Runnable() {
@Override
public void run() {
im.setImage(image);//here i m updating imageview
}
});
}