[FFmpeg-trac] #4290(undetermined:new): Don't abort when existing output file is detected; instead skip to next output file

FFmpeg trac at avcodec.org
Fri Jan 30 11:29:34 CET 2015


#4290: Don't abort when existing output file is detected; instead skip to next
output file
-------------------------------------+-------------------------------------
             Reporter:  Psychonaut   |                     Type:
               Status:  new          |  enhancement
            Component:               |                 Priority:  normal
  undetermined                       |                  Version:  git-
             Keywords:               |  master
             Blocking:               |               Blocked By:
Analyzed by developer:  0            |  Reproduced by developer:  0
-------------------------------------+-------------------------------------
 '''Summary of the bug:''' By default, FFmpeg prompts the user when it
 detects an existing output file.  If the user answers no, the program
 aborts.  (The {{{-n}}} option has the same effect.)  This is inconvenient
 when the command line contains several output files, some of which exist
 and some of which do not, and the user simply wants to create all non-
 existing output files.  This is a very common use case when, for example,
 you are splitting a huge input file into several output files, the process
 gets interrupted partway through, and you want to resume it.

 '''How to reproduce:'''
 {{{
 $ ls *.mkv
 output1.mkv
 $ ffmpeg -i input.avi -ss 2.80813 -to 224.985 -acodec flac -c:v libx264 -n
 output1.mkv -ss 741.965 -to 958.609 -acodec flac -c:v libx264 -n
 output2.mkv
 ffmpeg version N-43893-ga73c411-   http://johnvansickle.com/ffmpeg/
 Copyright (c) 2000-2015 the FFmpeg developers
   built on Jan 30 2015 01:32:44 with gcc 4.9.2 (Debian 4.9.2-10)
   configuration: --enable-gpl --enable-version3 --disable-shared
 --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-
 libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-
 libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig
 --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb
 --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-
 gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls
 --enable-libvidstab --cc=gcc-4.9
   libavutil      54. 18.100 / 54. 18.100
   libavcodec     56. 21.101 / 56. 21.101
   libavformat    56. 19.100 / 56. 19.100
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5.  9.101 /  5.  9.101
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
 Guessed Channel Layout for  Input Stream #0.1 : stereo
 Input #0, avi, from 'input.avi':
   Metadata:
     encoder         : Lavf56.4.101
   Duration: 02:42:40.58, start: 0.000000, bitrate: 16035 kb/s
     Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), bgr0, 384x256, 14614
 kb/s, 59.83 fps, 59.83 tbr, 59.83 tbn, 59.83 tbc
     Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2
 channels, s16, 1411 kb/s
 File 'output1.mkv' already exists. Exiting.
 }}}
 Above is a minimal example with just two output files.  The problem is, of
 course, more serious when the command line contains dozens of output
 files.

 '''Suggested fix:''' In interactive mode, when asking the user if a given
 output file is to be overwritten, there should be three choices: (y)es,
 (n)o, and (a)bort.  (N)o should simply skip the current output file, and
 processing should continue with the next output file on the command line.
 (This should be the default option.)  (A)bort should cause FFmpeg to
 immediately quit.  The {{{-n}}} command-line option should have the same
 effect as the user typing (n)o to every prompt.  If there is any use case
 for the old behaviour, then another command line option such as
 {{{-abort}}} could be added which has the same effect as the user typing
 (a)bort to every prompt.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4290>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list