Я пытаюсь конвертировать видео (.ts) и делать снимки (.jpeg) из другого видео (.mp4). Преобразование работает хорошо для них обоих, но имя снимка snap%.jpeg не изменяется как snap1.jpeg, snap2.jpeg как это объясняется в документации ffmpeg: image2

Команда:

ffmpeg -loglevel 99 -i "C:\path\original.mp4" -an -sn -c:v libx264 -preset slow -crf 22 -r 25 -f segment -segment_format ts -segment_time 10 -strftime 1 "C:\path\result\output-%H-%M-%S.ts" -vf fps=5 -q:v 1 -f image2 -updatefirst 1 "C:\path\result\snap%d.jpeg"

У меня нет ошибок даже с высоким уровнем логирования .. Я пытался удалить кавычки тоже, чтобы положить %03d или другие, без изменений ..

Я работаю на Windows 8.1.

версия ffmpeg:

ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enabl
e-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopu
s --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-
libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-z
lib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --e
nable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100

Я никогда не спрашивал бы сообщество, если бы я не искал в Интернете долгое время, поэтому мне действительно нужна ваша помощь. Благодарю.

1 ответ1

1

Две вещи:

1) при помощи -updatefirst 1 создается и обновляется только один файл изображения. Убери это.

2) snap%.jpeg не указывает шаблон, поскольку отсутствует переменная раскрытия. Это должно быть snap%d.jpeg

(Кроме того, если формат сегмента установлен в mkv , это также должно быть расширение).

ffmpeg -loglevel 99 -i "C:\path\original.mp4" -an -sn -c:v libx264 -preset slow -crf 22 -r 25 -f segment -segment_format mkv -segment_time 10 -strftime 1 "C:\path\result\output-%H-%M-%S.mkv" -vf fps=5 -q:v 1 -f image2 "C:\path\result\snap%d.jpeg"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .