Nb: hice esta pregunta incorrectamente en stackoverflow
He usado la línea de comando ffmpeg que se muestra en esta pregunta para dividir archivos MKV perfectamente durante mucho tiempo. Ahora tengo algunos archivos MP4 que me gustaría dividir y al principio parecía funcionar, ¡pero cada segmento posterior después del primero no tiene el audio sincronizado! Y por varios segundos.
Intenté forzar fotogramas clave (consejos que encontré en otros sitios) y eso no ayudó.
Intenté un programa completamente diferente (Avidemux) y fue capaz de dividir el archivo con la salida adecuada, pero fue MUCHO más lento, y tardó más de 3 minutos frente a menos de 2 segundos con ffmpeg. Con Avidemux pude determinar la posición exacta del i-frame donde quería dividirme, así que pensando que tal vez ese era el problema de sincronización, probé esa posición exacta (es decir, 00: 12: 17.111 en lugar de 00:12:16 o lo que sea) pero eso tampoco ayudó.
¿Hay una opción que me falta con ffmpeg para sincronizar correctamente el audio con el video cuando se divide?
Solo una nota: estaba usando una versión 2013 de ffmpeg. Acabo de actualizar eso a la última versión 2.6 pero el problema persiste.
fuente
Respuestas:
De la documentación, el indicador -ss hace cosas diferentes dependiendo de dónde se encuentre en el comando
Entonces, según su propia respuesta, el primer comando aplica la lógica en la salida y el segundo comando lo aplica en la entrada
fuente
No estoy seguro de entender por qué, pero el problema era el orden de los parámetros.
En el ejemplo vinculado, el comando es el siguiente:
Por supuesto, estoy usando mp4 en lugar de avi, pero de lo contrario estaba ingresando el comando exactamente como se indica arriba y (con mp4) estaba obteniendo un resultado de audio no sincronizado. Accidentalmente tropecé con esta "solución" ... si en su lugar ingreso el comando de esta manera:
No consigo los problemas de sincronización. ¿Por qué? Ni idea. Pero funciona. Lo he intentado varias veces para confirmar ... hacer solo ese cambio en el orden de los parámetros corrige el problema.
fuente