#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 за совет.