4

Я пытаюсь выполнить редактирование фильма в автоматическом режиме с помощью avconv. Это делается в два этапа:

  1. извлечь некоторые части входного фильма:
  2. объединить части, чтобы сформировать выходной фильм:

Я пробовал некоторые комбинации контейнеров и кодеков для промежуточных и выходных фильмов, но это всегда приводило к одной из следующих ситуаций:

  1. звук становится все более и более задержанным во время воспроизведения выходного фильма. Кажется, что каждый переход соединенных частей увеличивает задержку звука. Это происходит, например, со следующими форматами и кодеками:

    avconv -i input-movie.avi -ss $TIME_1 -vframes $NUMFRAMES_1 -f avi -q 1 -aq 1 -y movie-part1.avi
    avconv -i input-movie.avi -ss $TIME_2 -vframes $NUMFRAMES_2 -f avi -q 1 -aq 1 -y movie-part2.avi
    ...
    avconv -i input-movie.avi -ss $TIME_N -vframes $NUMFRAMES_N -f avi -q 1 -aq 1 -y movie-partN.avi
    
    avconv -i concat:movie-part1.avi|movie-part2.avi|...|movie-partN.avi -f avi -codec mpeg4 -q 1 -acodec libmp3lame -aq 1 -y output-movie.avi
    
  2. Аудио и видео в выходном фильме синхронизированы, но они длиннее, чем должны быть. В этой ситуации выходные данные avprobe -show_streams output-movie показывают продолжительность, а видео nb_frames длиннее, чем ожидалось, хотя при запуске avconv -i output-video -f image2 %06d.jpg ожидаемое количество файлов кадров jpg (ожидаемое количество кадров равно $NUMFRAMES_1 + $NUMFRAMES_2 + ... + $NUMFRAMES_N). Это происходит, например, со следующими форматами и кодеками:

    avconv -i input-movie.avi -ss $TIME_1 -vframes $NUMFRAMES_1 -f mpeg -q 1 -aq 1 -y movie-part1.mpeg
    avconv -i input-movie.avi -ss $TIME_2 -vframes $NUMFRAMES_2 -f mpeg -q 1 -aq 1 -y movie-part2.mpeg
    ...
    avconv -i input-movie.avi -ss $TIME_N -vframes $NUMFRAMES_N -f mpeg -q 1 -aq 1 -y movie-partN.mpeg
    
    avconv -i concat:movie-part1.mpeg|movie-part2.mpeg|...|movie-partN.mpeg -f avi -codec mpeg4 -q 1 -acodec libmp3lame -aq 1 -y output-movie.avi
    

Существует ли надежный / точный способ выполнения этих операций и получения результирующего фильма с синхронизацией аудио и видео с ожидаемым количеством кадров?

0