Как извлечь информацию о точках поиска MP4 из PHP / FFmpeg / MP4Box / Anything?

Можно ли извлечь точки поиска / ключевые кадры из файла MP4 следующим образом:

Ключевой кадр — Диапазон времени (в секундах) — Смещение (в байтах)

Пример:
0 — 0с — 77262

1 — 0,5 с — 144183

2 — 1 с — 222965

3 — 1,5 с — 293303

4 — 2 с — 362199

5 — 2,5 с — 431178

Заранее спасибо.

0

Решение

Ты можешь использовать ffprobe, Возможно, что-то вроде этого:

ffprobe -show_frames -select_streams v:0 -show_entries frame=key_frame,coded_picture_number,pkt_pts_time,pkt_pos input.mp4 | grep -A 3 "key_frame=1"

Результаты в:

key_frame=1
pkt_pts_time=0.000000
pkt_pos=48
coded_picture_number=0
--
key_frame=1
pkt_pts_time=10.000000
pkt_pos=47130
coded_picture_number=250
--
key_frame=1
pkt_pts_time=20.000000
pkt_pos=92713
coded_picture_number=500
--
key_frame=1
pkt_pts_time=30.000000
pkt_pos=138159
coded_picture_number=750
  • key_frame=1 указывает, что конкретный кадр является ключевым кадром.

  • Возможно, вам придется выбрать section_entries если этот пример не дает вам именно то, что вы хотите. Увидеть man ffprobe,

  • Увидеть -print_format возможность изменить выходной формат печати (по умолчанию, компактный, CSV, плоский, INI, JSON, XML). Возможно, вам придется выполнить дополнительную обработку, чтобы получить то, что вы хотите.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]