Привет тебе, уважаемый All!
Есть пачка мультикаст-потоков. Собираю статистику по ним, прогоняя в цикле ffprobe. Естественно, для получения адекватной картины нужно, чтобы ffprobe отрабатывал не мешкая, без пауз и зависонов.
Как выяснилось, в ходе работы ffprobe сталкивается с тремя ситуациями.
Первая - штатная: поток есть, и он нормальный. ffprobe тратит несколько секунд на анализ, после чего выплёвывает свои данные и завершается.
Вторая - нештатная: потока внезапно нет. Чтобы ffprobe не ждал его часами, используем опцию timeout, которая присобачивается к URL, напр., отвал при таймауте 3 секунды:
ffprobe -hide_banner udp://235.5.2.50:1234?timeout=3000000
Третья - тоже нештатная: поток есть, но он не валидный. в нём вместо мультимедийных дорожек какая-то хурма. Вот тут я совсем не понял, как заставить ffprobe отваливаться, а не пытаться анализировать этот поток целую вечность. Опция timeout не срабатывает, и это выглядит логичным: поток ведь имеется! Пытался я добавить опцию типа такой:
-read_intervals 0%+#10
Есть ли какие-то варианты заставить ffprobe прекратить анализ битого поток?