Fiz um programa para pegar um video de um link RTSP (camera ip).
O código utiliza a biblioteca JavaCV, e é um exemplo igual este abaixo:
public static void main(String[] args){
FrameGrabber frameGrabber = new
FFmpegFrameGrabber("rtsp://ip:port/login&password");
CanvasFrame canvasFrame = new CanvasFrame("Test");
frameGrabber.start();
for(int i = 0; i<frameGrabber.getLengthInFrames(); i++){
canvasFrame.showImage(frameGrabber.grab());
}
frameGrabber.flush();
canvasFrame.dispose();
}
O programa está funcionando normalmente, desde que o link não esteja indisponível ou incorreto.
Se o link da camera RTSP estiver indisponível ou estiver com um link incorreto, o programa não retorna da função
frameGrabber.start();
Ele entra nesta função e trava, não faz mais nada, não retorna erro e não da timeout.
Já procurei varias formas de validar o link antes chamar esta função e não encontrei como.
Usando protocolo http ou buscando um video da máquina funciona o retorno quando vc passa ip ou caminho incorreto apenas no rtsp não funciona.