¿Cómo extraer segmentos de video precisos en el tiempo con ffmpeg?

Esta no es una área de preguntas particularmente nueva por aquí, pero he intentado lo que se ha sugerido sin mucha suerte. Entonces, mi historia:

Tengo un fragmento de 15 segundos de video directo de la cámara. De la que quiero extraer un fragmento específico, que puedo identificar por tiempo de inicio y tiempo de parada, en segundos. Comencé intentando hacer lo que llamaré una "extracción de copia": para obtener los segundos 9 a 12,

ffmpeg -i test.mov -vcodec copy -acodec copy -ss 9 -to 12 test-copy.mov

No fue un mal comienzo, pero hay algunos cuadros negros al principio y al final del clip, que no puedo tener, tiene que ser una edición limpia del original. Entonces, traté de recodificar el original en un nuevo clip recortado:

ffmpeg -i test.mov -ss 00:00:09 -t 00:00:03 test-out.mov

Esto es mejor, pero no del todo: ya no hay cuadros negros al principio del clip, pero aún están ahí al final.

Después de explorar y leer más, sospeché que el problema es que ffmpeg tiene problemas para encontrar los puntos adecuados debido a la falta de fotogramas clave en el video original. Así que recodifiqué el video original para (presumiblemente) agregar fotogramas clave, de un par de maneras diferentes. Como quiero poder elegir el video en los límites de un segundo ("de 9 segundos a 12 segundos"), lo intenté, copiando varias sugerencias en la web,

ffmpeg -i test.mov -force_key_frames "expr:gte(t, n_forced)" test-forced.mp4

y

ffmpeg -i test.mov -g 1 test-g-inserted.mp4

(Los construí como mp4 basados ​​en algunos comentarios sobre la necesidad de un contenedor mp4 para respaldar la búsqueda de fotogramas clave, pero honestamente solo estoy pirateando aquí). Luego intenté la extracción como antes, pero en estos nuevos videos que probablemente ahora tienen fotogramas clave. en ellos. Sin suerte, ambos parecen ser lo mismo; El comienzo está bien, pero todavía hay marcos negros al final. (FWIW, tanto test-force.mp4 como test-g-insert.mp4 también tienen marcos negros al final.)

Entonces: todavía estoy atascado, y me gustaría no estarlo. ¿Alguna información sobre lo que estoy haciendo mal? Siento que estoy cerca, pero realmente necesito deshacerme de esos marcos negros que se arrastran ...

Respuestas a la pregunta(5)

Su respuesta a la pregunta