Может ли FFMPEG извлекать изображения из видео с отметками времени?

Я пытаюсь извлечь кадры из видео и получить точные метки времени каждого кадра, извлеченного (на картинке).

Чтобы извлечь кадры из видео без временных меток, я использую этот синтаксис:

  • Резервное / автономное потоковое изображение с ffmpeg / nginx RTMP
  • FFmpeg аудио и видео не синхронизированы
  • Преобразование AVI в MP4 с сохранением того же качества
  • Файл MP4 игнорирует настройки субтитров в VLC
  • Преобразование ffmpeg в MP4 не работает
  • FFmpeg в партии для цикла для MP3 Продолжительность
  • ffmpeg -i video.wmv -r 0.08 -f image2 -s 512x384 video2%%4d.jpg 

  • Создайте файл folder.jpeg для видео из пакетного скрипта
  • Фильтр выбора ffmpeg генерирует нежелательные черные рамки
  • Почему первое изображение меняется так быстро при создании видео с изображений через FFmpeg?
  • Какую команду FFmpeg я использую для перехода через FLV в MP4?
  • FFmpeg - Обрезка и наложение - Заморозить рамку
  • Как ffmpeg определяет отдельные битрейты потока?
  • One Solution collect form web for “Может ли FFMPEG извлекать изображения из видео с отметками времени?”

    Вы можете сделать это с drawtext фильтра drawtext . Ваша сборка должна быть скомпилирована с помощью --enable-libfreetype . Большинство статических сборников ffmpeg для Windows и Linux, похоже, поддерживают этот фильтр. См. Страницу загрузки FFmpeg для ссылок.

    отметка времени

    продолжительность

    продолжительность

     ffmpeg -i input -vf "drawtext=fontfile=/usr/share/fonts/TTF/Vera.ttf: text='%{pts\:hms}': x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" image%03d.png 

    Текущее время

    Текущее время

     ffmpeg -i input -vf "drawtext=fontfile=/usr/share/fonts/TTF/Vera.ttf: text='%{localtime}': x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" image%03d.png 

    таймкод

    таймкод

    PAL 25 кадров в секунду без капли:

     ffmpeg -i input -vf "drawtext=fontfile=/usr/share/fonts/TTF/Vera.ttf: timecode='00\:00\:00\:00': r=25: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" image%03d.png 

    Это адаптировано из примера Burnt in Timecode в FFmpeg Wiki . Параметр r устанавливает частоту кадров таймкода.

    Давайте будем гением компьютера.