Actualmente estoy usando ffmpeg para dividir videos en 10
segmentos de segundos. He tomado dos enfoques, pero ninguno parece dar los resultados deseados. El enfoque número uno es usar el corte básico con las opciones -t y -ss para obtener los segmentos. Esto brinda segmentos casi precisos, pero tiene algunos problemas con los cuadros al final de algunos videos. La segunda opción es usar segmento: genial y rápido pero da segmentos de duración desigual. ¿Alguna idea de cómo obtener segmentos de la misma duración y sin problemas en los marcos? En otras palabras, si los reproduzco en una lista, debería reproducirse sin problemas.
manera general
ffmpeg – i input.mp4 -ss <start> -t <duration> -vcodec copy -acodec copy output%03d.mp4
Usando segmento
ffmpeg -i input.mp4 -c copy -map 0 -segment_time 8 -f segment output%03d.mp4
Es muy probable que el problema con los marcos sea el resultado de usar h264 y no volver a codificar el video. h264 generalmente no tiene fotogramas individuales (a menos que esté codificado con un perfil interno), sino grupos de fotogramas (GOP), ffmpeg cortará en una posición de fotograma clave, es decir. al final o al principio de un GOP. O no en el caso de su primer acercamiento, lo que le genera problemas con los GOP afectados.
El problema debe resolverse volviendo a codificar (-vcodec libx264 -preset lento) o si eso también produce errores al transcodificar a un códec sin pérdidas como jpeg2000 ( -vcodec libopenjpeg
), corte su video y luego codifique en h264 nuevamente (o cualquier otro códec que prefiera) .
dr jacky