Проблемы с таймаутом, когда нет источника видео с форматом RTP - PullRequest
0 голосов
/ 15 февраля 2019

У меня проблемы с таймаутом, когда нет источника видео в формате RTP.

Если я выполняю код, а видео нет, программа все время ожидает в функции grabber.Start().

FFmpegFrameGrabber grabber;
try{
    Frame img;        
    grabber = new FFmpegFrameGrabber("rtp://" + ip + ":1234");
    grabber.setOption("stimeout", String.valueOf(5*1000000));
    grabber.Start ();
    img = grabber.grab();
    Java2DFrameConverter converter = new Java2DFrameConverter();
BufferedImage bufferedImag;
bufferedImag = converter.convert(img);
    grabber.stop();
}catch (FrameGrabber.Exception ex) {
    throw new IOException("Could not open video file ", ex);
}

Как я уже говорил, когда видео существует, все работает отлично, но при отсутствии источника видео программа остается в grabber.start (), и я не могу выбраться оттуда.

Мне бы хотелось, чтобы по прошествии 5 секунд генерировалось исключение и выход из функции grabber.satart().Я использую grabber.setOption("stimeout", String.valueOf (5*1000000)); t, чтобы управлять им, но не работаю в RTP.

Я проверил работу с источником видео RTSP, и код работает отлично, то есть через 5 секунд он генерирует исключение ...Но мне нужно контролировать источник видео RTP.

...