У меня есть сотня визуально (!) поврежденных видеоклипов в формате H.264, «спрятанных» в большом наборе файлов. Поскольку они были повторно перекодированы, теперь все они технически в порядке и будут воспроизводиться нормально, но на каждом втором кадре будут мигать зеленым цветом.
Я заметил, что если я запускаю файл через QCTools, то могу идентифицировать их по значению «временных выбросов», поскольку каждый второй кадр резко отличается от предыдущего (из-за этих зеленых вспышек).
Я хотел бы указать QCTools на каждый файл в этом большом наборе, но только:
Я просмотрел справку версии CLI QCTools и не смог найти способ сделать это. Есть ли у кого-нибудь другие идеи по идентификации этих файлов? Есть ли еще способ сделать это с помощью QCTools?
Поскольку QCTools оборачивает ffmpeg/ffprobe и использует фильтр signalstats, вот как добиться того, чего я хотел:
ffprobe -f lavfi movie="Bad.mp4","signalstats=tout" -read_intervals %00:01 -show_frames
-show_frames выводит сводку кадров в STDOUT. Он содержит значение, которое мне нужно:
ТЕГ:lavfi.signalstats.TOUT=0
-read_intervals позволяет мне обрабатывать только небольшую часть файла, чтобы получить статистику сигналов только из небольшой части файла.
Мы также можем проверить, как это делает QCTools, просмотрев исходный код здесь: https://github.com/bavc/qctools/blob/master/Source/GUI/BigDisplay.cpp#L844-L845 .
Гьян
Майкл Либман
Тони Сепия
Джейсон Конрад