Не работает демультиплексор объединения FFmpeg: нет ошибки и нет вывода

#python #video #ffmpeg

#python #Видео #ffmpeg

Вопрос:

ПРОБЛЕМА: 3 файла одинакового формата (все экспортированные в пакетном режиме вместе, с идентичными настройками) объединены с использованием ffmpeg concat demuxer. Команда выполняется без ошибок (и никаких консольных распечаток тоже), но также нет выходного файла. Mac OS 10.15.6, версия ffmpeg 4.3.1

Объединенный текстовый файл «test.txt «следующим образом:

 file 'test_clip1.mp4'
file 'test_clip2.mp4'
file 'test_clip3.mp4'
  

Показания ffprobe каждого из этих файлов одинаковы. Аудиопоток отсутствует.

test_clip1.mp4:

 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 911 kb/s, 23.98 fps, 23.98 tbr, 19184 tbn, 47.96 tbc (default)
  

test_clip2.mp4

 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 628 kb/s, 23.98 fps, 23.98 tbr, 19184 tbn, 47.96 tbc (default)
  

test_clip3.mp4

 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 615 kb/s, 23.98 fps, 23.98 tbr, 19184 tbn, 47.96 tbc (default)
  

Команда FFmpeg:

 ffmpeg_cmd = ["ffmpeg",
              "-f",
              "concat",
              "-safe", "0",
              "-i", "test.txt",
              "test_concatenated.mp4"]
  

Комментарии:

1. Запустите с консоли и проверьте.

2. @Gyan, спасибо! Это сработало немедленно. Оказывается, это настоящая ошибка facepalm. Я забыл фактически выполнить подпроцесс. вызовите саму команду!

3. @ dv151 мог бы также дать этот ответ.

Ответ №1:

Ошибка Facepalm. Я забыл на самом деле ВЫЗВАТЬ ffmpeg_cmd в моем скрипте с помощью subprocess.call. Команда FF также отлично работала при вызове непосредственно с консоли. Спасибо @Gyan за совет.