Estoy ejecutando un script por lotes para convertir archivos de video en Python, pero puede suceder que el archivo de salida ya exista, entonces, ¿hay alguna opción para evitar que ffmpeg me pregunte qué hacer si la salida ya existe? Quiero que se salte el proceso automáticamente.
Respuesta1
Desde elffmpeg
documentación:
-n
(global)
No sobrescriba los archivos de salida y salga inmediatamente si ya existe un archivo de salida específico.
Uso:
$ ffmpeg -n -i input output.mp4
…
File 'output.mp4' already exists. Exiting.
-n
es una opción global. Las opciones globales deben especificarse primero.- La opción opuesta es
-y
la que sobrescribirá automáticamente la salida sin preguntar.
Nota:Hay un error que hace -n
que no funcione en algunos casos, como con los muxers de imagen y tee. Ver informe de error#8492: tee muxer sobrescribe silenciosamente los archivos de salida. Hasta que se solucione este error, se recomienda realizar una prueba primero o utilizar su lenguaje de secuencias de comandos para verificar si el resultado existe.
Respuesta2
Idealmente, su secuencia de comandos debería verificar la existencia de los archivos de entrada y salida antes de llamar a ffmpeg para realizar su operación (potencialmente) peligrosa. Por peligroso me refiero a sobrescribir archivos existentes...
Una vez que haya determinado si el resultado ya existe, su script puede pasar al siguiente archivo para procesarlo.