Marcar salida incompleta de ffmpeg

Marcar salida incompleta de ffmpeg

Tengo un script que usa FFMPEG para convertir muchos archivos. Si lo detengo, el archivo que estaba generando actualmente se mantendrá en un estado incompleto.

¿Hay alguna manera de que FFMPEG escriba en un archivo temporal (por ejemplo, FILENAME_incomplete) para poder identificar fácilmente las conversiones abortadas?

Respuesta1

Si lo cancela manualmente, entonces esto no se implementa ya que ffmpeg no tiene el concepto de progreso per se. No sabe que una salida tendrá una duración de 200 segundos y, por lo tanto, si se detiene a los 100 segundos, el procesamiento estará incompleto.

Si ffmpeg se detiene debido a un error, su código de salida será> 0. Entonces, puede detectarlo y eliminar el archivo de salida correspondiente.

Respuesta2

Bueno, leer el código de error es una forma, sin embargo, no es a prueba de fallas; por ejemplo, si el terminal está desactivado o algo así.

Puede nombrar su archivo de salida como Filename.incomplete.mpegen la línea posterior ffmpegen su script, verifique que el código de salida ( $?para bashscripts) sea 0, en cuyo caso se supone que ffmpegse completó normalmente y puede cambiar el nombre del archivo a Filename.mpeg.

También he notado que la salida incorrupta tiene una línea de tiempo corrupta. Probablemente haya formas de comprobar que el archivo de salida esté completo (usando ffprobequizás).

información relacionada