Я запускаю команду в FFMPEG, которая использует в качестве входного потока потоковое видео (IP-поток Boroscope) и преобразует его в вывод AVI.
Для этого я выполнил следующую команду:
ffmpeg -i tcp://192.168.10.123:7060 -c:v copy out.mov
Когда я запустил эту команду, в консоли появилось несколько ошибок:
https://prnt.sc/r3ranr
Даже с ошибками видео было закодировано.
В некоторых кадрах возникает странная проблема с качеством, возможно, из-за следующих ошибок:
https://prnt.sc/r3rb1h
Я не собираюсь решать эту проблему, все, что я хочу сделать, это отбросить эти поврежденные кадры через некоторый параметр в FFMPEG, потому что кадры с хорошим качеством уже достаточны для того, что мне нужно сделать.
Я пытался вместо преобразования вывод в файл .avi, получая только I-кадры с командой:
ffmpeg -i tcp://192.168.10.123:7060 "select='eq(pict_type,PICT_TYPE_I)'" -vsync vfr teste%04d.png
С помощью этой команды я смог засвидетельствовать, что ошибки были напрямую связаны с кадром с проблемами качества.
Я также выполнил команду, которая отбросить поврежденные кадры из ввода (или, по крайней мере, я думал, что эта команда будет делать):
ffmpeg -err_detect bitstream -err_detect buffer -err_detect explode -err_detect aggressive -fflags discardcorrupt -i tcp://192.168.10.123:7060 -r 1 -an -f image2 snapshot-%03d.jpg
Но это не сработало.
Впервые я использовать FFMPEG, и я не знаю эту платформу, и ее команды очень хорошо.
Итак, наконец, есть ЛЮБОЙ параметр в FFMPEG, который может заставить меня ОТКЛЮЧИТЬ все кадры, в которых произошли ошибки (любой тип ошибки) ?
Спасибо.