LINUX.ORG.RU

ffmpeg и битый поток

 ,


0

2

Привет тебе, уважаемый 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
(мол, прочитать первые 10 пакетов и всё), но это тоже не сработало.

Есть ли какие-то варианты заставить ffprobe прекратить анализ битого поток?

Ответ на: комментарий от YAR

Имеете в виду что-то вроде этого?

Можно и так, конечно, но я надеялся, что у ffprobe всё-таки где-то прикопана возможность принудительно отваливаться от битого потока...

Abyrvalg
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.