Tengo cientos de clips de video corruptos visualmente (!) en H.264 'escondidos' dentro de un conjunto más grande de archivos. Como se han vuelto a transcodificar, ahora todos están técnicamente bien y se reproducirán bien, pero tendrán un destello verde en cada fotograma.
He notado que si ejecuto un archivo a través de QCTools, puedo identificarlos por el valor de 'valores atípicos temporales', ya que cada otro cuadro es drásticamente diferente del anterior (debido a esos destellos verdes).
Me gustaría señalar QCTools a cada archivo en este gran conjunto, pero solo:
Revisé la ayuda de la versión CLI de QCTools y no pude encontrar una manera de hacerlo. ¿Alguien tiene alguna otra idea sobre cómo identificar estos archivos? ¿Todavía hay una manera de hacer esto con QCTools?
Dado que QCTools envuelve ffmpeg/ffprobe y usa el filtro signalstats, he aquí cómo lograr lo que quería:
ffprobe -f lavfi movie="Bad.mp4","signalstats=tout" -read_intervals %00:01 -show_frames
-show_frames genera el resumen del cuadro en STDOUT. Contiene el valor que necesito:
ETIQUETA:lavfi.signalstats.TOUT=0
-read_intervals me permite procesar solo una pequeña parte del archivo para obtener estadísticas de señal de solo una pequeña parte del archivo
También podemos comprobar cómo lo hace QCTools mirando el código fuente aquí: https://github.com/bavc/qctools/blob/master/Source/GUI/BigDisplay.cpp#L844-L845
gian
Michael Liebmann
tony sepia
jason conrado