Estoy usando ffmpeg para extraer imágenes fijas de un video. Desde un momento dado, para una duración dada usando los parámetros -ss y -t.
ffmpeg -ss 00:10:01 -t 2 -i /Volumes/OO_8/VideoSource.mkv -qscale:v 2 -start_number /Users/Olivier/Pictures/ScreenCaptures/ViewsOfNature-%4d.jpeg
(Comienzo con la marca de tiempo / duración primero para que ffmpeg comience el demux en ese punto).
Sin embargo, quiero usar varios puntos de partida (por ejemplo, a las 00:01:12 in, extraer las imágenes durante 2 segundos; a las 00:11:00 minutos, extraer las imágenes durante 4 segundos; etc.) que puedo hacer esto manualmente, reemplazando la marca de tiempo y la duración, y moviendo las imágenes de salida cada vez, pero idealmente quiero ingresar las marcas de tiempo y las duraciones de una vez, y no sobrescribir las imágenes de salida. ¿Hay alguna forma de hacer esto? ¿Quizás con un archivo externo con las marcas de tiempo / duraciones?
Soy nuevo en esto y prefiero hacerlo solo con ffmpeg, no usar bash.
00:01:02.01
(el último es el marco) y eso pareció resolverlo, pero aún a veces se rechaza una marca de tiempo. Jugar con los valores parece resolverse (aumentando o disminuyendo) parece resolverlo. Sospecho que es con ffmpeg que no encuentra esa posición en el archivo fuente. He intentado posiciones aleatorias hasta ahora. Intentaré con las posiciones reales que necesito y volveré sobre esto.HH:MM:SS.msec
y eso siempre debería funcionar. Tenga en cuenta que no son marcos. Cuando no encuentra un marco a la hora especificada, tomará el siguiente.00:01:02.000 1.5 00:10:06.000 2 00:12:01.030 2 00:16:06.050 1
esto funciona. (El valor de 1.5 para la duración de la última línea Probé más tarde, que también funciona.)